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
