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

supabase / cli / 30302739666 / 1
65%
develop: 65%

Build:
Build:
LAST BUILD BRANCH: columferry/cli-1989-parity-ruling-db-push-runs-pipeline-incompatible-statements
DEFAULT BRANCH: develop
Ran 27 Jul 2026 08:31PM UTC
Files 230
Run time 7s
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

27 Jul 2026 08:28PM UTC coverage: 65.288%. Remained the same
30302739666.1

push

github

web-flow
fix(cli): honor --yes/SUPABASE_YES and Go prompt semantics consistently across confirmation prompts (#5947)

Routes every legacy-parity confirmation through the single Go-faithful
helper `legacyPromptYesNo` (Go's `PromptYesNo`,
`apps/cli-go/internal/utils/console.go:38-107`) and deletes the
per-command shortcuts, so all three Go prompt properties hold
everywhere:

1. **`--yes` OR `SUPABASE_YES` auto-confirms** (viper `AutomaticEnv`;
project `.env` consulted exactly where Go's `loadNestedEnv` runs before
the prompt).
2. **Auto-confirm echoes `<label> [y/N] y` to stderr**
(`console.go:70-72`) instead of being silent.
3. **Non-TTY runs read piped stdin**: the label is printed, one line is
scanned (100 ms), a parsed `y`/`n` wins, and only empty/unparseable
input falls back to the default (`console.go:38-61,96-102`).

Fixes CLI-1974 —
https://linear.app/supabase/issue/CLI-1974/honor-yessupabase-yes-and-go-prompt-semantics-consistently-across

## ⚖ Flagged decision: item 3 (non-TTY piped stdin) is IMPLEMENTED

The issue left it open whether to match Go's non-TTY piped-stdin reads;
this PR takes the recommended option and implements them. Concretely,
commands that previously hardcoded a non-TTY default now consume **one
stdin line per confirmation** and honor it:

- `echo y | supabase projects delete <ref>` now **deletes** (previously
silently cancelled — verified against develop with a from-source
differential smoke test).
- `echo n | supabase secrets unset` now **declines** (previously
proceeded unconditionally).
- `echo n | supabase branches create` (git-branch auto-name) now
cancels; empty stdin keeps Go's Yes default.
- Scripts that pipe unrelated data into these commands should redirect
`< /dev/null` or pass `--yes`. Veto here if this should be
documented-divergence instead — the infrastructure (`Stdin.readLine`)
was already in place from db push/reset, so no architectural cost either
way.

## Per-site changes

| Site | Go ref (default) | Gaps fixed |
... (continued)

11257 of 17242 relevant lines covered (65.29%)

10.5 hits per line

Source Files on job 30302739666.1
  • Tree
  • List 230
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 30302739666
  • c4b45874 on github
  • Prev Job for on gh-readonly-queue/develop/pr-5947-3d62a687fff044b1258580d51a3afc0cade515e8 (#30300854976.1)
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