Install Supabase CLI from npm (#442)

## Summary
- install the Supabase CLI through the `supabase` npm package instead of
GitHub release archives
- support npm-backed `latest`, `beta`, and fixed published versions,
with root lockfile detection preserved
- remove the `github-token` input and use Node.js/npm without clobbering
an already configured Node.js 20+ runtime
- update CI/docs for the v3 action contract and remove stale license
cache entries for removed dependencies

Addresses CLI-1480:
https://linear.app/supabase/issue/CLI-1480/source-cli-install-from-npm-registry

No earlier pull request found to supersede.

## Validation
- `bun run ci`
- real npm install spot checks for `supabase@latest`, `supabase@beta`,
`supabase@1.178.2`, `supabase@2.33.0`, and legacy `supabase@1.15.1`
preinstall handling
- external fixture run:
https://github.com/jgoux/setup-cli-testing/actions/runs/28656824691
- hosted runners: Ubuntu, macOS, and Windows for `latest`, `beta`,
`1.178.2`, and `2.33.0`
  - package-lock detection: resolved and installed `supabase@2.108.0`
  - legacy preinstall: installed `supabase@1.15.1`
- Node preservation: kept a caller-provided Node.js 22 runtime active
after the action
- Alpine 3.20 container: `latest`, `beta`, and `2.100.0`, including
Node.js 20+ and runtime dependency checks
  - Alpine 3.18 container: rejected Node.js 18 with a clear setup error
This commit is contained in:
Julien Goux
2026-07-03 14:02:44 +02:00
committed by GitHub
parent 3c2f5e2ae3
commit 23ef4b0416
11 changed files with 734 additions and 559 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "setup-cli",
"version": "2.0.0",
"version": "3.0.0",
"private": true,
"description": "Supabase CLI GitHub Action",
"keywords": [
@@ -24,8 +24,7 @@
"typecheck": "bun x tsgo -p tsconfig.json --noEmit"
},
"dependencies": {
"@actions/core": "^3.0.1",
"@actions/tool-cache": "^4.0.0"
"@actions/core": "^3.0.1"
},
"devDependencies": {
"@tsconfig/bun": "^1.0.10",