ci: keep required checks present for light PRs#3704
Conversation
Docs-only and workflow-only PRs can skip the heavy Rust work, but the repository ruleset still requires Lint, Test, and npm wrapper smoke contexts. Previously those jobs were skipped at the job level, so otherwise-green PRs could not be merged normally. Run the jobs for light changes and make their expensive steps conditional instead, leaving an explicit successful skip step in each required context. Keep the harvested-credit check active in Lint so docs harvests still get credit validation. Verification: git diff --check; Ruby YAML parse of .github/workflows/ci.yml.
|
Claude finished @Hmbown's task in 1m 45s —— View job PR Review: ci: keep required checks present for light PRs
SummaryThe approach is correct and well-targeted. Moving the FindingsCorrectness — no bugs found. Logic coverage across the three jobs:
The schedule path is unchanged:
Minor resource note: light PRs now spin up 3 matrix runners for
VerdictNo correctness issues. The changes are minimal, focused, and achieve the stated goal. The harvest check behavior is preserved. Good to merge. |
Summary
Lint,Test (...), andnpm wrapper smoke (...)contexts present for docs/workflow-only PRs.needs.changes.outputs.heavystep conditions instead of skipping the whole job.Lint.This is meant to fix the current ruleset mismatch where clean light PRs like #3607 and #3684 are blocked because the required matrix contexts never get created.
Testing
cargo fmt --all -- --check(not run; workflow-only YAML change)cargo clippy --workspace --all-targets --all-features(not run; workflow-only YAML change)cargo test --workspace --all-features(not run; workflow-only YAML change)git diff --checkruby -e 'require "yaml"; YAML.load_file(".github/workflows/ci.yml"); puts "yaml ok"'\n- [ ] GitHub CI on this PR validates the workflow behavior\n\n## Checklist\n\n- [x] Updated docs or comments as needed\n- [x] Added or updated tests where relevant (GitHub workflow validation is the relevant test here)\n- [x] Verified TUI behavior manually if UI changes (N/A: no TUI changes)\n- [x] Harvested/co-authored credit uses a GitHub numeric noreply address (N/A: no harvested contributor commit)\n