Skip to content

chore(repo): sync develop into next - #7198

Merged
supabase-cli-releaser[bot] merged 3 commits into
nextfrom
sync/develop-into-next
Oct 16, 2026
Merged

supabase-cli-releaser[bot] merged 3 commits into
nextfrom
sync/develop-into-next

Conversation

@supabase-cli-releaser

Copy link
Copy Markdown
Contributor

Merging develop into next conflicts. This branch starts at the tip of develop (724ce54); next is at 74bcab0.

Conflicting files:

  • apps/cli-go/pkg/config/templates/Dockerfile

To resolve:

git fetch origin
git switch sync/develop-into-next
git merge origin/next
# resolve the conflicts, then commit
git push origin sync/develop-into-next

Approve to fast-forward next; do not use the merge button.

jgoux and others added 2 commits October 16, 2026 09:31
…ng every image (#7194)

`detect-unmirrored-images.ts` treated any failed `docker buildx
imagetools inspect` as "not mirrored" and discarded stderr. A registry
blip during detection therefore flagged every pinned image for a
re-push. In [Mirror template images run
93](https://github.com/supabase/cli/actions/runs/38847585115), all 19
images were flagged even though every one was already mirrored. The
images published to ECR Public by their own release pipelines then
failed with `403 Forbidden` on the blob HEAD.

The probe now treats only a registry `not found` as unmirrored. Any
other inspect failure aborts detection with the target and the
registry's error, so a probe failure shows up as one red detect job with
its cause instead of a fan-out of misleading push failures.
This bumps storage from v1.83.3-r0 to v1.83.5-r0.


https://github.com/supabase/slim-services/releases/tag/storage-v1.83.5-r0

Planned after supabase/slim-services published v1.83.5-r0. This branch
is rewritten from develop whenever a newer relevant release arrives.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@supabase-cli-releaser supabase-cli-releaser Bot added the do not merge Approve to apply; do not merge. label Oct 16, 2026
@supabase-cli-releaser
supabase-cli-releaser Bot requested review from a team and supabase-oss as code owners October 16, 2026 09:46
# Conflicts:
#	apps/cli-go/pkg/config/templates/Dockerfile
@supabase-cli-releaser

Copy link
Copy Markdown
Contributor Author

Claude resolved the merge of next

next removed the Go CLI (apps/cli-go), so this Dockerfile goes away. develop's image bumps (for example storage v1.83.5 and realtime v2.144.2) are already in next's copy at apps/cli/src/shared/services/Dockerfile, which matches the deleted file line for line.

Deleted: apps/cli-go/pkg/config/templates/Dockerfile.

Quick checks. The merged tree passes check:all and unit tests.

Approve to fast-forward next once checks pass (workflow run).

@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

Reconciled both independent reviews and inspected the changed code, surrounding workflow, tests, and trusted conventions. Claude's sole finding remains uncertain because its registry-response premise is unverified; Codex reported no findings. The storage version update is internally consistent, but published digests and hashes were not independently validated.

Findings

Severity Location Category Sources Claim
🟡 MINOR apps/cli/scripts/detect-unmirrored-images.ts:80 error-handling claude Backfilling a previously nonexistent mirror repository may fail if GHCR or ECR Public reports its absence as an authorization or repository-unknown error rather than stderr ending in ': not found'. The detector throws for those responses, preventing the mirror job from running.

Stats

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


Models: claude-opus-5-5 + gpt-6.1-sol · Trigger: manual · Workflow run

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

Comment on lines +80 to +83
if (stderr.trimEnd().endsWith(": not found")) {
return false;
}
throw new Error(`could not inspect ${target} (exit ${exit}): ${stderr.trim()}`);

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.

🟡 MINOR · error-handling · source: claude

Backfilling a previously nonexistent mirror repository may fail if GHCR or ECR Public reports its absence as an authorization or repository-unknown error rather than stderr ending in ': not found'. The detector throws for those responses, preventing the mirror job from running.

Evidence: apps/cli/scripts/detect-unmirrored-images.ts:77-83 accepts successful probes and ': not found' failures only. Errors propagate through partitionUnmirroredImages at lines 52-59 and its top-level invocation at line 101. .github/workflows/mirror-template-images.yml:40-68 grants packages:read, logs into GHCR, and runs detection without an ECR login; lines 70-83 make mirroring depend on detection. detect-unmirrored-images.unit.test.ts:64-78 covers a synthetic not-found response and a network timeout, but no actual missing-repository response.

Suggested fix: Capture missing-repository responses from both registries under the workflow's authentication conditions. Add regression cases for any verified absence responses and handle them narrowly while retaining failures for genuine authentication, rate-limit, and network errors.

Adjudication (uncertain): The surrounding code confirms that any nonmatching error aborts detection and prevents backfilling. However, neither the implementation nor its tests establishes that GHCR or ECR Public returns the alleged authorization or repository-unknown response for an absent repository under these credentials. No registry reproduction was performed, so the central premise cannot be confirmed or refuted.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

develop added this strict error handling in detect-unmirrored-images.ts in #7194, so the merge did not introduce it and it is out of scope for this sync. If GHCR or ECR Public really do report missing repositories in another way, a follow-up PR against develop should handle that.

@supabase-cli-releaser

Copy link
Copy Markdown
Contributor Author

Claude repair round

No CI checks failed on this sync, so I made no code changes. The one open review finding is about code that develop already had, so it is out of scope for this sync.

0 findings fixed, 1 declined (workflow run).

@supabase-oss supabase-oss left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CI is green and the AI review raised nothing the merge introduced, so this approves Claude's resolution of the sync (https://github.com/supabase/cli/actions/runs/38883571604).

@supabase-cli-releaser
supabase-cli-releaser Bot merged commit 31b7b4f into next Oct 16, 2026
53 of 54 checks passed
@supabase-cli-releaser
supabase-cli-releaser Bot deleted the sync/develop-into-next branch October 16, 2026 09:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do not merge Approve to apply; do not merge.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants