-
Notifications
You must be signed in to change notification settings - Fork 18
fix: time out hung gh secret/variable list in dispatch #323
Copy link
Copy link
Open
Labels
P2Normal priority bug or improvement with limited blast radius.Normal priority bug or improvement with limited blast radius.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:queueable-fixClawSweeper marked this issue as an existing queue_fix_pr work candidate.ClawSweeper marked this issue as an existing queue_fix_pr work candidate.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:crash-loopThis issue is about crashes, hangs, restart loops, or process-level availability.This issue is about crashes, hangs, restart loops, or process-level availability.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.no-staleExempts this issue from stale automation.Exempts this issue from stale automation.
Description
Activity
Metadata
Metadata
Assignees
Labels
P2Normal priority bug or improvement with limited blast radius.Normal priority bug or improvement with limited blast radius.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:queueable-fixClawSweeper marked this issue as an existing queue_fix_pr work candidate.ClawSweeper marked this issue as an existing queue_fix_pr work candidate.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:crash-loopThis issue is about crashes, hangs, restart loops, or process-level availability.This issue is about crashes, hangs, restart loops, or process-level availability.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.no-staleExempts this issue from stale automation.Exempts this issue from stale automation.
Type
Fields
Priority
None yet
scripts/dispatch-jobs.mjslistRepoSecretsandlistRepoVariablescallspawnSync(gh ...)with no timeout. Ifgh secret listorgh variable listnever returns,npm run dispatchpins until someone kills it.What happens
gh secret list --json name, thengh variable list --json name.spawnSyncwith notimeout.This is separate from dispatch child
runCommandtimeouts.Proposed fix
Give those inspect children the same timeout contract as worker planner/review children:
CLOWNFISH_DISPATCH_SECRET_LIST_TIMEOUT_MS(default 2 minutes)spawnSync(..., { timeout, killSignal: "SIGKILL" })forgh secret listandgh variable listETIMEDOUT, keep the current skip-with-warning path (could not inspect repo secrets/could not inspect repo variables) and return nullA source contract plus hung-secret and hung-variable fixtures live in
test/app-token-auth.test.mjs.Fork branch
This repo limits pull requests to collaborators, so I could not open a PR. The patch is on my fork:
SebTardif:fix/dispatch-secret-list-timeout1fd1e42fFeel free to cherry-pick that commit, or I can open a PR if you add this account as a collaborator.