Repository navigation
[CI] Open the upmerge pull requests as coreshop-bot - #3294
Conversation
GITHUB_TOKEN cannot push an upmerge that changes .github/workflows/* (it never gets the workflows permission), and a pull request it opens starts no workflows, so the required checks of the branch ruleset never report on it. Push and open the pull request with a coreshop-bot app token instead, reusing the app secrets of the Studio build, and fall back to GITHUB_TOKEN without them.
🚦 PR Guardrail
❌ R1 — Branch nameBranch ➡️ Rename the branch to ❌ R2 — Linked issueThe branch name carries no issue number, so the PR is not linked to an issue. ➡️ Name the branch after an open issue of this repository (see R1). Create the issue first if there is none yet. ❌ R6 — Closing referenceThe PR body does not close any issue ( ➡️ Fix R1/R2 and the reference is appended automatically, or add ℹ️ Some CI checks are still running. The CI result is re-evaluated automatically once they finish. Automated comment by the PR guardrail — details and FAQ: |
The upmerge workflow pushed and opened its pull requests with
GITHUB_TOKEN. That causes two problems:GITHUB_TOKENnever gets theworkflowspermission, so any upmerge that carries a change to.github/workflows/*fails at the push (e.g. run 42791527217; [UPMERGE] 5.1 -> 2026.x #3283, [UPMERGE] 5.0 -> 5.1 #3292 and [UPMERGE] 5.1 -> 2026.x #3293 had to be done by hand).GITHUB_TOKENstart no workflows. [UPMERGE] 5.1 -> 2026.x #3289 got only 2 checks, so the required checks of the "Version Branches" ruleset never report and upmerge PRs can only be merged via bypass.The workflow now creates a
coreshop-botapp token from the existingSTUDIO_BUILD_APP_ID/STUDIO_BUILD_APP_PRIVATE_KEYsecrets (the app that already commits the Studio builds, withcontents,pull_requestsandworkflowswrite) and passes it tocreate-pull-request. If the token step fails, it falls back toGITHUB_TOKEN.The merge commit is still authored as
github-actions[bot], so the check for commits by others on an existing upmerge branch keeps working.After the merge: run the workflow once via
workflow_dispatchto verify.