Repository navigation
ci: shard Windows test legs, aggregate ci check, WSL lane on integration-line pushes only - #121
Conversation
… ci check, WSL on integration-line pushes)
…full-suite badge lane scripts/test.mjs learns --shard i/n: it expands the test globs itself, sorts the POSIX-normalized paths and keeps every file whose index % n === i - 1, so shards partition the suite deterministically on every OS (test-shard.test.mjs proves union, disjointness and separator-agnostic order over the real package.json patterns). ci.yml runs the ubuntu lane whole so the tests badge total is still measured, keeps macOS whole, splits each Windows autocrlf variant into two shards with a 12-minute bound, cancels superseded PR runs only, and adds an if: always() ci job that fails unless every leg reports success.
…y, as two parallel jobs The 13-14 minute WSL lane proves an installation property (drvfs vs ext4 diagnosis), not a review property, so it leaves pull_request and runs on push to main/preview/dev and workflow_dispatch. The drvfs and ext4 checkouts become separate jobs with a 20-minute bound so they run side by side. README gains a table of which checks run on pull requests and which on integration lines.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2535483654
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| | Check | Pull request | Push to `dev` / `preview` / `main` | | ||
| |---|---|---| | ||
| | `ci` (aggregate of `test (ubuntu-latest, false)`, `test (macos-latest, false)`, four Windows shards) | yes | yes | | ||
| | `artifact (…)` / `install (…)` packed-install lifecycle | yes | yes | |
There was a problem hiding this comment.
Add preview to the packed-install trigger
On pushes to preview, this row promises that the packed-install artifact (…) and install (…) jobs run, but .github/workflows/packed-install.yml still limits its push trigger to [main, dev]. Consequently, preview commits receive no packed-install lifecycle coverage despite being documented as an integration-line push; either include preview in that workflow's trigger or correct the table.
Useful? React with 👍 / 👎.
…leset update, dev-push evidence)
Problem
Every pull request paid for the 13–14 minute WSL lane and two 9-minute Windows test legs, so PR wall-clock time was set by installation checks rather than by review evidence. Splitting the test job also needs one stable check to require, since the current
mainruleset names the per-OStest (…)contexts.Change
scripts/test.mjs --shard i/n: expands the test globs itself, sorts POSIX-normalized paths and keeps every file whose index % n === i − 1.plugins/codexclaw/test/test-shard.test.mjsproves union, disjointness and separator-agnostic order over the realpackage.jsonpatterns (212 files, 106/106).ci.yml: the ubuntu lane still runs the whole suite in one process and measures the tests badge total; macOS stays whole; each Windows autocrlf variant runs as two shards with a 12-minute bound;cancel-in-progressonly for pull requests; anif: always()cijob fails unless every leg reportssuccess(skipped and cancelled fail). Push trigger addspreview.wsl.yml: runs on push tomain/preview/devandworkflow_dispatchonly, as two parallel jobs (wsl (drvfs /mnt/c),wsl (native ext4 ~)) with 20-minute bounds.After merge the
protect-mainruleset's required checks move from the fourtest (os, autocrlf)contexts tociplus the packed-install contexts (before/after saved in the devlog).Validation
test-shard.test.mjs4/4;node plugins/codexclaw/scripts/test.mjs --shard 2/2 "plugins/codexclaw/test/*.test.mjs"ran 16 files, 272 tests, exit 0; aggregate logic checked with success and skipped/cancelled fixtures.ci.ymlon its own head: thecicheck and the four Windows shards are the proof.