Skip to content

fix(ci): pin supabase CLI to 2.105.0 — v2.106.0 breaks local gen types#298

Merged
nbhansen merged 2 commits into
mainfrom
fix/ci-pin-supabase-cli
Jun 11, 2026
Merged

fix(ci): pin supabase CLI to 2.105.0 — v2.106.0 breaks local gen types#298
nbhansen merged 2 commits into
mainfrom
fix/ci-pin-supabase-cli

Conversation

@nbhansen

Copy link
Copy Markdown
Owner

CI on #297 failed at the types-drift step with Access token not provided from supabase gen types typescript --local — a command that needs no token.

Cause: supabase CLI v2.106.0 (published 2026-06-11 12:01 UTC, two minutes before the failing run) ported gen types to the new TypeScript CLI (supabase/cli#5514), and the ported version demands an access token even for --local generation. Both CI jobs install version: latest, so the regression landed the moment upstream released. Main's run at 11:39 (pre-release, v2.105.0) passed the identical step.

Fix: pin both supabase/setup-cli steps to 2.105.0 — the last release before the port — with a comment stating the unpin condition. This also removes weather-dependence from CI generally; future CLI bumps become deliberate.

Once merged, re-running #297's checks picks the pin up automatically (PR CI runs against the merge ref).

nbhansen added 2 commits June 11, 2026 14:15
supabase CLI v2.106.0 (released 2026-06-11 12:01 UTC) ported `gen types`
to the new TypeScript CLI (supabase/cli#5514); the ported command demands
an access token even for `--local` generation, so the types-drift step
fails with "Access token not provided" on runners without
SUPABASE_ACCESS_TOKEN. Both jobs installed `version: latest` and picked
the release up within minutes (PR #297's run, two minutes after publish).

Pin both setup-cli steps to 2.105.0 (last release before the port) and
bump deliberately once upstream restores token-free local generation.
The verify job's readiness poll resolved API_URL with a third
`supabase status` call that runs concurrently with the backgrounded
`functions serve`. The two CLI processes can race on
~/.supabase/telemetry.json ("error: NotFound: FileSystem.rename"),
crashing status, leaving API_URL empty, and failing the poll with
HTTP 000 for 30s (observed on this PR's first run; main passed the
same script 40 minutes earlier — nondeterministic).

Reuse the URL already captured into .env.local instead of calling
status again, and set DO_NOT_TRACK=1 job-wide — the CLI's documented
telemetry opt-out — so no two CLI invocations contend on the
telemetry file anywhere in the job.
@nbhansen
nbhansen merged commit ca7d3f3 into main Jun 11, 2026
3 of 4 checks passed
@nbhansen
nbhansen deleted the fix/ci-pin-supabase-cli branch June 11, 2026 12:32
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.

1 participant