Skip to content

ci(release): publish every release automatically, with no stored token - #12

Merged
arosasg merged 3 commits into
mainfrom
chore/auto-publish-releases
Oct 29, 2026
Merged

arosasg merged 3 commits into
mainfrom
chore/auto-publish-releases

Conversation

@arosasg

@arosasg arosasg commented Oct 29, 2026

Copy link
Copy Markdown
Contributor

Problem

The 1.0.0 release (2026-10-29) needed manual steps: release-please ran only by hand, and a GitHub release created with the default GITHUB_TOKEN does not trigger the release: published event, so release.yml (the publish workflow) did not start. Alex asked that every future release publish straight from the repository.

Solution

  • release-please runs on every push to main (and by hand), so merging its release pull request cuts the release.
  • After creating a release, release-please starts release.yml for the new tag with gh workflow run, which GITHUB_TOKEN is allowed to trigger (actions: write). No personal access token is stored.
  • release.yml now accepts a tag input (workflow_dispatch) next to the release event, and checks out that tag.
  • The registries use trusted publishing (OIDC), so there is no publishing token to rotate. Stale "nothing may be published before 2026-11-01" comments are replaced: 1.0.0 is published.

Verification

  • actionlint on the changed workflows: no findings.
  • The trusted publisher on the registry is bound to release.yml and its environment, which a workflow_dispatch run keeps (the OIDC claims carry the same workflow file and environment).
  • After merge, the push run of release-please has no release to create, so nothing is published by this change itself.

🤖 Generated with Claude Code

release-please now runs on every push to main, so merging the release pull
request creates the tag and the release. A release created with GITHUB_TOKEN
does not trigger the release event, so release-please starts release.yml for
the new tag with workflow_dispatch, which GITHUB_TOKEN may trigger. release.yml
accepts the tag as an input as well as the release event. Registries use
trusted publishing, so no publishing token is stored.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@arosasg

arosasg commented Oct 29, 2026

Copy link
Copy Markdown
Contributor Author

Codex review (codex CLI, account codex-1, model gpt-5.6-sol)


💡 Code review

Reviewed commit: 117181d

P1 Badge Restore the manual release approval gate

.github/workflows/release-please.yml:L37-L44 - view

When a release PR is merged before 2026-11-01 or without Alex’s explicit approval, this step immediately dispatches the PyPI publishing workflow, replacing the previous manual release gate and allowing a prohibited release. Keep publication manually gated or enforce Alex’s approval before creating the tag and dispatching release.yml.

AGENTS.md reference: AGENTS.md:L42-L42

Verdict: REQUEST CHANGES

Alex approved the 1.0.0 release on 2026-10-29 and asked that every release
publish straight from the repository. The pre-launch rule (no tag or publish
before 2026-11-01 without his approval) is replaced: merging the release-please
pull request is the release approval. docs/DESIGN.md section 13 records the
same, identically in all seven SDK repositories.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@arosasg

arosasg commented Oct 29, 2026

Copy link
Copy Markdown
Contributor Author

Codex review (codex CLI, account codex-7, model gpt-5.6-sol)


💡 Code review

Reviewed commit: 0495bfe

No blocking findings in commit 0495bfe.

Verdict: APPROVE

The SDK is released (1.0.0 on 2026-10-29) and merging the release pull request
is the release approval, so the leftover pre-launch text is replaced: the
README banners, the agent status line, the CONTRIBUTING release sections and
the workflow comments no longer describe a private, unreleased repository or a
reviewer gate on the publish environments (which have no required reviewers).
docs/DESIGN.md section 2.1 records the completed didit-sdk PyPI transfer and
the terms agreed with Agustin Saiz, identically in all seven repositories.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@arosasg

arosasg commented Oct 29, 2026

Copy link
Copy Markdown
Contributor Author

Codex review (codex CLI, account codex-7, model gpt-5.6-sol)


💡 Code review

Reviewed commit b867c80; no blocking findings.

Verdict: APPROVE

@arosasg
arosasg merged commit 299aa07 into main Oct 29, 2026
13 checks passed
@arosasg
arosasg deleted the chore/auto-publish-releases branch October 29, 2026 13:26
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.

1 participant