Skip to content

ci(pr-check): aggregate checks - #45948

Draft
caugner wants to merge 3 commits into
mainfrom
reusable-pr-check-workflow
Draft

caugner wants to merge 3 commits into
mainfrom
reusable-pr-check-workflow

Conversation

@caugner

@caugner caugner commented Oct 1, 2026 •

Copy link
Copy Markdown
Collaborator

Description

Update PR checks to run through one aggregate workflow that selects reusable checks by changed files and reports a single aggregate result. Centralize concurrency and standardize job names, including filecheck-help and build-help for the script CLI help checks.

Motivation

Require all applicable checks through one aggregate result alongside the separate tests check, while allowing checks unrelated to the changed files to be skipped.

Additional details

Aggregation removes the standalone lint workflow that triggers Reviewdog. Triggering Reviewdog on completion of the aggregate workflow would delay lint feedback until its longer checks finish. To preserve prompt feedback, Reviewdog starts with PR checks and waits for the lint artifact before posting suggestions.

Required check contexts on main become tests and all-checks-passed-or-skipped, without workflow-name prefixes.

Check names in the PR UI change to PR checks / <check> / <job> (e.g. PR checks / content / lint).

Before merge

  • Confirm tests and all-checks-passed-or-skipped pass on this PR.
  • Replace check-redirects with all-checks-passed-or-skipped in main branch protection, retaining tests and GitHub Actions as the check source. Merge immediately afterward; this PR no longer reports check-redirects.

After merge

  • Update existing PR branches from main if they do not report the aggregate check.
  • Verify the aggregate passes with skipped jobs and fails with failing jobs.
  • Verify Reviewdog still posts lint suggestions before longer checks finish on a content PR.

Related issues and pull requests

@github-actions github-actions Bot added system [PR only] Infrastructure and configuration for the project size/m [PR only] 51-500 LoC changed labels Oct 1, 2026
@caugner caugner closed this Oct 1, 2026
@caugner
caugner force-pushed the reusable-pr-check-workflow branch from 13f5b4c to ac295ae Compare October 1, 2026 20:05
@github-actions github-actions Bot added size/xs [PR only] 0-5 LoC changed and removed size/m [PR only] 51-500 LoC changed labels Oct 1, 2026
@caugner caugner reopened this Oct 1, 2026
@github-actions github-actions Bot added size/m [PR only] 51-500 LoC changed and removed size/xs [PR only] 0-5 LoC changed labels Oct 1, 2026
tieng1344

This comment was marked as spam.

Use job names that describe the CLI help commands being exercised.
@caugner
caugner force-pushed the reusable-pr-check-workflow branch from 5f93861 to 9b39713 Compare October 7, 2026 10:57
@caugner caugner changed the title ci(pr-checks): add aggregate reusable checks ci(pr-check): aggregate checks + report lint feedback early Oct 7, 2026
Dispatch reusable checks through a shared changed-file filter
and move concurrency to the caller.

Report `all-checks-passed-or-skipped` alongside the separate
required `tests` check. Skip the aggregate on cancelled runs,
so superseded runs do not schedule a job only to report the
cancellation. Use consistent lowercase caller and reusable
job names, and point Reviewdog at the aggregate workflow.
Start Reviewdog when PR checks begin and consume lint artifacts
as soon as they appear, while other checks continue running.

Poll every 15 s after a 30 s head start, since the lint job usually
finishes within that window, and give up after 10 minutes with a
warning rather than a failure: a slow runner queue is not a problem
with the PR. Exclude stale artifacts from earlier attempts.
@caugner
caugner force-pushed the reusable-pr-check-workflow branch from 9b39713 to 753ac92 Compare October 7, 2026 13:45
@caugner caugner changed the title ci(pr-check): aggregate checks + report lint feedback early ci(pr-check): aggregate checks Oct 7, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/m [PR only] 51-500 LoC changed system [PR only] Infrastructure and configuration for the project

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants