@@ -141,59 +141,24 @@ jobs:
141
141
- run : cargo update -Z minimal-versions
142
142
- run : cargo build --workspace --all-features
143
143
144
- thumbv6m :
145
- name : cargo build --target thumbv6m-none-eabi
146
- runs-on : ubuntu-latest
147
- steps :
148
- - uses : actions/checkout@v2
149
- - name : Install Rust
150
- run : rustup update nightly && rustup default nightly
151
- - run : rustup target add thumbv6m-none-eabi
152
- - run : cargo install cargo-hack
153
- # remove dev-dependencies to avoid https://github.com/rust-lang/cargo/issues/4866
154
- - run : cargo hack --remove-dev-deps --workspace
155
- - run : |
156
- cargo build --manifest-path futures/Cargo.toml \
157
- --target thumbv6m-none-eabi \
158
- --no-default-features \
159
- --features unstable,cfg-target-has-atomic
160
- - run : |
161
- cargo build --manifest-path futures/Cargo.toml \
162
- --target thumbv6m-none-eabi \
163
- --no-default-features \
164
- --features alloc,unstable,cfg-target-has-atomic
165
- - run : |
166
- cargo build --manifest-path futures/Cargo.toml \
167
- --target thumbv6m-none-eabi \
168
- --no-default-features \
169
- --features async-await,unstable,cfg-target-has-atomic
170
-
171
- thumbv7m :
172
- name : cargo build --target thumbv7m-none-eabi
144
+ no-std :
145
+ name : cargo build --target ${{ matrix.target }}
146
+ strategy :
147
+ matrix :
148
+ target :
149
+ - thumbv6m-none-eabi
150
+ - thumbv7m-none-eabi
173
151
runs-on : ubuntu-latest
174
152
steps :
175
153
- uses : actions/checkout@v2
176
154
- name : Install Rust
177
155
run : rustup update nightly && rustup default nightly
178
- - run : rustup target add thumbv7m-none-eabi
156
+ - run : rustup target add ${{ matrix.target }}
179
157
- run : cargo install cargo-hack
180
- # remove dev-dependencies to avoid https://github.com/rust-lang/cargo/issues/4866
181
- - run : cargo hack --remove-dev-deps --workspace
182
- - run : |
183
- cargo build --manifest-path futures/Cargo.toml \
184
- --target thumbv7m-none-eabi \
185
- --no-default-features \
186
- --features unstable,cfg-target-has-atomic
187
- - run : |
188
- cargo build --manifest-path futures/Cargo.toml \
189
- --target thumbv7m-none-eabi \
190
- --no-default-features \
191
- --features alloc
192
158
- run : |
193
- cargo build --manifest-path futures/Cargo.toml \
194
- --target thumbv7m-none-eabi \
195
- --no-default-features \
196
- --features async-await
159
+ cargo hack build --manifest-path futures/tests/no-std/Cargo.toml \
160
+ --each-feature --optional-deps \
161
+ --target ${{ matrix.target }}
197
162
198
163
bench :
199
164
name : cargo bench
@@ -226,6 +191,19 @@ jobs:
226
191
--workspace --exclude futures-test \
227
192
--features unstable --ignore-unknown-features
228
193
194
+ # When this job failed, run ci/no_atomic_cas.sh and commit result changes.
195
+ # TODO(taiki-e): Ideally, this should be automated using a bot that creates
196
+ # PR when failed, but there is no bandwidth to implement it
197
+ # right now...
198
+ codegen :
199
+ runs-on : ubuntu-latest
200
+ steps :
201
+ - uses : actions/checkout@v2
202
+ - name : Install Rust
203
+ run : rustup update nightly && rustup default nightly
204
+ - run : ci/no_atomic_cas.sh
205
+ - run : git diff --exit-code
206
+
229
207
san :
230
208
name : cargo test -Z sanitizer=${{ matrix.sanitizer }}
231
209
strategy :
0 commit comments