ci: narrow pushes on main and next to the areas they changed - #675
Merged
Merged
Conversation
…osed planCi now treats a branch push the same way it treats a pull request: it narrows to the areas selectAreas derives from the event's changed files, provided that list resolved to at least one file. An empty list - an unresolved before..after diff (new branch, force-push with no shared history) or a diff that genuinely touched nothing - keeps the existing full-validation fallback, so the push stays fail closed rather than skipping lanes it cannot account for. ci.yml gains a push counterpart to the pull request's changed-file step: it resolves before via a shallow fetch and diffs it against the pushed commit, leaving the file list empty (and the plan job falling back to full validation) whenever that fetch or diff fails. Tag pushes and workflow_dispatch are untouched - they never reach the selective branch. Claude-Session: https://claude.ai/code/session_01NSrXpH1WyqP7udpWWhHz1i
Exoridus
enabled auto-merge (squash)
September 4, 2026 22:41
Bundle ReportBundle size has no change ✅ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A push validated every area; only a pull request narrowed to what it changed. Pushes now get the same treatment:
ci.ymldiffsbefore..sha(shallow fetch ofbefore) and hands the file list toplanCi, which keeps the single source of truth inscripts/ci/lanes.ts.Fail closed: a new branch (
beforeall zeros), a failed fetch or diff (force-push without a common base), or an empty diff all fall back to the full matrix. Tags andworkflow_dispatchnever take the push path and stay full. Coverage and the release lane are unchanged. Twenty planner tests cover narrowing, the pull-request-only lane, the empty-diff fallback and dispatch.