Merge Queue — mechanism for sequential PR merging, ensuring main always stays green.
Problem: PR passed checks, but by the time of merge main is already broken (conflict, flaky test).
How it works:
main + PR version.GitHub Merge Queue:
1# .github/workflows/ci.yml2on:3 pull_request:4 branches: [main]5 merge_group:6 branches: [main]78jobs:9 test:10 runs-on: ubuntu-latest11 steps:12 - uses: actions/checkout@v413 - run: npm ci && npm test1415 deploy-staging:16 runs-on: ubuntu-latest17 steps:18 - uses: actions/checkout@v419 - run: npm ci && npm run build20 - run: ./deploy-staging.sh
GitHub Configuration:
Advantages: No flaky checks, parallel CI for queued PR, guaranteed stable main.
Alternatives: Bors (legacy), Mergify, custom solutions.