fix(ci): skip PR-body lint on synchronize (refs #3030) - #3031
Merged
Merged
Conversation
Narrow only the advisory PR-body workflow job so ordinary synchronize events do not rerun unchanged body validation, while opened, reopened, and edited metadata/body events retain the check. Preserve the existing validator and advisory status.
Cover opened, reopened, edited, and synchronize action cells and ensure the synchronize exclusion remains exclusive to the PR-body job.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Summary
Refs #3030 on exact base
32f4d58d0d870a16e29c6b78586cb74d7197dd6f.The branch head is
f5e8a365d27865da217ec363eb448d85605b9bbe. The advisorypr-body-lintjob now skips ordinary pull-requestsynchronizeevents. Itstill runs for
opened,reopened, andeditedevents, andscripts/check-pr-body.mjsand advisory status are unchanged.Tests
npm run buildthennode_modules/.bin/vitest run tests/config/advisory-tool-workflow.test.ts --configLoader runnerpassed 13 tests.
#3030 PR body lint event coveragereportedexpected true to be false.passed; the ci: run PR-body validation only on body-relevant events #3030 synchronize and exclusive-exclusion assertions both
reported the expected red result.
1,682 passed, 6 skipped across 109 files.
npm run build: passed.npm run fmt:check: passed (1,831 files).git diff --check: passed.actionlint .github/workflows/lint.yml: unavailable;actionlintis notinstalled in this environment. CI must confirm the workflow actionlint lane.
warnings; the targeted workflow test remained network-independent and passed.
Blast radius
Changed symbols: the
pr-body-lintjob-levelifand its real-YAML contracttest. The workflow trigger remains
pull_requesttypesopened,synchronize,reopened,edited;push,repository_dispatch, and allother job predicates remain unchanged. The job population sweep found:
validate-merge-train-dispatch,actionlint,pr-title-lint,pr-body-lint,oxfmt,knip,markdownlint,record-post-merge-validation,vale,oxlint-advisory,jscpd,complexity,strictness,yamllint,typos,and
taplo. Onlypr-body-lintchanged.Class sweep
Swept all jobs and all pull-request event predicates in
.github/workflows/lint.yml.Verdict: stay distributed; this is a job-local event policy and no shared
helper or additional event seam is warranted.
pr-title-lint, actionlint,oxfmt, dispatch validation, and every other lint job retain their prior event
coverage. No language or runtime surface is involved.
Observability
No new failure path or telemetry is added. The existing advisory check remains
visible on its retained events; synchronize runs no longer create the body
check. The regression observes the parsed real workflow text.
Test assessment
tests/config/advisory-tool-workflow.test.tsuniquely pins the workflow'sadvisory and policy-job contracts. Its existing #2714 assertion was narrowed
only enough to permit the intentional body-only event predicate while still
requiring dependabot exclusion on both policy jobs.
Finding disposition
gh issue view 3030was unavailable because thisenvironment has no GitHub CLI authentication; the requested repository
contract and exact-base behavior were verified locally.
Preflight
npm run preflightcompleted with no emitted table or diagnostic output. Therunner did not surface the shell's exit-code line, so the preflight result is
unverifiable here and must be confirmed by CI.