diff options
author | Helen Ye <helenye@stripe.com> | 2025-07-18 17:23:17 -0400 |
---|---|---|
committer | Helen Ye <helenye@stripe.com> | 2025-07-18 17:23:17 -0400 |
commit | 08216391ba9598a67613582eca18486fd1aec38f (patch) | |
tree | 6ac85c3617d6cdbfc9ba763365391b3a209b9c51 | |
parent | 1fcbb6fa53f1a1c2a48487a8f02a7488822dfe9f (diff) |
Sync using templatehelenye-merge-req
-rw-r--r-- | .github/workflows/rules.yml | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/.github/workflows/rules.yml b/.github/workflows/rules.yml index 1e6961d0..424a1aa4 100644 --- a/.github/workflows/rules.yml +++ b/.github/workflows/rules.yml @@ -4,21 +4,27 @@ name: rules on: workflow_dispatch: {} pull_request: + # expand this list as we add rules, but be careful that rules are properly guarded with necessary null checks or state checks types: - auto_merge_enabled + - opened + - reopened jobs: - require_merge_commit_on_merge_script_pr: - name: Merge script PRs must create merge commits + check_auto_merge_method_if_enabled: + name: Check auto-merge method if enabled + if: ${{ github.event.pull_request.auto_merge }} runs-on: ubuntu-latest steps: - run: | - if [[ "${{ github.head_ref }}" == *"/merge-"* ]]; then - if [[ "${{ github.event.pull_request.auto_merge.merge_method }}" != "merge" ]]; then - echo "Auto-merge method must be 'merge' instead of '${{github.event.pull_request.auto_merge.merge_method}}'" - exit 1 - fi - else - echo "Not a merge script PR, skipping check" + expected_merge_method="squash" + # for merge PRs, expect "merge" + if [ ${{ contains(github.head_ref, '/merge-') }} == "true" ]; then + expected_merge_method="merge" + fi + + if [ ${{ github.event.pull_request.auto_merge.merge_method }} != $expected_merge_method ]; then + echo "Auto-merge method must be '$expected_merge_method' instead of '${{github.event.pull_request.auto_merge.merge_method}}'" + exit 1 fi |