Warm CLI E2E image cache on main#16843
Conversation
Add a main-branch cache warmer for the reusable CLI E2E image build so pull requests can restore default-branch BuildKit layers without relying on sibling PR caches. Make artifact upload optional for cache-only runs and document the cross-PR cache behavior. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 16843Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 16843" |
There was a problem hiding this comment.
Pull request overview
Adds a main-branch GitHub Actions cache-warming path for the CLI E2E Docker images so PR runs can restore BuildKit layers seeded from main (since sibling PRs can’t restore each other’s caches).
Changes:
- Introduces a scheduled/manual/
main-push workflow that runs the existing reusable image build workflow to refreshtype=ghaBuildKit cache scopes. - Extends the reusable image build workflow with an
uploadArtifactsinput so cache-warm runs can skip producing/uploading image tarball artifacts. - Documents cross-PR cache restore limitations and the new
maincache-warming workflow.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| docs/ci/cli-e2e-images.md | Documents the new uploadArtifacts input and explains cross-PR cache restore behavior plus the main cache warmer. |
| .github/workflows/warm-cli-e2e-image-cache.yml | New workflow that warms the BuildKit gha cache on schedule, manual dispatch, and relevant main pushes. |
| .github/workflows/build-cli-e2e-image.yml | Adds uploadArtifacts input and gates image tarball creation/upload steps accordingly. |
Add a human-readable UTC schedule comment beside the cache warmer cron expression. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Re-running the failed jobs in the CI workflow for this pull request because 3 jobs were identified as retry-safe transient failures in the CI run attempt.
Matched test failure patterns (50 tests)
|
Apply review feedback by adding .dockerignore to warm-cache triggers, renaming the image artifact input, splitting tarball saves into a separate skipped step for cache-only runs, and documenting the cache-warmer call-site rationale. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
🎬 CLI E2E Test Recordings — 77 recordings uploaded (commit View all recordings
📹 Recordings uploaded automatically from CI run #25500980339 |
Description
Pull request CLI E2E image builds can only restore GitHub Actions cache entries from the current PR ref or from the base/default branch, so sibling PRs cannot share layers with each other directly. This adds a main-branch cache warmer that invokes the existing CLI E2E image build on schedule, manual dispatch, and relevant
mainpushes so future PRs can restore BuildKit layers seeded frommain.The reusable image build workflow now has an
uploadImageArtifactsinput. Test workflows keep the default artifact behavior, while the cache warmer disables artifact upload and only builds the images to refresh thetype=ghacache scopes. The CI documentation now calls out the cross-PR cache rules and the main-warmed cache path.Fixes #
Checklist
<remarks />and<code />elements on your triple slash comments?aspire.devissue: