Skip to content

ci(publish): 'publish' branch trigger + idempotent OIDC release#15

Merged
bdelanghe merged 1 commit into
mainfrom
conformance/publish-branch
Jun 29, 2026
Merged

ci(publish): 'publish' branch trigger + idempotent OIDC release#15
bdelanghe merged 1 commit into
mainfrom
conformance/publish-branch

Conversation

@bdelanghe

Copy link
Copy Markdown
Contributor

prx-czni. Adds a dedicated publish branch as a release trigger (alongside v* tags + manual dispatch), publishing via npm Trusted Publishing (OIDC — keyless, no token, no 2FA).

Release flow: bump version on main → fast-forward main into publish → push → CI publishes whatever version is in package.json.

Idempotency (the key bit): the job checks npm view <name>@<version> and skips the publish if that version already exists — so re-pushing publish without a version bump is a clean no-op, never a 'version already exists' red build.

After merge I'll create the publish branch and push it to validate the trigger + idempotency end-to-end (it'll no-op since 0.2.0 is already live). The actual OIDC publish path validates on the next version bump.

🤖 Generated with Claude Code

…prx-czni)

Release flow: bump version on main, fast-forward main into the `publish` branch,
push — CI publishes via Trusted Publishing (OIDC, keyless). Adds `branches: [publish]`
alongside the existing v* tag + workflow_dispatch triggers.

Idempotency guard: the job checks `npm view <name>@<version>` and SKIPS the publish
when that version already exists, so re-pushing `publish` without a version bump is a
clean no-op rather than a 'version already exists' red build.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@bdelanghe bdelanghe merged commit 8409cee into main Jun 29, 2026
1 check passed
@bdelanghe bdelanghe deleted the conformance/publish-branch branch June 29, 2026 02:11
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