Skip to content

fix(ci): skip PR-body lint on synchronize (refs #3030) - #3031

Merged
apmantza merged 2 commits into
masterfrom
ci/3030-pr-body-lint
Sep 15, 2026
Merged

apmantza merged 2 commits into
masterfrom
ci/3030-pr-body-lint

Conversation

@apmantza

@apmantza apmantza commented Sep 14, 2026

Copy link
Copy Markdown
Owner

Summary

Refs #3030 on exact base 32f4d58d0d870a16e29c6b78586cb74d7197dd6f.
The branch head is f5e8a365d27865da217ec363eb448d85605b9bbe. The advisory
pr-body-lint job now skips ordinary pull-request synchronize events. It
still runs for opened, reopened, and edited events, and
scripts/check-pr-body.mjs and advisory status are unchanged.

Tests

  • Pre-edit base contract: npm run build then
    node_modules/.bin/vitest run tests/config/advisory-tool-workflow.test.ts --configLoader runner
    passed 13 tests.
  • Red-first regression on the original body predicate: 1 failed, 13 passed;
    #3030 PR body lint event coverage reported expected true to be false.
  • Fixed targeted contract: 15 passed.
  • Compile-valid mutation removing the synchronize exclusion: 2 failed, 13
    passed; the ci: run PR-body validation only on body-relevant events #3030 synchronize and exclusive-exclusion assertions both
    reported the expected red result.
  • Correction round targeted contract: 15 passed; full post-build suite:
    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; actionlint is not
    installed in this environment. CI must confirm the workflow actionlint lane.
  • Grammar prefetch emitted the repository's existing offline/CDN-unreachable
    warnings; the targeted workflow test remained network-independent and passed.

Blast radius

Changed symbols: the pr-body-lint job-level if and its real-YAML contract
test. The workflow trigger remains pull_request types
opened,synchronize,reopened,edited; push, repository_dispatch, and all
other 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. Only pr-body-lint changed.

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.ts uniquely pins the workflow's
advisory 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

Preflight

npm run preflight completed with no emitted table or diagnostic output. The
runner did not surface the shell's exit-code line, so the preflight result is
unverifiable here and must be confirmed by CI.

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.
@sonarqubecloud

Copy link
Copy Markdown

@apmantza
apmantza merged commit 16d6fd0 into master Sep 15, 2026
45 of 57 checks passed
@apmantza
apmantza deleted the ci/3030-pr-body-lint branch September 15, 2026 15:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants