Commit Graph

66 Commits (a43e40ae1d1441ab4aea6a1a5d9ea36b56d62ff8)

Author SHA1 Message Date
Tamir Duberstein b91d90d6b9
github: build qemu from source if bad signature
See https://github.com/Homebrew/homebrew-core/issues/140244.
Tamir Duberstein 756e6b979a
github: brew reinstall qemu
See https://github.com/Homebrew/homebrew-core/pull/139492.
Tamir Duberstein 9ba0b04207
github: use gnubin rather than bespoke symlinks
Tamir Duberstein 6740c43a02
github: update 6.4.0 URLs
Seems the previous spin was pulled.
Tamir Duberstein 89eafd139d
github: use gxargs on macOS
`xargs -P0` always exits 0 on macOS, even on error.
Tamir Duberstein 47a8a4b878
github: reduce wget verbosity, remove -q
This allows errors to be shown; -q hides *all* output, which is not what
we want.
Dave Tucker 02124002c8 .github: Add clang-format
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Tamir Duberstein 82a77bc83d
integration-test: Implement running on VMs
Implements running integration tests on multiple VMs with arbitrary
kernel images using `cargo xtask integration-test vm ...`.

This changes our coverage from 6.2 to 6.1 and 6.4.
Tamir Duberstein dca5e6c167
integration-test: Remove runtime toolchain deps
Move the use of clang and llvm-objcopy from run-time to build-time. This
allows the integration tests to run on VMs with simpler userlands.

Create a new CI job to build the integration tests separately from
running them. Ship them from that job to the runner job using github
actions artifacts.
ajwerner 8e144a5c29
Merge pull request from ajwerner/integration-tests-in-release
integration-tests: run in release also
Dave Tucker f833f1fc1d xtask: Add cargo-public-api
Adds cargo-public-api. This allows for public API changes to get caught
in CI, requiring new changes to be "blessed" by using:

  cargo xtask public-api --bless

When this file is changed for aya, Alessandro will need to review the PR.

Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Andrew Werner 7575628d1b integration-tests: run in release also
In release, the trigger functions were being optimized out and the
tests did not work. Use core::hint::black_box to ensure that the
functions are not optimized out. Also, run these integration tests
in CI to ensure that we don't regress.
Tamir Duberstein d6322d2da3
github: parallel all the CI
Human time is more precious than computer time.
Tamir Duberstein 74fc50bf7e
integration-test: shuttle stdio to user
Trampoline cargo-in-cargo stdio through cargo:warning to ensure the user
sees all the output.

Use bpf-linker from git in CI so we can see what's going on there.
Dave Tucker 3b859ba70a ci: Bump ubunutu
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Dave Tucker cf0c866458 .github: Consolidate CI workflows into one
This gives a better view of the CI pipeline in Github.
Gives us control over what runs and when.
And finally, lets us check only a single status in mergify.

Signed-off-by: Dave Tucker <dave@dtucker.co.uk>