Skip to content

ci(health-check): rewire cache to match docker-new restructure#7032

Merged
xmfcx merged 2 commits intomainfrom
feat/split-04-healthcheck-cache-rewire
Apr 17, 2026
Merged

ci(health-check): rewire cache to match docker-new restructure#7032
xmfcx merged 2 commits intomainfrom
feat/split-04-healthcheck-cache-rewire

Conversation

@xmfcx
Copy link
Copy Markdown
Contributor

@xmfcx xmfcx commented Apr 17, 2026

  • Parent Issue: Simplify the docker images and workflows #6852
  • Scope the registry cache tags to health-check's own namespace: health-check-<build-type>-humble-<platform>-<ref> with -main as fallback read and a current-ref write (mode=max, ignore-error=true). Mirrors the pattern used by the main docker-build-new pipeline.
  • Add read-only BuildKit mount cache restore + buildkit-cache-dance@v3 injection fed by the main pipeline's buildkit-mounts-ci-universe-humble-<platform>-* tarballs (apt / apt-lists / ccache / pip / pipx, IDs matched to the main build). Health-check never writes back.
  • Compute a sanitized ref_name output (replaces / with -) so branch names like feat/foo produce valid registry tags.

Why

The previous buildcache-new:humble-<platform>-main / buildcache-new:<build-type>-humble-<platform>-main tags live in the main docker-build-new pipeline's registry namespace. Sharing scope meant health-check runs could overwrite each other's or main's entries, and the tag layout didn't reflect the new per-distro / per-arch / per-ref structure. Giving health-check its own health-check-* prefix keeps caches isolated; read-only mount restore lets health-check warm apt/ccache/pip/pipx from tarballs main already paid to produce.


Test plan

  • Trigger a health-check PR run (run:health-check label). Confirm the 🔨 Build Autoware step's set: block references the new scope: ghcr.io/<repo>-buildcache-new:health-check-<build-type>-humble-<platform>-<ref_name> (cache-from + cache-to) plus health-check-*-main (cache-from fallback).
  • Confirm the 💾 Restore BuildKit cache mounts (read-only) step runs and logs either Cache restored from key: buildkit-mounts-ci-universe-humble-<platform>-... (hit) or Cache not found (miss — expected before PR 5 lands).
  • Confirm the 💉 Inject BuildKit cache mounts step completes without error even on a miss (inject tolerates empty cache-mounts/).
  • Dispatch health-check from the Actions UI and verify the cache-to write lands: docker manifest inspect ghcr.io/<repo>-buildcache-new:health-check-main-humble-amd64-main should resolve after the run.

- Switch buildcache-new tag to its own scope
  `health-check-<build-type>-humble-<platform>-<ref>` (instead of the
  ci-universe tags that no longer populate), with current-ref + main
  fallback reads and a current-ref write, mirroring
  docker-build-new.yaml's pattern.
- Add read-only `buildkit-cache-dance` injection fed by the
  `buildkit-mounts-ci-universe-humble-<platform>-*` tarballs the main
  pipeline saves, so health-check reuses the same apt / ccache / pip /
  pipx mount state without writing back.

Signed-off-by: Mete Fatih Cırıt <[email protected]>
@xmfcx xmfcx self-assigned this Apr 17, 2026
@xmfcx xmfcx requested a review from mitsudome-r April 17, 2026 18:07
@xmfcx xmfcx added the run:health-check Run health-check label Apr 17, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 17, 2026

Thank you for contributing to the Autoware project!

🚧 If your pull request is in progress, switch it to draft mode.

Please ensure:

@xmfcx
Copy link
Copy Markdown
Contributor Author

xmfcx commented Apr 17, 2026

The cache this one will use will come with the next pr 😅

@xmfcx xmfcx merged commit 2dbc3fa into main Apr 17, 2026
13 of 18 checks passed
@xmfcx xmfcx deleted the feat/split-04-healthcheck-cache-rewire branch April 17, 2026 18:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

run:health-check Run health-check

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants