alexcrichton opened PR #2939 from less-release-test
to main
:
This commit attempts to slim down our CI (more from #2933) by removing
testing both in debug and release mode. I can't actually recall a
concrete issue that this has turned up on CI itself, and otherwise we're
spending quite a lot of time building all of the dev-dependencies in
release mode when testing.Additionally it removes testing for nightly/beta channels of Rust. One
of the main benefits of this, staying on top of breakage, is already
moot because we pin to a nightly anyway. We have a few nightly
references elsewhere in CI (fuzzing/docs) so we can largely rely on that
(and upstream testing with rust-lang/rust). We in general shouldn't need
to do nightly/beta testing on all builds.The release builders were actually the only location that MinGW and
AArch64 was tested however. This means that the old nightly/beta
builders are now replaced with AArch64 and MinGW builders. Overall, the
changes made to CI here are:
Upgrade to QEMU 6.0.0. I thought this would make aarch64 emulation
faster, but it didn't. Seems good to stay up to date though.Replace nightly/beta testing in debug mode with MinGW and AArch64 testing.
Use
-g0
for C compilation on MinGW because otherwisegcc
as used
on CI generates an ICE (!!)Exclude
wasi-crypto
from testing. We already exclude
wasmtime-wasi-crypto
and it was an accident we were testing the
wasi-crypto
crate (which isn't even part of this workspace).Remove testing DWARF on the old backend step, which nowadays didn't
actually do that.Remove testing on release builders, making then purely tasked with
release builds, nothing else.Rename
QEMU_VERSION
toQEMU_BUILD_VERSION
so qemu doesn't just
immediately exit after printing its version.Timing wise the release builds are ~20-30 minutes faster, depending on
the platform. This is not really because of testing time but rather we
have a huge dependency tree whendev-dependencies
are considered
(criterion, tokio, proptest, ...).MinGW tests are pretty fast since we don't run examples (we're not too
interested in doing examples there, just windows/mac/linux coverage).
AArch64 tests are run with optimizations enabled because unoptimized
tests take ~45 minutes to finish while optimized tests take ~20 minutes.
The build is naturally much faster in debug mode but apparently under
QEMU emulation the debug mode binaries are extremely slow compared to
the release binaries, which means that extra time we spend compiling
release tests is more than made up by faster test emulation time.Closes #2938
<!--
Please ensure that the following steps are all taken care of before submitting
the PR.
[ ] This has been discussed in issue #..., or if not, please tell us why
here.[ ] A short description of what this does, why it is needed; if the
description becomes long, the matter should probably be discussed in an issue
first.[ ] This PR contains test cases, if meaningful.
- [ ] A reviewer from the core maintainer team has been assigned for this PR.
If you don't know who could review this, please indicate so. The list of
suggested reviewers on the right can help you.Please ensure all communication adheres to the code of conduct.
-->
cfallin submitted PR review.
alexcrichton updated PR #2939 from less-release-test
to main
.
alexcrichton merged PR #2939.
Last updated: Dec 23 2024 at 13:07 UTC