Skip to content

feat(gate): per-gate needs - #5

Merged
AlbinoGeek merged 1 commit into
mainfrom
feat/gate-needs
Nov 11, 2026
Merged

AlbinoGeek merged 1 commit into
mainfrom
feat/gate-needs

Conversation

@AlbinoGeek

Copy link
Copy Markdown
Member

needs = [..] per gate: a gate starts after the gates it names pass; a failed, timed-out or skipped need skips it (SKIP ... needs ), the failing gate's exit stays the verdict; unknown names and cycles (including through serial chains) refuse the file (exit 129); a need outside the current run is ignored, so gate run lint still works alone. Shown in --list and --json.

Why: go-* repos start lint, fmt, vuln and lint-windows together, and on a cold build cache each go tool builds the same binaries at once. Measured on go-safefs, full gate -q, GOCACHE wiped per cold run, 6 runs each: cold median 27.6s today vs 15.5s with a tools gate and needs = ["tools"] (-44%); warm 0.99s vs 1.10s. Tests run real shell gates through Run: ordering, failed-need skip, unknown name, cycle, absent need.

Copilot AI balanced review requested due to automatic review settings November 11, 2026 19:58

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@AlbinoGeek
AlbinoGeek merged commit 69bc145 into main Nov 11, 2026
9 checks passed
@AlbinoGeek
AlbinoGeek deleted the feat/gate-needs branch November 11, 2026 20:00
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