@@ -141,59 +141,24 @@ jobs:
141141 - run : cargo update -Z minimal-versions
142142 - run : cargo build --workspace --all-features
143143
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
173151 runs-on : ubuntu-latest
174152 steps :
175153 - uses : actions/checkout@v2
176154 - name : Install Rust
177155 run : rustup update nightly && rustup default nightly
178- - run : rustup target add thumbv7m-none-eabi
156+ - run : rustup target add ${{ matrix.target }}
179157 - 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
192158 - 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 }}
197162
198163 bench :
199164 name : cargo bench
@@ -226,6 +191,19 @@ jobs:
226191 --workspace --exclude futures-test \
227192 --features unstable --ignore-unknown-features
228193
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+
229207 san :
230208 name : cargo test -Z sanitizer=${{ matrix.sanitizer }}
231209 strategy :
0 commit comments