Skip to content

ci(workflows): cut PR regression gates wall time (refs #3184) - #3185

Merged
mblua merged 2 commits into
mainfrom
ci/3184-cut-pr-gates-wall-time
Oct 23, 2026
Merged

mblua merged 2 commits into
mainfrom
ci/3184-cut-pr-gates-wall-time

Conversation

@mblua

@mblua mblua commented Oct 23, 2026

Copy link
Copy Markdown
Owner

Closes #3184

What

Cuts the wall time of PR regression gates. The Windows rust-regression job was the critical path (p50 61 min over 351 runs).

  • IS config: canonical HOME for unsuffixed executables, no migration #1850 release build split into issue-1850-release-windows (light tier, restores gate-release), issue-1850-release-linux and issue-1850-release-macos (full tier). The moved steps are byte-identical.
  • cache-warm.yml warm-release also compiles the release test harnesses.
  • New light-tier rust-slow-test-windows runs single_editor_driver_nonempty_actual_pair_guard_cuts_resume_original_packets (~16 min on Windows; every other lib test is done by ~9 min). rust-regression-windows skips it by the same name, and the new job fails if the name matches nothing.
  • cargo check removed from the three Rust jobs.
  • ci:full is one-shot.
  • macOS #1938 step timeout 10 -> 20 min (timed out twice on 2026-10-23).
  • Renames: rust-regression-windows, release-cli-smoke-windows, issue-1850-profile-windows, rust-release-parity-linux, verify-warm-debug, verify-warm-release; six step names quoted so YAML no longer cuts them at #.
  • npm run ci:local runs the test-debt checks, cargo fmt --check and clippy (pinned toolchain) locally.

Verification

  • actionlint 1.7.12 clean on the three workflows; YAML parses; 16 jobs.
  • npm run ci:local green on Windows at this tree (complexity check warns, as in CI).
  • Fast commit-based checks green on this commit: sanitizing line_length/file_size, test:debt, check:served-paths, dup:changed, cog:baseline, cargo fmt.
  • Not measured yet: the new jobs' run times. This PR's own CI is the first run.

Ruleset (admin, at merge)

This PR renames two required checks, so rust-regression and windows-release-cli-smoke never report on it. At merge:

  • Replace rust-regression and windows-release-cli-smoke with rust-regression-windows and release-cli-smoke-windows.
  • Add issue-1850-release-windows, issue-1850-release-linux, issue-1850-release-macos and rust-slow-test-windows.

- Split the IS #1850 release build out of the three rust-regression jobs
  into issue-1850-release-windows (light tier, gate-release cache),
  issue-1850-release-linux and issue-1850-release-macos (full tier).
- cache-warm warm-release also compiles the release test harnesses.
- New light-tier job rust-slow-test-windows runs the ~16 min
  source-transition driver test; rust-regression-windows skips it.
- Drop cargo check from the three Rust jobs.
- ci:full is one-shot: only the run started by adding the label goes full.
- macOS #1938 step timeout 10 -> 20 min.
- Rename rust-regression -> rust-regression-windows,
  windows-release-cli-smoke -> release-cli-smoke-windows,
  issue-1850-windows-profile -> issue-1850-profile-windows,
  rust-linux-release-parity -> rust-release-parity-linux,
  verify-*-cache -> verify-warm-*; quote six step names YAML cut at " #".
- Add npm run ci:local (scripts/ci-local.mjs) and document it.
- issue-1850-release-macos: release build timeout 40 -> 60 min; the
  crate alone compiles for ~33 min on macOS and the first run timed out
  at 40m03s.
- issue-1850-release-linux: npm ci --ignore-scripts, like the other
  Linux jobs (SonarCloud security rating).
- ci-local.mjs: merge two push calls, drop a nested ternary, stringify
  the summary name explicitly (SonarCloud code smells).
@mblua mblua added ci:full Run the full PR regression gates on this PR and removed ci:full Run the full PR regression gates on this PR labels Oct 23, 2026
@sonarqubecloud

Copy link
Copy Markdown

@mblua
mblua merged commit 5de4979 into main Oct 23, 2026
41 of 47 checks passed
@mblua
mblua deleted the ci/3184-cut-pr-gates-wall-time branch October 23, 2026 22:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:full Run the full PR regression gates on this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ci: cut PR regression gates wall time (split release #1850 and slow Windows test, one-shot ci:full, ci:local)

1 participant