Skip to content

ci(repo): upload slim natives to S3 without waiting on the ECR mirror - #6717

Merged
avallete merged 1 commit into
developfrom
claude/mirror-s3-upload-without-ecr
Sep 23, 2026
Merged

avallete merged 1 commit into
developfrom
claude/mirror-s3-upload-without-ecr

Conversation

@avallete

Copy link
Copy Markdown
Member

Summary

In mirror-slim-image.yml, upload-natives-s3 needed the mirror job to succeed. The ECR Public cli/* repositories don't exist yet, so every dispatch fails at "Ensure ECR Public repository exists" and no native ever reaches the S3 bucket.

The S3 job now runs alongside the ECR copy. It checks the source image digest on GHCR itself, so nothing reaches the bucket from a dispatch whose claimed image digest doesn't match. The ECR job is unchanged.

This is split out of #6716 so the S3 mirror can start filling before the CLI fallback lands. Once this merges, #6716 carries the same change with no remaining diff.

Linked issue

None; maintainer change.

🤖 Generated with Claude Code

https://claude.ai/code/session_016ctyhVP3n3xNy7YRtGYp4p


Generated by Claude Code

`upload-natives-s3` needed the `mirror` job to succeed, so any ECR Public
failure (missing `cli/*` repositories or push permissions) also kept every
native out of the S3 bucket. The job now runs alongside the ECR copy and
verifies the source image digest itself, so nothing reaches the bucket from
a dispatch whose claimed image digest does not match GHCR.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016ctyhVP3n3xNy7YRtGYp4p
@avallete
avallete enabled auto-merge September 23, 2026 09:34

@github-actions github-actions Bot 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.

🤖 AI Review

No correctness or security defect was found. The PR safely makes the S3 upload job independent while retaining its source-digest gate. One confirmed maintainability nit remains: the new digest-check step expands an already duplicated setup sequence across both jobs.

Findings

Severity Location Category Sources Claim
⚪ NIT .github/workflows/mirror-slim-image.yml:198 maintainability claude Adding the S3 job's source-digest check leaves both jobs with duplicated payload-validation, regctl-installation, GHCR-login, and digest-verification setup that must be kept synchronized.

Stats

Claude findings: 1 · Codex findings: 0 · Confirmed: 1 · Refuted: 0 · Uncertain: 0


Models: claude-opus-5 + gpt-5.6-sol · Trigger: auto · Workflow run

This review runs once per PR. A maintainer can request another with a /ai-review comment.

Comment thread .github/workflows/mirror-slim-image.yml

Copy link
Copy Markdown
Member Author

Run CLI end-to-end tests (shard 1/3) failed in start.slim-images.e2e.test.ts, and the cause is outside this PR.

  • The test serves a function scaffolded by functions new, which imports @supabase/functions-js@^2 on purpose, with no pin.
  • @supabase/functions-js@2.117.1 was published to npm at 09:37:22Z, one second after the test run started. The registry already listed it as latest, but its tarball still returned 404 (https://registry.npmjs.org/@supabase/functions-js/-/functions-js-2.117.1.tgz), so the edge runtime couldn't boot the worker.
  • This PR only changes .github/workflows/mirror-slim-image.yml, which no test runs. The same shard passed on feat(stack): fall back to the S3 and ECR Public slim mirrors #6716 at 09:25Z.

No fix is needed here: pinning the version would defeat what the test checks. I'll re-run the failed job once, after the tarball is downloadable.


Generated by Claude Code

@avallete
avallete added this pull request to the merge queue Sep 23, 2026
Merged via the queue into develop with commit d65c7c5 Sep 23, 2026
55 of 57 checks passed
@avallete
avallete deleted the claude/mirror-s3-upload-without-ecr branch September 23, 2026 10:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants