Skip to content

fix(stack): name the stalled engine command in timeout errors - #7407

Open
avallete wants to merge 1 commit into
developfrom
avallete/flaky-engine-timeout-diagnostic
Open

avallete wants to merge 1 commit into
developfrom
avallete/flaky-engine-timeout-diagnostic

Conversation

@avallete

Copy link
Copy Markdown
Member

TL;DR

Engine command timeouts now name the stalled subcommand and the engine's latest stderr, so the next occurrence of this flake shows which call hung.

  • Owner.logs.integration.test.ts › persists container output: startService for Mailpit failed with engine-timeout and only Operation timed out after '30s'. The error didn't say which engine subcommand ran past the 30s default, so the cause couldn't be found from the logs. Container.command now fails with Engine command '<subcommand>' did not finish within <duration>; stderr: <tail>. It keeps the engine-timeout / image-pull kinds. A regression test drives a stalled start with a controlled clock.

ref

spotted in: https://github.com/supabase/cli/actions/runs/40890624066/job/123506114202 (green rerun: https://github.com/supabase/cli/actions/runs/40890624066/job/123509245894)


Generated by Claude Code

An engine command that outlives its deadline failed with a bare
"Operation timed out after '30s'", hiding which subcommand stalled and
what the engine last reported. The timeout now names the subcommand and
carries the stderr tail, keeping the engine-timeout and image-pull kinds.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MBEk1LaE2jUMLrpQ1WCiVy
@avallete
avallete requested a review from a team as a code owner October 30, 2026 07:43

Copy link
Copy Markdown
Member Author

/ai-review


Generated by Claude Code

@avallete avallete added the run-flaky-check Run the flaky-test check on this PR label Oct 30, 2026 — with Claude
@github-actions github-actions Bot removed the run-flaky-check Run the flaky-test check on this PR label Oct 30, 2026
@github-actions

Copy link
Copy Markdown
Contributor

CLI benchmark: no changes found

Commit 9e6d28c against develop at c13428e · 10 runs each · report only, never blocks merging

Command Before After Change
supabase --version 171 ms 167 ms no real change
supabase --help 175 ms 175 ms no real change
supabase init 154 ms 152 ms no real change
supabase migration new bench 189 ms 190 ms no real change
supabase gen types --lang typescript --project-id replayfixtureprojref 216 ms 219 ms no real change
supabase projects list 178 ms 179 ms no real change
supabase functions list --project-ref replayfixtureprojref 230 ms 202 ms no real change (-12%, within normal variation)

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 152-203 ms 153-194 ms -4 ms (-2%) within noise
supabase --help 156-190 ms 153-209 ms 0 ms (0%) within noise
supabase init 149-210 ms 150-228 ms -2 ms (-1%) within noise
supabase migration new bench 158-208 ms 160-216 ms +1 ms (+0%) within noise
supabase gen types --lang typescript --project-id replayfixtureprojref 209-225 ms 197-235 ms +4 ms (+2%) within noise
supabase projects list 169-201 ms 168-205 ms +1 ms (+1%) within noise
supabase functions list --project-ref replayfixtureprojref 173-291 ms 179-290 ms -28 ms (-12%) 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

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

Superseded by a newer AI review

🤖 AI Review

Both independent reviews completed and reported no findings. Inspection of the changed code and surrounding runtime and test logic found no additional actionable issues. Tests and type checks were not run because dependencies are absent.

Findings

No issues found.

Stats

Claude findings: 0 · Codex findings: 0 · Confirmed: 0 · 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.

@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 completed and reported no findings. Reading the changed code and surrounding launch/error handling revealed no actionable issues. Tests were not run because dependencies are not installed.

Findings

No issues found.

Stats

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


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

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

@github-actions

github-actions Bot commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Flaky test check: ⚠️ 20 runs without results

Commit f4dddfc35744 · focused ×10 (no tests ran) · integration ×10, 6650 tests · unit ×10 (no tests ran) · workflow run

Runs without results (20)

Run Problem
flaky-focused-run1 test step did not run or finish (setup failure, flaky-check error, timeout, or cancel); see the job log
flaky-focused-run10 test step did not run or finish (setup failure, flaky-check error, timeout, or cancel); see the job log
flaky-focused-run2 test step did not run or finish (setup failure, flaky-check error, timeout, or cancel); see the job log
flaky-focused-run3 test step did not run or finish (setup failure, flaky-check error, timeout, or cancel); see the job log
flaky-focused-run4 test step did not run or finish (setup failure, flaky-check error, timeout, or cancel); see the job log
flaky-focused-run5 test step did not run or finish (setup failure, flaky-check error, timeout, or cancel); see the job log
flaky-focused-run6 test step did not run or finish (setup failure, flaky-check error, timeout, or cancel); see the job log
flaky-focused-run7 test step did not run or finish (setup failure, flaky-check error, timeout, or cancel); see the job log
flaky-focused-run8 test step did not run or finish (setup failure, flaky-check error, timeout, or cancel); see the job log
flaky-focused-run9 test step did not run or finish (setup failure, flaky-check error, timeout, or cancel); see the job log
flaky-unit-run1 test step did not run or finish (setup failure, flaky-check error, timeout, or cancel); see the job log
flaky-unit-run10 test step did not run or finish (setup failure, flaky-check error, timeout, or cancel); see the job log
flaky-unit-run2 test step did not run or finish (setup failure, flaky-check error, timeout, or cancel); see the job log
flaky-unit-run3 test step did not run or finish (setup failure, flaky-check error, timeout, or cancel); see the job log
flaky-unit-run4 test step did not run or finish (setup failure, flaky-check error, timeout, or cancel); see the job log
flaky-unit-run5 test step did not run or finish (setup failure, flaky-check error, timeout, or cancel); see the job log
flaky-unit-run6 test step did not run or finish (setup failure, flaky-check error, timeout, or cancel); see the job log
flaky-unit-run7 test step did not run or finish (setup failure, flaky-check error, timeout, or cancel); see the job log
flaky-unit-run8 test step did not run or finish (setup failure, flaky-check error, timeout, or cancel); see the job log
flaky-unit-run9 test step did not run or finish (setup failure, flaky-check error, timeout, or cancel); see the job log

Each execution is a separate Vitest process; Where lists failing runs, as run.iteration for suites executed more than once per run. The full data is in the flaky-check-report artifact.

@avallete avallete added the run-flaky-check Run the flaky-test check on this PR label Oct 30, 2026 — with Claude

Copy link
Copy Markdown
Member Author

The red flaky-unit-run* and flaky-focused-run* jobs aren't caused by this PR. They fail before any test runs: the flaky-check tooling, checked out from develop, runs turbo run test:unit:run --filter=!@supabase/cli-go --dry=json. Turbo exits 1 with No package found with name '@supabase/cli-go' in workspace because apps/cli-go no longer exists (.github/scripts/flaky-check/plan.ts:222; cli.ts:116 still points e2e at apps/cli-go/supabase-go). The scheduled develop run 40997246725 fails the same way. No fix exists yet. Because the tooling comes from develop, the fix has to land there, separately from this PR. The integration suite ran ×10 with no flaky or failing tests, including Owner.logs and the new Container regression test.


Generated by Claude Code

@github-actions github-actions Bot removed the run-flaky-check Run the flaky-test check on this PR label Oct 30, 2026

This branch has not been deployed

No deployments
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