@@ -127,59 +127,24 @@ jobs:
127127 - run : cargo update -Z minimal-versions
128128 - run : cargo build --workspace --all-features
129129
130- thumbv6m :
131- name : cargo build --target thumbv6m-none-eabi
132- runs-on : ubuntu-latest
133- steps :
134- - uses : actions/checkout@v2
135- - name : Install Rust
136- run : rustup update nightly && rustup default nightly
137- - run : rustup target add thumbv6m-none-eabi
138- - run : cargo install cargo-hack
139- # remove dev-dependencies to avoid https://github.com/rust-lang/cargo/issues/4866
140- - run : cargo hack --remove-dev-deps --workspace
141- - run : |
142- cargo build --manifest-path futures/Cargo.toml \
143- --target thumbv6m-none-eabi \
144- --no-default-features \
145- --features unstable,cfg-target-has-atomic
146- - run : |
147- cargo build --manifest-path futures/Cargo.toml \
148- --target thumbv6m-none-eabi \
149- --no-default-features \
150- --features alloc,unstable,cfg-target-has-atomic
151- - run : |
152- cargo build --manifest-path futures/Cargo.toml \
153- --target thumbv6m-none-eabi \
154- --no-default-features \
155- --features async-await,unstable,cfg-target-has-atomic
156-
157- thumbv7m :
158- name : cargo build --target thumbv7m-none-eabi
130+ no-std :
131+ name : cargo build --target ${{ matrix.target }}
132+ strategy :
133+ matrix :
134+ target :
135+ - thumbv6m-none-eabi
136+ - thumbv7m-none-eabi
159137 runs-on : ubuntu-latest
160138 steps :
161139 - uses : actions/checkout@v2
162140 - name : Install Rust
163141 run : rustup update nightly && rustup default nightly
164- - run : rustup target add thumbv7m-none-eabi
142+ - run : rustup target add ${{ matrix.target }}
165143 - run : cargo install cargo-hack
166- # remove dev-dependencies to avoid https://github.com/rust-lang/cargo/issues/4866
167- - run : cargo hack --remove-dev-deps --workspace
168- - run : |
169- cargo build --manifest-path futures/Cargo.toml \
170- --target thumbv7m-none-eabi \
171- --no-default-features \
172- --features unstable,cfg-target-has-atomic
173- - run : |
174- cargo build --manifest-path futures/Cargo.toml \
175- --target thumbv7m-none-eabi \
176- --no-default-features \
177- --features alloc
178144 - run : |
179- cargo build --manifest-path futures/Cargo.toml \
180- --target thumbv7m-none-eabi \
181- --no-default-features \
182- --features async-await
145+ cargo hack build --manifest-path futures/tests/no-std/Cargo.toml \
146+ --each-feature --optional-deps \
147+ --target ${{ matrix.target }}
183148
184149 bench :
185150 name : cargo bench
@@ -212,6 +177,19 @@ jobs:
212177 --workspace --exclude futures-test \
213178 --features unstable --ignore-unknown-features
214179
180+ # When this job failed, run ci/no_atomic_cas.sh and commit result changes.
181+ # TODO(taiki-e): Ideally, this should be automated using a bot that creates
182+ # PR when failed, but there is no bandwidth to implement it
183+ # right now...
184+ codegen :
185+ runs-on : ubuntu-latest
186+ steps :
187+ - uses : actions/checkout@v2
188+ - name : Install Rust
189+ run : rustup update nightly && rustup default nightly
190+ - run : ci/no_atomic_cas.sh
191+ - run : git diff --exit-code
192+
215193 san :
216194 name : cargo test -Z sanitizer=${{ matrix.sanitizer }}
217195 strategy :
0 commit comments