ci: propose patch release pull requests - #483
Conversation
|
@codex review Please review commit |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 839827c8ac
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
|
||
| - name: Propose the next patch release | ||
| env: | ||
| GH_TOKEN: ${{ vars.RELEASE_APP_CLIENT_ID == '' && github.token || steps.release-app-token.outputs.token }} |
There was a problem hiding this comment.
Use a token that can trigger PR checks
When RELEASE_APP_CLIENT_ID is unset—the documented default—the pull request is created using the repository’s GITHUB_TOKEN. GitHub suppresses new workflow runs for events generated by that token, so opening the PR will not start the pull_request-triggered node-ci workflow (or node-release-labels), and there is no queued run for a maintainer to approve as described in CONTRIBUTING.md. The generated release PR therefore cannot satisfy its required CI in the default configuration without an additional manual event; use an App/PAT token or explicitly trigger the checks after creation.
Useful? React with 👍 / 👎.
|
Security review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
zcrab-oai
left a comment
There was a problem hiding this comment.
The proposed release automation needs a stronger justification and a much smaller design.
| @@ -0,0 +1,572 @@ | |||
| import { execFileSync } from "node:child_process"; | |||
There was a problem hiding this comment.
[P2] Drop or substantially shrink the patch-release orchestrator
What recurring operational problem justifies a new 572-line reconciler, roughly 1,400 lines of mocked tests, and an additional write-capable workflow to generate a one-line package-version change? The existing reviewed release path already handles tagging and publication, and the proposed default token cannot start the required PR checks. I would drop this automation unless release volume demonstrates a real need; if it is needed, start with a small App-authenticated version-bump workflow and add reconciliation only for observed failures.
Summary
Automate the repeated work of opening patch-release PRs while keeping human review, CI, and protected npm publication in the existing release process. The repository already has tagging, provenance checks, and generated release notes; this adds the missing PR-creation step without introducing another release system or runtime dependency.
Changes
node-release-pr, triggered after successful main-branchnode-ci, after a successfulnode-github-release, or by manual dispatch. It checks that the current main commit passed CI and that its current version has finished publishing before proposing another release.npm-vX.Y.Zrelease tag. When releasable changes exist, increment only the patch version and open a full PR that changes onlysdk/typescript/package.json.skip-release-notes; and request Codex review once for each exact managed head.Testing
bun test --randomize --seed 12345 --timeout 30000 ./tests-ts): 1,388 passed, 11 skipped, and 0 failed.pnpm run types,pnpm run format, andgit diff --checkpassed.actionlint1.7.12 passed with only its outdatedqueuesyntax warning filtered. GitHub documentsqueue: max, and the existing release workflows already use it.Risk and rollout
GITHUB_TOKENrequires a maintainer to approve generated PR workflows. An optional GitHub App enables unattended PR CI; setup and least-privilege permissions are documented inCONTRIBUTING.md. This PR does not configure App credentials or change repository protection settings.Public disclosure review