Skip to content

ci: narrow pushes on main and next to the areas they changed - #675

Merged
Exoridus merged 1 commit into
nextfrom
ci/main-change-aware-lanes
Sep 4, 2026
Merged

Exoridus merged 1 commit into
nextfrom
ci/main-change-aware-lanes

Conversation

@Exoridus

@Exoridus Exoridus commented Sep 4, 2026

Copy link
Copy Markdown
Owner

A push validated every area; only a pull request narrowed to what it changed. Pushes now get the same treatment: ci.yml diffs before..sha (shallow fetch of before) and hands the file list to planCi, which keeps the single source of truth in scripts/ci/lanes.ts.

Fail closed: a new branch (before all zeros), a failed fetch or diff (force-push without a common base), or an empty diff all fall back to the full matrix. Tags and workflow_dispatch never 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.

…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
Exoridus enabled auto-merge (squash) September 4, 2026 22:41
@codecov

codecov Bot commented Sep 4, 2026 •

Copy link
Copy Markdown

Bundle Report

Bundle size has no change ✅

@Exoridus
Exoridus merged commit 0d1a166 into next Sep 4, 2026
21 checks passed
@Exoridus
Exoridus deleted the ci/main-change-aware-lanes branch September 4, 2026 22:50
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.

1 participant