From 802470deb679e30e05ecd1f281ee61f72d24b711 Mon Sep 17 00:00:00 2001 From: garrytan Date: Tue, 3 Nov 2026 02:52:32 +0000 Subject: [PATCH] docs: describe path-scoped Windows checks Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> --- CONTRIBUTING.md | 3 ++- docs/TESTING_INTERNALS.md | 12 +++++++++++- docs/support-tiers.md | 2 +- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f394d2e3f..10010811b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -192,7 +192,8 @@ the new defaults. | Run full free acceptance before publishing | `bun run test` | Free, a few minutes | Bun 1.4.2 | | Run the full free suite from a small machine | `bun run test:ubicloud` | Free suite on a billed 16-vCPU VM, about 5 minutes | `UBICLOUD_API_KEY`, `UBI_OWNER` | | Clear pregate's test tier on a machine under 8 cores ([remote gate](docs/pregate.md#remote-gate)) | `gstack-pregate --stage tests --remote --spend-cap 2 --timeout 2700 --allow-repo-commands` (same command keyed or keyless) | Keyed: one billed 16-vCPU VM, about 7 minutes and $0.06 for the whole free tier, worst case $0.38; keyless: free, local parallel shards, practical for small selections only (98 files took 103 s on 4 cores) | Keyed: `UBICLOUD_API_KEY`, `UBI_OWNER`; keyless: nothing | -| Run the curated Windows-safe subset | `bun run test:windows` (CI: six `windows-latest` jobs, nightly on main; PRs run the shorter `windows-smoke` check) | Free | Windows, Git Bash | +| Run the curated Windows-safe subset | `bun run test:windows` (CI: six `windows-latest` jobs, nightly on main; PRs run the shorter `windows-smoke` check, and a PR that touches path, file-name or process code also runs its changed Windows-safe test files in `Windows Scoped Tests`) | Free | Windows, Git Bash | +| Rerun chosen Windows-safe test files on Windows CI | `gh workflow run windows-scoped-tests.yml --ref -f files=' '` (pick files from `bun run test:windows --list`) | Free CI runners | Pushed branch, `gh` with workflow rights | | Refresh the Windows duration seed | `gh workflow run windows-free-tests.yml --ref -f record_durations=true`, then commit the `free-test-durations-windows` artifact | Free CI runners | Pushed branch, `gh` with workflow rights | | Run a native Windows qualification campaign | `gh workflow run native-qualification.yml --ref -f mode=` ([modes](docs/TESTING_INTERNALS.md#windows-free-lane)) | Free CI runners | Pushed branch, `gh` with workflow rights | | Preview which paid cases my diff selects | `bun run eval:select` (PR profile; `--profile full` for the plain touchfile selection) | Free | — | diff --git a/docs/TESTING_INTERNALS.md b/docs/TESTING_INTERNALS.md index 10dc9ae12..4216c5256 100644 --- a/docs/TESTING_INTERNALS.md +++ b/docs/TESTING_INTERNALS.md @@ -1696,7 +1696,17 @@ the core skills, drives `/browse` on gstack's own browser, and runs the short test list in its last step, where each file's reason sits beside it. `test/windows-native-workflows.test.ts` keeps that list Windows-safe and fast. -The curated suite below runs nightly on main and on dispatch, never on a PR. +Windows checks run by path. `windows-scoped-tests.yml` (Windows Scoped Tests) +runs on every PR, and when the diff touches path, file-name or process code (the +filter is described at the top of the workflow), one `windows-latest` job runs +the PR's changed test files that are in the curated subset below. Its +`windows-scoped-tests` check passes when nothing is in scope, and a red run +blocks its PR. `windows-setup-e2e.yml` skips its Windows jobs when the only +install change is `package.json`'s version line. Both filters are pinned by +`test/windows-path-scope-workflow.test.ts`. To rerun chosen Windows-safe files on +a branch, dispatch `windows-scoped-tests.yml` with `-f files=' '`. + +The full curated suite below runs nightly on main and on dispatch, never on a PR. `windows-free-tests.yml` plans on Linux (`--windows-only --ci-plan --shards 6 --shard-jobs $WINDOWS_FREE_JOBS`), runs one strict serial shard per `windows-latest` job diff --git a/docs/support-tiers.md b/docs/support-tiers.md index 4450a8af2..b69b507a9 100644 --- a/docs/support-tiers.md +++ b/docs/support-tiers.md @@ -18,7 +18,7 @@ That is the whole promise. Other skills, optional parts such as `/cso`'s native ## What we stop doing - No Windows-only or Gemini-only features, parity work, tuning or polish. -- No new Windows or Gemini CI jobs or eval cells. Windows CI tuning stops. +- No new Windows or Gemini CI jobs or eval cells, apart from the path-scoped Windows checks under Windows CI below (ship-90-90 plan D). Other Windows CI tuning stops. - A Windows-only or Gemini-only report that doesn't break install, startup or a core workflow closes as won't fix ([triage rules](triage.md#closing-an-issue)), with a link to this page. A report that does break one of them gets a small fix. ## Windows CI