Repository navigation
use Linux 7.2.9 and fix cross-toolchain builds - #4
Merged
Merged
Conversation
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.
Why
Update the pinned kernel from Linux 6.18.3 to stable 7.2.9 while retaining the small aarch64 and x86_64 VM images. The fixed
v6.xdownload path cannot fetch a 7.x kernel, and config updates previously hid failures.Scope
-uprepare dependencies, use target compilers, run non-interactively, and propagate failures.tests/and parallel GitHub Actions jobs running directly on Ubuntu 26.04, with cached toolchains and incremental kernel builds. Preserve archive layout and guest interfaces.Verification
The workflow runs
bash tests/run.sh <architecture>directly on Ubuntu 26.04 runners, one job per architecture. It checks config stability and failure handling, builds both images, and boots the resulting archives with QEMU TCG and 256 MiB RAM. Guest checks cover DHCP, password SSH login, virtiofs read/write and read-only enforcement, console/RNG devices, SSH banners over default/custom vsock ports, and guest poweroff.See
tests/README.mdfor native setup and commands. Logs are uploaded even on failure; image artifacts are uploaded only after checks pass. Toolchains and kernel build directories are cached using the build script, configs, and toolchain checksums as the key. Every run still rebuilds userspace, packages the images, and executes all checks.Both architectures passed on commit
03a9e0b:The previous sequential container run took 23m42s. These are single-run observations including job setup, dependencies, cache handling, checks, and artifact uploads, excluding queue time. Warm logs confirm exact cache hits for both architectures and incremental kernel compilation. All config and VM checks passed in both runs. Native local x86_64 VM checks also passed.
Missing toolchains come from a pinned GitHub mirror with SHA-256 checks because musl.cc blocks Actions traffic. Apple Virtualization Framework, host-requested shutdown, and aarch64 build hosts are not covered.
The Actions references are pinned to checkout v6.1.0, cache v6.1.0, and upload-artifact v6.0.0. CI passed on the updated commit
4cbae1efor both architectures.