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