ci: Consolidate workflows and add a single required gate job - #442
Merged
Merged
Conversation
…required gate job `needs:` cannot span workflow files, so a single required status check requires all jobs to live in one workflow. The `on:` triggers of the two workflows were already identical, so the job moves over verbatim. Adds a `checks` gate job with a stable context name to mark as required on `main`, instead of the matrix job names which change whenever the matrix or shiny-workflows does.
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.
Started as an empty commit to trigger a docs rebuild; now also consolidates CI so
maincan have one meaningful required status check.Why
license/clawas the only required status check onmain— it has been removed, leaving nothing required. The obvious replacement, the R CMD check matrix jobs, makes a poor required check: context names likeR-CMD-check / ubuntu-latest (4.5.3)change whenever the matrix orshiny-workflowschanges, and a stale required context that never reports blocks every PR indefinitely.What
system-libuv.yamlintoR-CMD-check.yaml. A gate job can onlyneeds:jobs in its own workflow file, so a single required check means a single workflow. The two files already had byte-identicalon:triggers, so the job moves over verbatim (renamedR-CMD-check→system-libuvto avoid a job-id collision).checksgate job that depends on every other job and fails if any failed or was cancelled. It has one stable context name,Package checks / checks, suitable to mark as required onmain.actions/checkout@v3→@v4in the moved job to clear anactionlintwarning.Follow-up
After this merges and
checksreports once onmain, markPackage checks / checksas a required status check in branch protection.Note
A
skippedjob passes the gate. That is fine today since no job has a path filter orif:condition; there is aponytail:comment on the gate noting to addcontains(needs.*.result, 'skipped')if that changes.