* ci: reduce repeated Windows and fuzz tests on pull requests Signed-off-by: WenyXu <wenymedia@gmail.com> * ci: use the nightly merge label as the enqueue opt-in Signed-off-by: WenyXu <wenymedia@gmail.com> * ci: log nightly merge decisions for dry-run verification Signed-off-by: WenyXu <wenymedia@gmail.com> * ci: gate expensive jobs on GitHub script tests Signed-off-by: WenyXu <wenymedia@gmail.com> * ci: grant pull request write permission for nightly label sync Signed-off-by: WenyXu <wenymedia@gmail.com> * ci: run platform checks on schedule or manual dispatch Signed-off-by: WenyXu <wenymedia@gmail.com> * test(ci): update PR gate count for scheduled platform checks Signed-off-by: WenyXu <wenymedia@gmail.com> --------- Signed-off-by: WenyXu <wenymedia@gmail.com>
1.7 KiB
Heavy CI scheduling
Checks, Rust CI, and Integration CI each run the shared GitHub script test action before expensive builds and tests. A failed, skipped, or cancelled script-test job blocks those jobs, including manually dispatched runs. Each workflow runs its own preflight so it does not wait on another workflow run.
Rust CI keeps the Windows compilation check on PRs and merge groups. Windows nextest and Windows SQLness run in the existing Nightly CI workflow, which also supports manual dispatch. Its existing schedule is Tuesday through Friday at 07:00 Asia/Shanghai, not every day. No new Windows test job is added.
Integration CI admits fuzz when a non-draft PR is opened or marked ready for review, selecting suites with the existing diff-scope classifier. Its weekday schedule (23:00 Asia/Shanghai, Monday through Friday) runs all fuzz suites. Ordinary pushes and reopening do not run fuzz; core integration checks still run. Merge groups continue to skip fuzz.
Re-running an ordinary push-triggered Integration CI run does not enable fuzz. A new push can cancel an earlier ready-for-review run. Use an explicit fuzz profile through the CI entry points below when later changes need fuzz coverage.
For a same-repository branch, use Run workflow and select fuzz_profile
(standalone, distributed, chaos, or all). The default none runs core
integration without fuzz. The existing /ci fuzz ... commands remain available
for same-repository draft PRs with their existing authorization rules.
Validate job admission with node --test .github/scripts/heavy-ci-policy.test.cjs.
These tests verify triggering decisions, not runner availability or performance.