Skip to content

ci: tag releases with the release app's workflows permission - #403

Closed
deanq wants to merge 1 commit into
mainfrom
deanq/release-app-token
Closed

deanq wants to merge 1 commit into
mainfrom
deanq/release-app-token

Conversation

@deanq

@deanq deanq commented Oct 30, 2026

Copy link
Copy Markdown
Member

Merge only after an org owner grants the runpod-release-please app Workflows: Read and write. Without the grant, the token step fails with The permissions requested are not granted to this installation.

Why

Justin's tag probe (#402) used GITHUB_TOKEN on the allowlisted Blacksmith runner:

release-commit 50e819a (v1.21.1)  -> 403 Resource not accessible by integration
v1210-commit   c0f7843 (v1.21.0)  -> 201 Created
X-Accepted-Github-Permissions: contents=write; contents=write,workflows=write

#395 changed .github/workflows/ after v1.21.0, so creating the v1.21.1 tag needs workflows: write. GITHUB_TOKEN (#401) can never have that permission, so release-please fails at createRelease. The runner and the IP allow list are not the cause.

Change

After the grant and merge

The push to main runs Release. release-please tags v1.21.1 at 50e819a, creates the release, and PyPI Publish runs on runpod-4vCPU-ubuntu-2404.

Test plan

  • make quality-check passes locally
  • Workflow YAML parses; steps are token, then release-please
  • After merge: Release run creates v1.21.1 and runpod-flash 1.21.1 appears on PyPI

🤖 Generated with Claude Code

Justin's tag probe (#402) showed GITHUB_TOKEN gets a 403 tagging the
1.21.1 release commit but a 201 tagging the v1.21.0 commit. The
response accepts contents+workflows, and #395 changed a workflow file
since v1.21.0. GITHUB_TOKEN can never hold workflows, so switch back to
the release app and request contents, pull-requests and workflows.
issues is dropped: the app doesn't have it and release-please's PR
labels and comments work with pull-requests.
@deanq
deanq requested review from KAJdev, OneAsterisk and justinwlin and a balanced review from Copilot and removed request for OneAsterisk October 30, 2026 20:44

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

An organization owner must confirm the release app installation has Workflows write permission, an external prerequisite for token creation and the release pipeline that cannot be verified from the diff.

No open issues 🎉

What changed in this PR

Restores GitHub App authentication for Release Please so it can tag releases that include workflow changes. Merging depends on an organization owner first granting the release app Workflows: Read and write.

Changes:

  • Generates an app token requesting write access to contents, pull requests, and workflows, without requesting issues access.
  • Passes the app token to Release Please instead of GITHUB_TOKEN.
File Description
.github/​workflows/​release-please.yml Adds app-token generation and uses it for Release Please authentication.

Review effort: Balanced

@deanq

deanq commented Oct 30, 2026

Copy link
Copy Markdown
Member Author

Not needed: 1.21.1 released with GITHUB_TOKEN. The 403 came from tagging a commit no ref pointed at (main had moved past it), which GitHub gates behind the workflows permission. A temporary branch at 50e819a let release-please tag it.

@deanq deanq closed this Oct 30, 2026
@deanq
deanq deleted the deanq/release-app-token branch October 30, 2026 21:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants