The GitHub Actions job "CI" on grails-core.git/ci/conserve-actions-minutes has 
succeeded.
Run started by GitHub user jdaugherty (triggered by jdaugherty).

Head commit for run:
9cdcfeaac2de56d02566ab06dcf970ff9dca3c24 / James Daugherty 
<[email protected]>
Gate CI through one policy: draft and "no ci" pull requests, and tests by 
branch and commit marker

A draft pull request runs no job of any workflow unless it carries the
"run ci" label, and a pull request labelled "no ci" runs none at all. The
check skips the policy job that every job of the CI and Groovy joint
workflows needs, and the jobs of the workflows without tests (code style,
build health, RAT, CodeQL, vulnerability scan) carry it directly. Every
pull_request trigger lists ready_for_review, which is not a default type, so
marking a draft ready starts CI. A push to a draft, or to a "no ci" pull
request, still cancels the run in flight for that pull request, as every
pull request push does; the replacing run does nothing.

Every workflow that runs tests now calls .github/workflows/ci-policy.yml as
its first job and gates its test jobs, and the test steps of its build jobs,
on the policy's run-tests output. On a release branch below the default
branch, and on a pull request whose base is a side branch rather than a
release branch, the tests run only when the commit message starts with
[run tests]; on the default branch and every release branch above it they
run unless it starts with [skip tests]. The policy reads the head commit of
a pull request or a dispatched branch through the API, so the markers now
work on pull requests too; the github.event.head_commit.message test it
replaces is empty on pull_request events, so every pull request ran the
tests whatever the message said. The decision and its reason are written to
the job summary.

The API read is retried five times with a growing pause; when it still
fails the tests run, as they did on every pull request before this change,
with a warning annotation and a note in the job summary, so an API outage
costs runner time rather than a test result and the policy job never skips
the jobs behind it. A manual run (workflow_dispatch) in apache/grails-core
follows the branch rule, so an older branch is tested through a pull
request or a [run tests] commit; in a fork, where the runner time is the
fork owner's and not the ASF's, a manual run runs the tests unless the
commit message starts with [skip tests].

Documented as rule 14 and the "CI policy" section of AGENTS.md, and in the
"Continuous Integration" section of CONTRIBUTING.md.

Report URL: https://github.com/apache/grails-core/actions/runs/39330956499

With regards,
GitHub Actions via GitBox

Reply via email to