ci: run backports through release workflow#557
Merged
Conversation
Collaborator
Author
|
/bonk review for correctness and security |
stritt
approved these changes
May 29, 2026
commit: |
Contributor
There was a problem hiding this comment.
Correctness
- Moving the backport path into the existing
Releaseworkflow is the right fix for the npm trusted publishing failure. npm's trusted publishing configuration is tied to the workflow file path, so dispatches from.github/workflows/release.ymlwill use the already-configured trust relationship. - The event filters (
github.event_name == 'push'forrelease,workflow_dispatchforbackport-release) correctly isolate the two jobs so a manual dispatch doesn't accidentally trigger both. - The
release/kumo-*prefix guard and theexpected_versionverification againstpackages/kumo/package.jsonare preserved, providing the same safety rails as the old standalone workflow. - Publishing with
--tag backportis correctly preserved;latestwill remain unaffected.
Security
- The
backport-releasejob uses minimal required permissions (id-token: write,contents: write) and omitspull-requests: write, which is good least-privilege hygiene. NPM_CONFIG_PROVENANCE: trueis preserved for supply-chain provenance.
Minor notes (non-blocking)
- The shared
concurrency: group: ${{ github.workflow }}now serializes regular releases and backports. In the old setup, backports used their own concurrency group (backport-release-${{ inputs.expected_version }}). This means a long-running backport could temporarily block a main release, and vice versa. Given the urgency and low frequency of backports, this is acceptable, but worth noting. git push origin HEAD:${{ inputs.backport_ref }}does not quote the input expansion. While thecaseprefix check mitigates obvious abuse, and triggering the workflow requires repo write access anyway, quoting the ref (git push origin "HEAD:${{ inputs.backport_ref }}") would be a small defensive improvement. Same for theechoin the verify step. This is pre-existing from the deleted workflow.
Overall, this looks correct and safe to merge for the stated backport fix.
Contributor
|
Review posted to PR #557 — approved with notes. Summary of findings:
Minor, non-blocking notes flagged:
|
Contributor
Docs PreviewCommit: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Moves the manual backport release path into the existing Release workflow and removes the separate Backport Release workflow.
The first backport attempt reached npm publish but failed with an npm auth/trusted-publishing error. Publishing from the existing Release workflow should use the workflow already configured for npm trusted publishing.
The manual dispatch remains guarded by:
Planned dispatch after merge:
Notes
The previous Backport Release workflow failed before publishing. npm still has latest=2.4.0 and no @cloudflare/kumo@2.3.1.
Testing
Inspected failed run logs: publish failed with npm E404 permission/trusted-publishing error
Verified npm dist-tags: latest remains 2.4.0
Verified @cloudflare/kumo@2.3.1 is not published
Reviews
bonk has reviewed the change
automated review not possible because: temporary CI wiring for urgent trusted-publishing backport
Tests
Tests included/updated
Automated tests not possible - manual testing has been completed as follows: inspected workflow and failed publish logs; guarded dispatch path only
Additional testing not necessary because: no package source changes