Skip to content

Fix CI caching and parameterize workflows by arch for future aarch64#1597

Open
ludfjig wants to merge 1 commit into
hyperlight-dev:mainfrom
ludfjig:ci/fix-fuzzing-and-cache-keys
Open

Fix CI caching and parameterize workflows by arch for future aarch64#1597
ludfjig wants to merge 1 commit into
hyperlight-dev:mainfrom
ludfjig:ci/fix-fuzzing-and-cache-keys

Conversation

@ludfjig

@ludfjig ludfjig commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Caching is broken so fixed it. Refactored some other stuff to easier add aarch64 support

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates Hyperlight’s GitHub Actions CI workflows to make runner selection and caching arch-aware (X64 vs arm64) and to clarify runner pool selection by CPU vendor, laying groundwork for future aarch64 expansion while reducing cache collisions.

Changes:

  • Renames workflow/matrix parameter cpucpu_vendor and threads it through reusable workflows and benchmark artifacts.
  • Parameterizes CI caching and runner labels by arch (including priming caches for arm64).
  • Splits fuzzing targets into a matrix so each fuzz target runs as a separate job invocation.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
Justfile Renames bench-download parameter to cpu_vendor and updates artifact naming.
docs/benchmarking-hyperlight.md Updates benchmark download instructions to match cpu_vendor.
.github/workflows/ValidatePullRequest.yml Switches matrices to cpu_vendor and passes arch/cpu_vendor into reusable workflows.
.github/workflows/RustNightly.yml Renames nightly matrix variable to cpu_vendor for pool selection.
.github/workflows/PrimeCaches.yml Primes guest caches across architectures and makes host cache keys arch-aware.
.github/workflows/Fuzzing.yml Converts fuzz targets from a JSON list input into a target matrix.
.github/workflows/dep_run_examples.yml Updates inputs and runner selection to use cpu_vendor and handle non-X64 via an arch conditional.
.github/workflows/dep_fuzzing.yml Updates inputs to single target/arch (but currently has a runner JSON construction bug).
.github/workflows/dep_build_test.yml Updates inputs and runner selection to use cpu_vendor and handle non-X64 via an arch conditional.
.github/workflows/dep_build_guests.yml Makes guest caches arch-aware (but currently has a runner JSON construction bug).
.github/workflows/dep_benchmarks.yml Adds arch input, makes cache/artifact naming arch-aware, and switches to cpu_vendor.
.github/workflows/DailyBenchmarks.yml Passes arch/cpu_vendor into reusable benchmarks workflow.
.github/workflows/CreateRelease.yml Passes arch/cpu_vendor into reusable benchmarks workflow.

Comment thread docs/benchmarking-hyperlight.md Outdated
Comment thread .github/workflows/dep_build_guests.yml Outdated
Comment thread .github/workflows/dep_fuzzing.yml Outdated
Signed-off-by: Ludvig Liljenberg <4257730+ludfjig@users.noreply.github.com>
@ludfjig ludfjig force-pushed the ci/fix-fuzzing-and-cache-keys branch from b88a2b7 to dcb8e34 Compare June 26, 2026 22:39
@ludfjig ludfjig added the kind/bugfix For PRs that fix bugs label Jun 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/bugfix For PRs that fix bugs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants