Skip to content

ci: reduce routine validation fanout - #4503

Merged
BunsDev merged 1 commit into
mainfrom
chore/cave-58eoq-8-path-aware-ci
Aug 10, 2026
Merged

ci: reduce routine validation fanout#4503
BunsDev merged 1 commit into
mainfrom
chore/cave-58eoq-8-path-aware-ci

Conversation

@BunsDev

@BunsDev BunsDev commented Aug 10, 2026

Copy link
Copy Markdown
Member

Summary

  • replace the routine ~15-job PR workflow with one always-reporting, path-aware Frontend build job
  • run frontend, Rust, and Playwright suites only when their paths require them
  • move comprehensive web/E2E, Linux/Windows/macOS runtime, Windows native, sidecar, daemon-fault, and iOS validation to releases
  • preserve exact-SHA CI recovery and executable branch-protection contracts

Validation

  • focused path classifier, CI recovery, branch-to-merge, iOS, and release-runtime contracts
  • workflow YAML parsing
  • pnpm lint
  • pnpm check:tests-wired
  • full app suite reached 1076 files before an unrelated OAuth port ownership race; its isolated rerun passed

Transition

Once this PR head reports a successful Frontend build, classic branch protection can safely be reduced from nine contexts to that one existing context without stranding old or new PR branches.

Bead: cave-58eoq.8

Copilot AI lite review requested due to automatic review settings August 10, 2026 12:40

Copilot AI 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.

Pull request overview

This PR refactors routine pull request CI to a single always-reporting Frontend build job that conditionally runs frontend/Rust/E2E work based on changed paths, while moving broader cross-platform and native validation into the release workflow and preserving exact-SHA recovery/branch-protection contracts.

Changes:

  • Collapse .github/workflows/ci.yml to one required build job and add path-aware gating via scripts/ci-paths.mjs.
  • Expand release.yml with dedicated release validation jobs (web+E2E, platform runtime matrix, Windows-native, iOS build) and wire build.needs to wait for them.
  • Update contract tests/docs/skills to reflect the new “ONE required check” model and validate the new workflow topology.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src-tauri/release-runtime.test.mjs Updates release/runtime workflow contract assertions to track jobs moved from CI into release.yml.
scripts/run-tests.mjs Wires the new scripts/ci-paths.test.mjs into the repository test suites list.
scripts/ios-build-ci.test.mjs Retargets iOS build contract checks from ci.yml to release.yml and updates expectations (runner + dependencies).
scripts/ci-recovery.test.mjs Updates recovery test fixtures to expect only the single guarded build job.
scripts/ci-recovery.mjs Narrows guarded job inventory to ["build"] for recovery validation logic.
scripts/ci-recovery-workflow.test.mjs Asserts CI has exactly one job and release build waits on all new release validation jobs.
scripts/ci-paths.test.mjs Adds unit tests for the path classifier behavior.
scripts/ci-paths.mjs Introduces the path classifier and CLI wrapper used by CI to decide which suites to run.
scripts/branch-to-merge-contract.test.mjs Updates branch-to-merge skill contract checks to match the single required context and updated CLAUDE.md wording.
CLAUDE.md Updates branch protection documentation to reflect Frontend build as the only required status check.
.github/workflows/release.yml Adds release validation jobs and ensures artifact build waits on them.
.github/workflows/ci.yml Replaces multi-job PR CI fanout with a single path-aware Frontend build job.
.agents/skills/branch-to-merge/SKILL.md Updates guidance to reflect one required check and path-aware Playwright behavior.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@BunsDev
BunsDev merged commit e019c02 into main Aug 10, 2026
3 checks passed
@BunsDev
BunsDev deleted the chore/cave-58eoq-8-path-aware-ci branch August 10, 2026 12:54
@BunsDev
BunsDev restored the chore/cave-58eoq-8-path-aware-ci branch August 10, 2026 13:00
@BunsDev
BunsDev deleted the chore/cave-58eoq-8-path-aware-ci branch August 10, 2026 13:10
@BunsDev
BunsDev restored the chore/cave-58eoq-8-path-aware-ci branch August 10, 2026 13:27
@BunsDev
BunsDev deleted the chore/cave-58eoq-8-path-aware-ci branch August 10, 2026 13:28
@BunsDev
BunsDev restored the chore/cave-58eoq-8-path-aware-ci branch August 10, 2026 13:29
@BunsDev
BunsDev deleted the chore/cave-58eoq-8-path-aware-ci branch August 10, 2026 16:41
@BunsDev
BunsDev restored the chore/cave-58eoq-8-path-aware-ci branch August 10, 2026 17:18
@BunsDev
BunsDev deleted the chore/cave-58eoq-8-path-aware-ci branch August 10, 2026 17:33
@BunsDev
BunsDev restored the chore/cave-58eoq-8-path-aware-ci branch August 10, 2026 17:34
@BunsDev
BunsDev deleted the chore/cave-58eoq-8-path-aware-ci branch August 10, 2026 20:08
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