Skip to content

ci(NoTicket): use GitHub App token for releases - #535

Merged
lorenzhs merged 1 commit into
mainfrom
lorenz/release-github-app-token
Oct 7, 2026
Merged

lorenzhs merged 1 commit into
mainfrom
lorenz/release-github-app-token

Conversation

@lorenzhs

@lorenzhs lorenzhs commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Release publishing currently fails at checkout because RELEASE_PAT no longer authenticates. Mint a short-lived, repository-scoped installation token using the org-wide FB_DB_CI_WRITER app and use it for checkout and the release action's version commit and tag pushes.

Use the same app secrets as the Go SDK: GH_APP_FB_DB_CI_WRITER_CLIENT_ID and GH_APP_FB_DB_CI_WRITER_APP_KEY_PEM, with only contents write permission requested. Pass the two staging credentials explicitly through the integration workflows instead of inheriting all secrets.

Checkout credentials remain persisted because the shared action-python-release runs git push origin internally. GitHub release creation retains the job's existing GITHUB_TOKEN contents write permission.

References: Kafka migration, Go SDK app setup, failed release.

Validation: workflow YAML, reusable workflow secret declarations, job dependencies, and applicable pre-commit checks pass. No release was triggered.

Before running a release, verify the org-wide app is installed on this repo and both org secrets are available to it. My account cannot inspect organization secret access policies.


Note

Medium Risk
Release publishing depends on new org app secrets and token minting; misconfiguration could block releases or affect git push during publish.

Overview
Fixes release workflow authentication by replacing the broken RELEASE_PAT checkout with a short-lived token from the org FB_DB_CI_WRITER GitHub App (actions/create-github-app-token, contents write only). Checkout now uses that token and sets persist-credentials: true so the shared action-python-release step can still push the version commit and tag.

Integration test wiring no longer uses secrets: inherit on reusable workflow calls in integration-tests.yml and release.yml; only the two staging Firebolt identity secrets are passed through explicitly to integration-tests-v2.

Reviewed by Cursor Bugbot for commit 64024cb. Bugbot is set up for automated code reviews on this repo. Configure here.

@lorenzhs lorenzhs closed this Oct 7, 2026
@lorenzhs lorenzhs reopened this Oct 7, 2026
@lorenzhs
lorenzhs marked this pull request as ready for review October 7, 2026 10:01
@lorenzhs
lorenzhs requested a review from a team as a code owner October 7, 2026 10:01
@sonarqubecloud

sonarqubecloud Bot commented Oct 7, 2026

Copy link
Copy Markdown

@lorenzhs

lorenzhs commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor Author

integration test trial run: https://github.com/firebolt-db/firebolt-python-sdk/actions/runs/37604834916 -- looking good

@lorenzhs
lorenzhs merged commit bfa20b0 into main Oct 7, 2026
19 checks passed
@lorenzhs
lorenzhs deleted the lorenz/release-github-app-token branch October 7, 2026 10:07
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