fix(ci): keep release hosts on supported Ubuntu golden

Merged
BN
11d ago
+41-14

Summary

Keep the release workflows on the Ubuntu version that preloop supports end to end.

  • Change every release host in release.yml and release-runner.yml from ubuntu-22.04 to the explicit ubuntu-24.04 label.
  • Add focused resolver/advertisement tests so an ubuntu-26.04 job is not treated as if a published 24.04 official golden were a 26.04 golden.
  • Document the current boundary: GitHub's ubuntu-26.04 and ubuntu-26.04-arm labels are available, but preloop's checked-in image pins, runtime probes, packed artifact names, and release/OCI lookup path are still 24.04.

This is intentionally a prerequisite for #572, not a partial 26.04 migration. The 26.04 ci/runner.Dockerfile and release-host edits from #572 must be dropped or rebased onto this supported 24.04 path.

A complete 26.04 migration needs new per-architecture official-image.toml pins, hosted-runtime probes, packed goldens/release assets, and resolver/docs updates. A workflow label or standalone container-base change alone cannot provide that parity.

Evidence

  • GitHub Actions runner-images issue #14747 and the current GitHub-hosted runner reference list ubuntu-26.04 and ubuntu-26.04-arm as available labels.
  • official-image.toml, official-golden.yml, release-golden.yml, docs/vm-images.md, and the resolver currently identify the official preloop golden as Ubuntu 24.04.
  • ci/runner.Dockerfile on main is already FROM ubuntu:24.04; this PR does not change it.

Verification

  • cargo fmt --all --check
  • cargo test -p preloop-orchestrator --locked environment::tests (7 passed)
  • cargo test -p preloop-orchestrator --locked labels_select_the_official_golden_and_otherwise_keep_the_configured_image (1 passed)
  • cargo test -p preloop-orchestrator --locked runner_labels_bind_to_selected_ubuntu_environment (1 passed)
  • Ruby YAML parse of .github/workflows/release.yml and .github/workflows/release-runner.yml
  • git diff --check

The repository pre-push hook's full CI run was attempted but created 0 jobs and failed because the local engine lacks KACHE_R2_ACCESS_KEY_ID, KACHE_R2_ENDPOINT, and KACHE_R2_SECRET_ACCESS_KEY; the focused checks above are independent of those unavailable secrets.


Devin Review


Summary by cubic

Keeps release workflows on the supported Ubuntu 24.04 golden and prevents newer GitHub-hosted labels from being mistaken for published goldens.

  • Moves all release hosts in release.yml and release-runner.yml from ubuntu-22.04 to ubuntu-24.04.
  • Adds resolver and advertisement tests so ubuntu-26.04 keeps the configured image instead of the 24.04 pack.
  • Documents that 26.04 support requires new image pins, probes, artifacts, and resolver updates, not just a label change.