M12: CI - #16
Merged
Merged
Conversation
Until now every guarantee in ROADMAP.md was a claim about something someone had run once on their own machine. Split by cost. `check` is fmt, clippy against both musl targets, and the host tests, and gates the rest. The three boot suites run in parallel with one another: x86_64 and aarch64 under QEMU, the container under Docker, and a real Alpine userspace. Serial logs are uploaded on failure, because a failure that only names the missing needle is one you have to reproduce locally to read. `cargo xtask fetch` is new and is what makes that possible without a paragraph of prose about where Alpine keeps its kernels. It downloads the kernel and the static busybox for an architecture into target/, reading the package index rather than pinning a filename that goes stale on the next point release. Contributors get the same one command.
Five jobs, all green, the whole set under two minutes wall-clock after the gate. The surprise is aarch64: an emulated ARM64 boot on an x86_64 runner costs nine seconds more than the native one, so M9's 300-second budget is an order of magnitude of headroom rather than a tight fit. xtask fetch replaces the paragraph in CONTRIBUTING about where Alpine keeps its kernels with one command per architecture.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Runs every suite this project claims to have, on every push and pull request.
Until now every guarantee in ROADMAP.md was a claim about something
someone had run once on their own machine.
cargo fmt --check, clippy against both musl targets, and the146 host tests. Gates the rest.
test-booton x86_64 and aarch64, in a matrix.xtask container, Docker being already on the runner.xtask test-distro, a real Alpine userspace.Serial logs upload on failure. A failure that only names the missing
needle is one you have to reproduce locally to read.
cargo xtask fetchis new and is what makes this possible without aparagraph of prose about where Alpine keeps its kernels: it downloads the
kernel and the static busybox for an architecture into
target/, readingthe package index rather than pinning a filename that goes stale on the
next point release. Contributors get the same one command.
Cached on the pinned Alpine release, so a bump invalidates it and nothing
else does.