Skip to content

ci: speed up test workflows on PRs#623

Merged
Chemaclass merged 2 commits intomainfrom
ci/speedup-windows
Apr 18, 2026
Merged

ci: speed up test workflows on PRs#623
Chemaclass merged 2 commits intomainfrom
ci/speedup-windows

Conversation

@Chemaclass
Copy link
Copy Markdown
Member

Summary

Five wins to cut CI wall-clock time, especially on Windows where Git Bash process spawn is ~10x slower than Linux:

  1. Concurrency groups on tests.yml + tests-bash-3.0.yml — cancel stale in-flight runs as soon as a new commit is pushed to a PR.
  2. Rebalance Windows acceptance shards: a-l (~2m20s) split into a-e + f-l (~1m10s each) — 10 test files per shard.
  3. paths-ignore filter — skip full test matrix when only docs/**, adrs/**, *.md, issue/PR templates change.
  4. Windows acceptance only on push: main, not on every PR — Windows unit + functional still run on PRs; acceptance still validated before merge hits main.
  5. --jobs 4 on Windows matches the 4-core runner and avoids oversubscription on Git Bash.

Also ignore .claude/scheduled_tasks.lock (local Claude Code state).

Test plan

  • ruby -ryaml validates both YAML files
  • Verify concurrency cancels superseded runs (will observe on next push)
  • Verify Windows PR run no longer includes acceptance shards
  • Verify push: main (after merge) runs the 3 acceptance shards

Apply five wins to reduce CI wall-clock time, especially on Windows:

1. Add `concurrency` groups to both test workflows so stale PR runs
   are cancelled when a new commit is pushed.
2. Rebalance Windows acceptance shards (`a-l` → `a-e` + `f-l`) so the
   slowest shard drops from ~2m20s to ~1m10s.
3. Add `paths-ignore` filter so pushes touching only `docs/**`,
   `adrs/**`, `*.md` do not trigger the full test matrix.
4. Split Windows acceptance jobs into `windows-acceptance` running only
   on `push` to `main` — keeps coverage on merge, removes the long
   acceptance wait from every PR.
5. Pass `--jobs 4` to `./bashunit --parallel` on Windows to match the
   4-core runner and avoid over-subscription on Git Bash.

Also gitignore `.claude/scheduled_tasks.lock`.
@Chemaclass Chemaclass added the enhancement New feature or request label Apr 18, 2026
@Chemaclass Chemaclass self-assigned this Apr 18, 2026
@github-actions
Copy link
Copy Markdown
Contributor

✅ Contributor Report

User: @Chemaclass
Status: Trusted contributor (whitelisted)

This user is on the trusted contributors list and was automatically approved.

@Chemaclass Chemaclass merged commit 8e128ec into main Apr 18, 2026
28 checks passed
@Chemaclass Chemaclass deleted the ci/speedup-windows branch April 18, 2026 10:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant