Repository navigation
Wait for a reviewer before tagging the Go module and publishing Kotlin - #246
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
All reported issues were addressed across 3 files
Reply with feedback, questions, or to request a fix.
View guided diff | Turn on auto-fix | Re-trigger cubic
|
Release secrets and the per-registry environments This repository publishes from one environment per registry:
No secret needs to move into them, so there is nothing to rotate in here. Each publish authenticates with OIDC trusted publishing (the package registries) or If a registry ever needs a token, put it in that registry's environment, not at repository level, and use the same order the other repositories follow:
Each registry's trusted publisher should also name its environment (for example |
c5a8ade to
7ae6989
Compare
make release tagged and pushed go/vX.Y.Z beside vX.Y.Z, so the module was resolvable through proxy.golang.org before the release-go reviewer approved, and release-go.yml's tag job found the tag already there. make release now pushes vX.Y.Z alone; release-go.yml's tag job, behind the release-go environment, creates go/vX.Y.Z. CONTRIBUTING says so. The release workflow test now asserts no go/ tag and a push of vX.Y.Z alone; it failed on that assertion against the old Makefile and passes now (run with #266's PATH fix applied locally, which macOS needs). Keeping the local go/ tag and moving the approval elsewhere was rejected: the proxy serves a tag the moment it exists.
#264 landed a 5.5-hour wait step ahead of release-orchestrate and gave the orchestrator timeout '1'. Rebased onto it, this branch's timeout: '19800' became a second timeout key in the same with: block, which actionlint (GitHub Actions audit) rejects. release-github.yml is now main's copy. actionlint passes on the three release workflows.
64eb2cc to
10efd5f
Compare
Brings in #268 and #269, which change HeyClient.kt's redirect and proof-refusal handling beside #270's revocation. Git merged them cleanly; make kt-check passes on the result. * origin/main: Refresh a redirected write's hop 401 without making the write again (#269) Resend a 401 that refuses only the DPoP proof, with no refresh (#268) Answer the rotation test's first two requests by token, not by arrival (#274) Wait for a reviewer before tagging the Go module and publishing Kotlin (#246) Bump the cargo group across 1 directory with 3 updates (#252) Find true on PATH in the release test, so make release runs on macOS (#266) Bump the gradle group across 1 directory with 4 updates (#255) Bump the cargo group across 1 directory with 4 updates (#253) Bump the typescript-dev group across 1 directory with 2 updates (#249) Bump golang.org/x/net from 0.60.0 to 0.61.0 in /conformance/runner/go in the go group across 1 directory (#251) Bump vite from 8.3.0 to 8.3.5 in /typescript (#272) Bump rustls-webpki and webpki-root-certs past the emSign advisories (#273)
The Go module tag and the Kotlin publish to GitHub Packages now wait for a reviewer, as the crates and npm publishes already do.
Why: crates and npm publish from their own environments with required reviewers. The Go job, which pushes the
go/vXmodule tag, and the Kotlin job, which publishes to GitHub Packages, ran without one. They now run inrelease-goandrelease-github-packages.Releasing now: push the
v*tag as before. Each language's workflow then waits at its publish job:go/vXmodule tag is pushed only after approval.release-githubneeds no approval of its own. Its orchestration now waits up to 5.5 hours for the publishes. A rejected or unanswered publish fails it. If approvals take longer than that, re-run it withgh workflow run release-github.yml -f tag=vX.Y.Z.Who approves: a member of sip or cli. Prevent-self-review is on, so whoever pushed the tag can't approve their own release; another member does.
To approve every waiting run for a tag in one pass (GitHub still records one approval per run):
Run it again if a build finishes after the first pass.
Environment: all four environments already exist, require sip or cli, and admit only
v*tags, includingrelease-npm, which didn't exist before. Nothing else needs configuring when this merges.Merging is the owners' call.
Summary by cubic
Go module tagging and Kotlin publishing to GitHub Packages now wait for a reviewer before publishing, matching the existing crates and npm release gates.
Releasing now
make releasepushes onlyvX.Y.Z; the approved release job creates thego/vXmodule tag, since the module proxy serves a tag the moment it exists.gh workflow run release-github.yml -f tag=vX.Y.Zif approvals take longer.Written for commit 10efd5f. Summary will update on new commits.