Skip to content

Commit 390987f

Browse files
committed
Skip merge queue if pull request is up-to-date
1 parent 3624460 commit 390987f

File tree

1 file changed

+23
-3
lines changed

1 file changed

+23
-3
lines changed

.github/workflows/main.yml

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,26 @@ concurrency:
1212
cancel-in-progress: ${{ !contains(github.ref, 'refs/heads/main') }}
1313

1414
jobs:
15+
check-skip-merge-queue:
16+
name: Check if pull request can skip merge queue
17+
runs-on: ubuntu-latest
18+
outputs:
19+
skip-merge-queue: ${{ steps.check-skip-merge-queue.outputs.up-to-date }}
20+
steps:
21+
- name: Checkout repository
22+
uses: actions/checkout@v6
23+
if: github.event_name == 'merge_group'
24+
25+
- name: Check pull request merge queue status
26+
id: check-skip-merge-queue
27+
if: github.event_name == 'merge_group'
28+
uses: MetaMask/github-tools/.github/actions/check-skip-merge-queue@v1
29+
1530
check-workflows:
1631
name: Check workflows
1732
runs-on: ubuntu-latest
33+
needs: check-skip-merge-queue
34+
if: github.event_name != 'merge_group' || needs.check-skip-merge-queue.outputs.skip-merge-queue != 'true'
1835
steps:
1936
- name: Checkout repository
2037
uses: actions/checkout@v6
@@ -126,11 +143,14 @@ jobs:
126143
name: All jobs pass
127144
if: ${{ always() }}
128145
runs-on: ubuntu-latest
129-
needs: all-jobs-complete
146+
needs:
147+
- all-jobs-complete
148+
- check-skip-merge-queue
130149
steps:
131150
- name: Check that all jobs have passed
151+
env:
152+
PASSED: ${{ needs.all-jobs-complete.outputs.passed == 'true' || needs.check-skip-merge-queue.outputs.skip-merge-queue == 'true' }}
132153
run: |
133-
passed="${{ needs.all-jobs-complete.outputs.passed }}"
134-
if [[ $passed != "true" ]]; then
154+
if [[ "$PASSED" != "true" ]]; then
135155
exit 1
136156
fi

0 commit comments

Comments
 (0)