Skip to content

Commit 8cbc27b

Browse files
Copilotpetesramek
andauthored
fix: temporarily remove PR review requirements during backtrack merge
The GitHub Merges API returns 403 when the target branch has required_pull_request_reviews + enforce_admins:true, even for the repo owner. Add skip-pull-request-reviews input to the lock action to set required_pull_request_reviews:null before the automated merge, allowing the Merges API to proceed. The restore steps re-apply the PR review requirement afterward. Agent-Logs-Url: https://github.com/petesramek/polyline-algorithm-csharp/sessions/e8921bba-9934-4d7d-89d6-3098d2dc674e Co-authored-by: petesramek <2333452+petesramek@users.noreply.github.com>
1 parent 9caa7cc commit 8cbc27b

2 files changed

Lines changed: 9 additions & 2 deletions

File tree

.github/actions/github/branch-protection/lock/action.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ inputs:
2424
description: 'When true, repository admins are exempt from all branch protection rules (enforce_admins is disabled). When false (default), admins are also subject to the rules.'
2525
required: false
2626
default: 'false'
27+
skip-pull-request-reviews:
28+
description: 'When true, sets required_pull_request_reviews to null (removes PR review requirement). Use temporarily before automated merges so the merge API is not blocked. When false (default), PR reviews are required as configured.'
29+
required: false
30+
default: 'false'
2731

2832
runs:
2933
using: composite
@@ -43,14 +47,15 @@ runs:
4347
--argjson dismiss_stale '${{ inputs.dismiss-stale-reviews }}' \
4448
--argjson enforce_admins "$ENFORCE_ADMINS" \
4549
--argjson lock_branch '${{ inputs.lock-branch }}' \
50+
--argjson skip_reviews '${{ inputs.skip-pull-request-reviews }}' \
4651
'{
4752
"required_status_checks": null,
4853
"enforce_admins": $enforce_admins,
49-
"required_pull_request_reviews": {
54+
"required_pull_request_reviews": (if $skip_reviews then null else {
5055
"dismiss_stale_reviews": $dismiss_stale,
5156
"require_code_owner_reviews": false,
5257
"required_approving_review_count": $review_count
53-
},
58+
} end),
5459
"restrictions": null,
5560
"allow_force_pushes": false,
5661
"allow_deletions": false,

.github/workflows/backtrack.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ jobs:
9494
branch: ${{ steps.targets.outputs.preview-branch }}
9595
token: ${{ secrets.GH_ADMIN_TOKEN }}
9696
lock-branch: 'false'
97+
skip-pull-request-reviews: 'true'
9798

9899
- name: 'Backtrack: merge ${{ github.base_ref }} into ${{ steps.targets.outputs.preview-branch }}'
99100
if: ${{ steps.targets.outputs.preview-branch != '' }}
@@ -112,6 +113,7 @@ jobs:
112113
branch: ${{ steps.targets.outputs.develop-branch }}
113114
token: ${{ secrets.GH_ADMIN_TOKEN }}
114115
lock-branch: 'false'
116+
skip-pull-request-reviews: 'true'
115117

116118
- name: 'Backtrack: merge ${{ steps.targets.outputs.merge-source }} into ${{ steps.targets.outputs.develop-branch }}'
117119
if: ${{ steps.check-develop.outputs.exists == 'true' }}

0 commit comments

Comments
 (0)