• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / cli / 37032131768
67%
develop: 67%

Build:
Build:
LAST BUILD BRANCH: gh-readonly-queue/develop/pr-7193-72b5a35ba3240c444f3d7131f2c644d531bbe3b5
DEFAULT BRANCH: develop
Ran 02 Oct 2026 04:11PM UTC
Jobs 1
Files 79
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

02 Oct 2026 04:10PM UTC coverage: 66.737%. Remained the same
37032131768

push

github

web-flow
fix(cli): cache the upgrade check outside projects and for --version (#6939)

## Summary

**TL;DR:** The upgrade notice no longer calls the GitHub releases API on
every run outside a project or on every `supabase --version`. Outside a
project the latest tag is now cached in `<SUPABASE_HOME>/cli-latest` for
ten hours, and root `--version` uses the cache like every other command.
The notice text, the `SUPABASE_NO_UPDATE_NOTIFIER` opt-out, and
project-dotenv precedence are unchanged.

### Before

```mermaid
flowchart LR
  A["Command succeeds"] --> B{"real supabase/ dir?"}
  B -- yes --> C{"--version?"}
  C -- no --> D{"cache fresh?"}
  D -- yes --> E["read supabase/.temp/cli-latest"]
  D -- no --> F["fetch GitHub, write cache"]
  C -- yes --> F
  B -- no --> G["fetch GitHub every run, no cache"]
```

### After

```mermaid
flowchart LR
  A["Command succeeds"] --> B{"real supabase/ dir?"}
  B -- yes --> C["supabase/.temp/cli-latest"]
  B -- no --> D["SUPABASE_HOME/cli-latest"]
  C --> E{"fresh and no symlink?"}
  D --> E
  E -- yes --> F["read cached tag"]
  E -- no --> G["fetch GitHub, write tag or empty backoff"]
```

### Why

The cache lived only in `supabase/.temp/cli-latest` and was written only
when `supabase/` existed, so any command run outside a project fetched
`api.github.com/repos/supabase/cli/releases/latest` before exiting. Root
`--version` always bypassed the cache. Each fetch blocked exit for up to
a 3s timeout on slow or offline networks, and unauthenticated calls
count against GitHub's 60 requests per hour per IP; repeated runs
exhaust that quota quickly.

### Performance

Median wall time over alternating `develop` / PR launches on one
machine, each build with its own `SUPABASE_HOME` (10–15 runs per row,
5–6 for the hung-network and first-run rows, one warmup). "Hung network"
is a local proxy that accepts the connection and never answers. Outside
a project, `develop` never caches, so it calls GitHub on every run; this
PR reads `<SUPABASE_... (continued)

4097 of 6139 relevant lines covered (66.74%)

7.37 hits per line

Jobs
ID Job ID Ran Files Coverage
1 37032131768.1 02 Oct 2026 04:11PM UTC 79
66.74
GitHub Action Run
Source Files on build 37032131768
  • Tree
  • List 79
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #37032131768
  • b7882913 on github
  • Prev Build on gh-readonly-queue/develop/pr-6952-244bae3fa03aa251e4540851c35640cafebbfd27 (#36991004075)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc