ci: migrate build artifact handoff from cache to artifacts#5740
Merged
Conversation
The publish job (and smoke/brew/scoop/preview consumers) pulled the compiled binaries + dist/ from a run-scoped GitHub Actions cache keyed by run_id, restored with fail-on-cache-miss. Caches share a 10 GB per-repo budget and are evicted LRU, so a large build cache can vanish mid-run between the producer and a later consumer — which is exactly what broke release v2.109.0: the cache restored fine for an early consumer, then was gone by the time publish ran, and the run_id-keyed cache could not be regenerated on re-run because the producer job was not re-executed. Replace the cache handoff with actions/upload-artifact / download-artifact. Artifacts have deterministic retention (set to 1 day for this intra-run handoff), survive job re-runs within the run, and are not subject to the cache LRU. Since artifacts drop the Unix executable bit, add a chmod +x in the publish job before it ships packages/cli-*/bin/supabase to npm (smoke and preview jobs already chmod). Rename the producer's cache_key_suffix input to artifact_name_suffix to match. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012AkD2XxUdcrBLH58fQr7yi
Supabase CLI previewnpx --yes https://pkg.pr.new/supabase/cli/supabase@7b3a48271bc9350fe700dc50f6f3e15043f1915cPreview package for commit |
Coly010
approved these changes
Jun 30, 2026
pull Bot
pushed a commit
to oogalieboogalie/cli
that referenced
this pull request
Jul 1, 2026
## Summary Reverts the release workflow handoff from uploaded artifacts back to `actions/cache` now that the repository has more GitHub cache capacity. This restores the previous run-scoped cache keys for CLI build outputs across smoke, publish, Homebrew, Scoop, and preview-package jobs while keeping the newer pinned `actions/cache` version from the dependency bump. Reverts supabase#5740
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replace GitHub Actions cache with artifacts for passing build outputs between jobs in the release workflow. This improves reliability by using run-scoped artifacts with deterministic retention instead of a shared 10 GB cache budget that can be evicted LRU mid-run.
Key changes:
build-cli-artifacts.yml: Replace
actions/cache/savewithactions/upload-artifactto hand off compiled binaries and dist files to downstream jobs. Artifacts are configured with 1-day retention, light compression (binaries already compressed), and overwrite enabled for job re-runs.release-shared.yml: Replace all
actions/cache/restorecalls withactions/download-artifactin publish, publish-homebrew, and publish-scoop jobs. Update artifact names to match the new naming scheme (cli-build-{shell}-{version}{suffix}).build-cli-artifacts.yml: Rename
cache_key_suffixinput toartifact_name_suffixfor clarity.release-shared.yml: Add missing binary permission fix step in the npm-publish job (chmod +x on compiled binaries) to match the pattern used in other publish jobs, since artifacts don't preserve Unix permissions.
publish-preview-cli-packages.yml: Update preview build artifact retrieval to use
actions/download-artifact.This change eliminates the risk of cache eviction between the build producer and downstream consumers while simplifying the artifact naming and handoff logic.
https://claude.ai/code/session_012AkD2XxUdcrBLH58fQr7yi