Skip to content

Commit 9448381

Browse files
authored
chore: Configure merge_group trigger in main CI workflow (#748)
Configures the `merge_group` trigger and adds jobs to avoid rerunning the main workflow in the merge queue per MetaMask/snaps#3162 and MetaMask/snaps#3786. This won't do anything until we've enabled the merge queue for the default branch in repository settings. <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Introduces merge queue awareness and conditional execution to reduce redundant CI runs. > > - Adds `merge_group` trigger and new `check-skip-merge-queue` job using `MetaMask/github-tools/.../check-skip-merge-queue@v1` to detect up-to-date PRs > - Gates `check-workflows` (and downstream jobs) with `needs`/`if` to skip when in `merge_group` and `skip-merge-queue` is `true` > - Updates `all-jobs-pass` to depend on `check-skip-merge-queue` and succeed if either `all-jobs-complete` passed or `skip-merge-queue` is `true` > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 0bb82d9. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
1 parent 8c4f04b commit 9448381

File tree

1 file changed

+24
-3
lines changed

1 file changed

+24
-3
lines changed

.github/workflows/main.yml

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
name: Main
22

33
on:
4+
merge_group:
45
push:
56
branches: [main]
67
pull_request:
@@ -10,9 +11,26 @@ concurrency:
1011
cancel-in-progress: ${{ !contains(github.ref, 'refs/heads/main') }}
1112

1213
jobs:
14+
check-skip-merge-queue:
15+
name: Check if pull request can skip merge queue
16+
runs-on: ubuntu-latest
17+
outputs:
18+
skip-merge-queue: ${{ steps.check-skip-merge-queue.outputs.up-to-date }}
19+
steps:
20+
- name: Checkout repository
21+
uses: actions/checkout@v6
22+
if: github.event_name == 'merge_group'
23+
24+
- name: Check pull request merge queue status
25+
id: check-skip-merge-queue
26+
if: github.event_name == 'merge_group'
27+
uses: MetaMask/github-tools/.github/actions/check-skip-merge-queue@v1
28+
1329
check-workflows:
1430
name: Check workflows
1531
runs-on: ubuntu-latest
32+
needs: check-skip-merge-queue
33+
if: github.event_name != 'merge_group' || needs.check-skip-merge-queue.outputs.skip-merge-queue != 'true'
1634
steps:
1735
- uses: actions/checkout@v6
1836
- name: Download actionlint
@@ -81,11 +99,14 @@ jobs:
8199
name: All jobs pass
82100
if: ${{ always() }}
83101
runs-on: ubuntu-latest
84-
needs: all-jobs-complete
102+
needs:
103+
- all-jobs-complete
104+
- check-skip-merge-queue
85105
steps:
86106
- name: Check that all jobs have passed
107+
env:
108+
PASSED: ${{ needs.all-jobs-complete.outputs.passed == 'true' || needs.check-skip-merge-queue.outputs.skip-merge-queue == 'true' }}
87109
run: |
88-
passed="${{ needs.all-jobs-complete.outputs.passed }}"
89-
if [[ $passed != "true" ]]; then
110+
if [[ "$PASSED" != "true" ]]; then
90111
exit 1
91112
fi

0 commit comments

Comments
 (0)