Skip to content

Merge Check

Merge Check #938

Workflow file for this run

name: Merge Check
on:
pull_request:
branches:
- master
merge_group:
branches:
- master
env:
# Ignore some actions for the merge check:
# - This action itself
# - Public API check, doc broken link check: we allow them to fail.
# - Minimal tests and style checks for stable Rust: we allow them to fail.
# - Extended binding tests: it may take long to run. We don't want to wait for them.
# Note: The action name for openjdk tests is different due to the reused workflow.
IGNORED_ACTIONS: |
[
"ready-to-merge",
"check-broken-links-in-docs",
"check-public-api-changes",
"check-api-migration-update",
"minimal-tests-core/x86_64-unknown-linux-gnu/stable",
"minimal-tests-core/i686-unknown-linux-gnu/stable",
"minimal-tests-core/x86_64-apple-darwin/stable",
"style-check/x86_64-unknown-linux-gnu/stable",
"style-check/i686-unknown-linux-gnu/stable",
"style-check/x86_64-apple-darwin/stable",
"extended-tests-openjdk / test",
"extended-tests-v8",
"extended-tests-jikesrvm",
"extended-tests-julia",
"extended-tests-ruby (release)",
"extended-tests-ruby (debug)"
]
jobs:
ready-to-merge:
runs-on: ubuntu-latest
steps:
- name: 'Wait for status checks'
id: waitforstatuschecks
timeout-minutes: 120
uses: "WyriHaximus/[email protected]"
with:
ignoreActions: "${{ join(fromJson(env.IGNORED_ACTIONS)) }}"
# This action uses API. We have a quota of 1000 per hour.
checkInterval: 600
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- name: Check result
if: ${{ steps.waitforstatuschecks.outputs.status != 'success' }}
uses: actions/github-script@v7
with:
script: |
core.setFailed('Status checks failed')