1
1
version : 2.1
2
2
orbs :
3
- # codecov: codecov/codecov@3.2.4
4
- rust :
circleci/[email protected] .0
3
+ # codecov: codecov/codecov@3.3.0
4
+ rust :
circleci/[email protected] .1
5
5
6
6
jobs :
7
7
build-and-test :
8
8
parameters :
9
9
rust-version :
10
10
type : string
11
- default : " 1.69 .0"
11
+ default : " 1.75 .0"
12
12
debian-version :
13
13
type : string
14
- default : " buster "
14
+ default : " bookworm "
15
15
rust-features :
16
16
type : string
17
17
default : " --all-targets"
49
49
type : string
50
50
debian-version :
51
51
type : string
52
- default : " bullseye "
52
+ default : " bookworm "
53
53
machine : true
54
54
steps :
55
55
- checkout
@@ -65,54 +65,92 @@ jobs:
65
65
sh -c 'cargo test -q --no-run && kcov-rust && upload-kcov-results-to-codecov'
66
66
- store_artifacts :
67
67
path : target/cov
68
- # - store_test_results:
69
- # path: target
70
68
71
69
lint-check :
72
70
docker :
73
- - image : cimg/rust:1.69
71
+ - image : cimg/rust:1.75
74
72
steps :
75
73
- checkout
74
+ - run :
75
+ name : Generate cargo.lock
76
+ command : cargo generate-lockfile
76
77
- rust/build :
77
78
with_cache : false
78
79
# - rust/format
79
- # - rust/clippy
80
+ - rust/clippy
80
81
- rust/test
81
82
- run :
82
83
name : Build examples
83
84
command : cargo build --examples
84
85
86
+ cargo-semver-check :
87
+ docker :
88
+ - image : " akubera/rust:stable"
89
+ steps :
90
+ - checkout
91
+ - run :
92
+ name : Tool Versions
93
+ command : >
94
+ rustc --version
95
+ && cargo --version
96
+ && cargo semver-checks --version
97
+ - run :
98
+ name : cargo semver-checks
99
+ command : cargo semver-checks --verbose
100
+ - run :
101
+ name : cargo semver-checks (no-std)
102
+ command : cargo semver-checks --verbose --only-explicit-features
103
+
85
104
workflows :
86
105
version : 2
87
106
cargo:build-and-test :
88
107
jobs :
108
+ - rust/lint-test-build :
109
+ name : " lint-test-build:stable"
110
+ release : true
111
+ version : " 1.75"
112
+ pre-steps :
113
+ - checkout
114
+ - run :
115
+ command : cargo generate-lockfile
116
+ - rust/lint-test-build :
117
+ name : " lint-test-build:1.56"
118
+ release : true
119
+ version : " 1.56"
120
+
89
121
- lint-check
122
+
123
+ - build-and-test :
124
+ name : build-and-test:MSRV
125
+ rust-version : " 1.43.1"
126
+ debian-version : " buster"
127
+
90
128
- build-and-test :
91
- matrix :
92
- parameters :
93
- rust-version :
94
- - " 1.43.1"
95
- - " 1.54.0"
129
+ name : build-and-test:MSRV:serde
130
+ rust-version : " 1.43.1"
131
+ debian-version : " buster"
132
+ rust-features : " --all-targets --features='serde'"
96
133
97
134
- build-and-test :
98
- name : build-and-test:latest
99
- debian-version : " bullseye"
135
+ name : build-and-test:latest
100
136
101
137
- build-and-test :
102
- matrix :
103
- parameters :
104
- rust-version :
105
- - " 1.43.1"
106
- - " 1.69.0"
107
- rust-features :
108
- - " --features='serde'"
109
- - " --features='serde,string-only'"
138
+ name : build-and-test:latest:serde
139
+ rust-features : " --all-targets --features='serde'"
110
140
111
141
- build-and-test :
112
- name : build-and-test:no-default-features
113
- rust-features : " --no-default-features"
142
+ name : build-and-test:no_std
143
+ rust-features : " --no-default-features"
144
+
145
+ - build-and-test :
146
+ name : build-and-test:serde+no_std
147
+ rust-features : " --no-default-features --features='serde'"
148
+
149
+ - cargo-semver-check :
150
+ requires :
151
+ - build-and-test:latest:serde
114
152
115
153
- upload-coverage :
116
- rust-version : " 1.69 .0"
154
+ rust-version : " 1.75 .0"
117
155
requires :
118
- - build-and-test:latest
156
+ - build-and-test:latest:serde
0 commit comments