@@ -218,10 +218,33 @@ jobs:
218218 GH_TOKEN : ${{ steps.get-app-token.outputs.token }}
219219 run : gh pr ready "${{ steps.create-pr.outputs.pull-request-number }}"
220220
221+ # Use a different bot identity (admin) to approve and merge,
222+ # because the bot that created the PR cannot approve its own PRs
223+ # and needs admin privileges to bypass branch protection.
224+ - name : Authenticate as GitHub App (Admin)
225+ if : steps.create-pr.outputs.pull-request-number
226+ uses : actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4
227+ id : get-admin-token
228+ with :
229+ owner : " airbytehq"
230+ repositories : " airbyte"
231+ app-id : ${{ secrets.OCTAVIA_BOT_ADMIN_APP_ID }}
232+ private-key : ${{ secrets.OCTAVIA_BOT_ADMIN_PRIVATE_KEY }}
233+
234+ - name : Approve cleanup PR
235+ if : steps.create-pr.outputs.pull-request-number
236+ env :
237+ GH_TOKEN : ${{ steps.get-admin-token.outputs.token }}
238+ run : >
239+ gh pr review "${{ steps.create-pr.outputs.pull-request-number }}"
240+ --repo "${{ github.repository }}"
241+ --approve
242+ --body "Auto-approved by finalize_rollout workflow."
243+
221244 - name : Force-merge cleanup PR
222245 if : steps.create-pr.outputs.pull-request-number
223246 env :
224- GH_TOKEN : ${{ steps.get-app -token.outputs.token }}
247+ GH_TOKEN : ${{ steps.get-admin -token.outputs.token }}
225248 run : |
226249 gh pr merge "${{ steps.create-pr.outputs.pull-request-number }}" \
227250 --repo "${{ github.repository }}" \
0 commit comments