Skip to content

test(cli-e2e): cover the e2e harness with effect lint (CLI-2878) - #7384

Merged
7ttp merged 4 commits into
developfrom
7ttp/cli-2878-harness-coverage
Oct 30, 2026
Merged

7ttp merged 4 commits into
developfrom
7ttp/cli-2878-harness-coverage

Conversation

@7ttp

@7ttp 7ttp commented Oct 28, 2026

Copy link
Copy Markdown
Member

TL;DR

brings the apps/cli-e2e harness under the effect lint

whats introduced?

  • env.ts reads the environment through Config and passes the record mode and staging url to the global setup instead of rewriting process.env
  • the global setup, staging project helpers, fixture loader, pg mock and vitest config run as effect programs
  • the fixture loader decodes fixtures through a schema, so a hand written fixture missing a field fails at load with its file name, and every committed fixture decodes unchanged
  • the replay server stays excluded until the last page of this stack

ref

@7ttp 7ttp self-assigned this Oct 28, 2026
@7ttp
7ttp requested review from a team and supabase-oss as code owners October 28, 2026 23:13
@7ttp
7ttp added this pull request to stack #7386 October 28, 2026 23:15

@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

Both independent reviews were available. Confirmed Claude’s cleanup finding as a minor correctness concern, with corrected line references. The resource leak predates this PR; no additional regressions were identified by static inspection.

Findings

Severity Location Category Sources Claim
🟡 MINOR apps/cli-e2e/tests/setup.ts:197 error-handling claude Setup failures leave the manually created scope unclosed. In record mode, failures before cleanup registration leave the servers running and can orphan the staging project. This resource leak also existed before the PR.

Stats

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


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

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

Comment thread apps/cli-e2e/tests/setup.ts
@github-actions

Copy link
Copy Markdown
Contributor

CLI benchmark: no changes found

Commit de0210b against develop at 465b1d8 · 10 runs each · report only, never blocks merging

Command Before After Change
supabase --version 250 ms 265 ms no real change (+6%, within normal variation)
supabase --help 208 ms 197 ms no real change
supabase init 205 ms 213 ms no real change
supabase migration new bench 263 ms 237 ms no real change (-10%, within normal variation)
supabase gen types --lang typescript --project-id replayfixtureprojref 247 ms 267 ms no real change (+8%, within normal variation)
supabase projects list 204 ms 222 ms no real change (+9%, within normal variation)
supabase functions list --project-ref replayfixtureprojref 203 ms 205 ms no real change

API calls: unchanged for all 7 commands.

Binary size: 134.0 MB, unchanged.

Details: timing ranges, API calls per command, slowest phases

Timing ranges

Command Before range After range Change Verdict
supabase --version 188-304 ms 186-348 ms +15 ms (+6%) within noise
supabase --help 183-304 ms 178-271 ms -10 ms (-5%) within noise
supabase init 161-240 ms 168-258 ms +8 ms (+4%) within noise
supabase migration new bench 215-282 ms 189-326 ms -25 ms (-10%) within noise
supabase gen types --lang typescript --project-id replayfixtureprojref 217-282 ms 215-305 ms +20 ms (+8%) within noise
supabase projects list 185-268 ms 185-258 ms +18 ms (+9%) within noise
supabase functions list --project-ref replayfixtureprojref 189-235 ms 188-243 ms +2 ms (+1%) within noise

API calls per command

Command Before After Endpoint changes
supabase --version 0 0
supabase --help 0 0
supabase init 0 0
supabase migration new bench 0 0
supabase gen types --lang typescript --project-id replayfixtureprojref 2 2
supabase projects list 1 1
supabase functions list --project-ref replayfixtureprojref 2 2

Slowest phases

No command moved beyond noise, so there are no phase deltas.

Comment /bench to run it again on the latest commit.

Workflow run

@Coly010 Coly010 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.

LGTM, thanks!

Comment thread apps/cli-e2e/src/server/fixture-loader.ts
@7ttp
7ttp added this pull request to the merge queue Oct 30, 2026
Merged via the queue into develop with commit aacb70c Oct 30, 2026
82 of 83 checks passed
@7ttp
7ttp deleted the 7ttp/cli-2878-harness-coverage branch October 30, 2026 13:08
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.

2 participants