Use pull_request triggers primarily for workflows

Instead of relying on push triggers in general, we now use pull_request
and reserve push triggers for main and release branches.

This makes the behaviour more consistent for users contributing from
repository forks. However, we no longer have a quick-feedback loop
for development.
This commit is contained in:
daz 2024-04-10 16:21:22 -06:00
parent 3e155e3d92
commit d37a479015
No known key found for this signature in database
6 changed files with 24 additions and 24 deletions

View file

@ -2,6 +2,10 @@ name: CI-check-and-unit-test
on:
push:
branches:
- 'main'
- 'release/**'
pull_request:
permissions:
contents: read

View file

@ -3,10 +3,7 @@ name: CI-check-no-dist-update
# Prohibit any change to 'dist/**' on a non-release branch
on:
workflow_dispatch:
push:
branches-ignore:
- 'main'
- 'release/**'
pull_request:
paths:
- 'dist/**'

View file

@ -3,8 +3,6 @@ name: CI-codeql
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
schedule:
- cron: '25 23 * * 2'

View file

@ -2,6 +2,10 @@ name: CI-init-script-check
on:
push:
branches:
- 'main'
- 'release/**'
pull_request:
paths:
- '.github/workflows/ci-init-script-check.yml'
- 'sources/src/resources/init-scripts/**'

View file

@ -2,7 +2,12 @@ name: CI-integ-test
on:
workflow_dispatch:
pull_request:
push:
branches:
- 'main'
- 'release/**'
- 'dev/**' # Allow running tests on dev branches without a PR
jobs:
determine-suite:
@ -11,35 +16,27 @@ jobs:
runner-os: ${{ steps.determine-suite.outputs.suite == 'quick' && '["ubuntu-latest"]' || '["ubuntu-latest", "windows-latest", "macos-latest"]' }}
cache-key-prefix: ${{ steps.determine-suite.outputs.suite == 'quick' && '0' || github.run_number }}
steps:
- name: Get current PR details
uses: 8BitJonny/gh-get-current-pr@3.0.0
id: PR
- name: Determine suite to run
id: determine-suite
run: |
# Always run quick suite if we are not in the core `gradle/actions` repository
# This reduces the load for developers working on forks
# This reduces the load for developers working on 'main' on forks
if [ "${{ github.repository }}" != "gradle/actions" ]; then
echo "Not in core repository: suite=quick"
echo "suite=quick" >> "$GITHUB_OUTPUT"
exit 0
fi
# Always run quick suite for dependabot PRs
if [ "${{ github.actor }}" == "dependabot[bot]" ]; then
echo "Dependabot: suite=quick"
echo "suite=quick" >> "$GITHUB_OUTPUT"
# Run full suite for push trigger on 'main' and 'release/*' branches
if [[ "${{ github.ref_name }}" == "main" || "${{ github.ref_name }}" == "release/"* ]]; then
echo "Push to main branch: suite=full"
echo "suite=full" >> "$GITHUB_OUTPUT"
exit 0
fi
# Run full suite for PRs
if [ "${{ steps.PR.outputs.pr_found }}" == "false" ]; then
echo "PR not found: suite=quick"
# Run quick suite for everything else
echo "Everything else: suite=quick"
echo "suite=quick" >> "$GITHUB_OUTPUT"
else
echo "PR found: suite=full"
echo "suite=full" >> "$GITHUB_OUTPUT"
fi
build-distribution:
runs-on: ubuntu-latest