@@ -171,36 +171,19 @@ jobs:
171
171
runs-on : ubuntu-latest
172
172
strategy :
173
173
fail-fast : false
174
- # TODO: Sadly, we cant configure target-feature in a meaningful way
175
- # because `cross` doesn't tell qemu to enable any non-default cpu
176
- # features, nor does it give us a way to do so.
177
- #
178
- # Ultimately, we'd like to do something like [rust-lang/stdarch][stdarch].
179
- # This is a lot more complex... but in practice it's likely that we can just
180
- # snarf the docker config from around [here][1000-dockerfiles].
181
- #
182
- # [stdarch]: https://github.com/rust-lang/stdarch/blob/a5db4eaf/.github/workflows/main.yml#L67
183
- # [1000-dockerfiles]: https://github.com/rust-lang/stdarch/tree/a5db4eaf/ci/docker
184
174
185
175
matrix :
186
176
target :
187
- - i586-unknown-linux-gnu
188
- # 32-bit arm has a few idiosyncracies like having subnormal flushing
189
- # to zero on by default. Ideally we'd set
190
177
- armv7-unknown-linux-gnueabihf
191
178
- aarch64-unknown-linux-gnu
192
- # Note: The issue above means neither of these mips targets will use
193
- # MSA (mips simd) but MIPS uses a nonstandard binary representation
194
- # for NaNs which makes it worth testing on despite that.
179
+ - powerpc-unknown-linux-gnu
180
+ - powerpc64-unknown-linux-gnu
181
+ - powerpc64le-unknown-linux-gnu
182
+ - riscv64gc-unknown-linux-gnu
183
+ # MIPS uses a nonstandard binary representation for NaNs which makes it worth testing
195
184
# - mips-unknown-linux-gnu
196
185
# - mips64-unknown-linux-gnuabi64
197
- - riscv64gc-unknown-linux-gnu
198
- # TODO this test works, but it appears to time out
199
- # - powerpc-unknown-linux-gnu
200
- # TODO this test is broken, but it appears to be a problem with QEMU, not us.
201
- # - powerpc64le-unknown-linux-gnu
202
- # TODO enable this once a new version of cross is released
203
- # - powerpc64-unknown-linux-gnu
186
+ target_feature : ["", "+native"]
204
187
205
188
steps :
206
189
- uses : actions/checkout@v2
@@ -217,11 +200,14 @@ jobs:
217
200
# being part of the tarball means we can't just use the download/latest
218
201
# URL :(
219
202
run : |
220
- CROSS_URL=https://github.com/rust-embedded /cross/releases/download/v0.2.1 /cross-v0.2.1 -x86_64-unknown-linux-gnu.tar.gz
203
+ CROSS_URL=https://github.com/cross-rs /cross/releases/download/v0.2.5 /cross-x86_64-unknown-linux-gnu.tar.gz
221
204
mkdir -p "$HOME/.bin"
222
205
curl -sfSL --retry-delay 10 --retry 5 "${CROSS_URL}" | tar zxf - -C "$HOME/.bin"
223
206
echo "$HOME/.bin" >> $GITHUB_PATH
224
207
208
+ - name : Configure RUSTFLAGS
209
+ run : echo "-Ctarget-feature=${{ matrix.target_feature }}" >> $GITHUB_ENV
210
+
225
211
- name : Test (debug)
226
212
run : cross test --verbose --target=${{ matrix.target }}
227
213
0 commit comments