diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0b5cddc..c0fee2e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,6 +10,7 @@ name: CI on: + merge_group: push: branches: [main, master, develop] pull_request: diff --git a/.github/workflows/pr-validation.yml b/.github/workflows/pr-validation.yml index d89b8c7..f71c959 100644 --- a/.github/workflows/pr-validation.yml +++ b/.github/workflows/pr-validation.yml @@ -8,6 +8,7 @@ name: PR Validation on: + merge_group: pull_request: types: [opened, synchronize, reopened] branches: @@ -17,7 +18,12 @@ on: # Cancel in-progress runs for same PR concurrency: - group: pr-validation-${{ github.event.pull_request.number }} + # #ASSUME github.event.pull_request.number is null under merge_group; + # fall back to github.ref (unique per merge-group ref) so a merge-group + # build never collides with, or is cancelled by, a PR build's group. + # #VERIFY confirm no cross-cancellation between a PR run and its + # corresponding merge-group run after the first live merge-queue pass. + group: pr-validation-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true permissions: diff --git a/.github/workflows/reuse.yml b/.github/workflows/reuse.yml index fd721d3..7b4ef0d 100644 --- a/.github/workflows/reuse.yml +++ b/.github/workflows/reuse.yml @@ -6,6 +6,7 @@ name: REUSE Compliance on: + merge_group: # No paths filter: "Check REUSE Compliance" is a REQUIRED status check, so it # must report on every PR. A paths filter would skip the workflow on changes # that do not match (e.g. root-only files like renovate.json, since "**/*" diff --git a/.github/workflows/security-analysis.yml b/.github/workflows/security-analysis.yml index 438e58e..f5866db 100644 --- a/.github/workflows/security-analysis.yml +++ b/.github/workflows/security-analysis.yml @@ -10,6 +10,7 @@ name: Security Analysis "on": + merge_group: push: branches: [main, master] pull_request: