Skip to content

Release via tanem/release-action - #1577

Merged
tanem merged 1 commit into
masterfrom
release-via-action
Aug 8, 2026
Merged

Release via tanem/release-action#1577
tanem merged 1 commit into
masterfrom
release-via-action

Conversation

@tanem

@tanem tanem commented Aug 8, 2026

Copy link
Copy Markdown
Owner

Moves this repo's release off the tanem-scripts npm package and onto the tanem/release-action composite action, SHA-pinned to v0.1.0. The label-driven bump, the Monday cron and the OIDC provenance publish all carry over unchanged — what goes away is the devDependency, the RELEASE_TOKEN PAT and the regenerated CHANGELOG.md.

The workflow keeps its filename, which is load-bearing: npm's trusted publisher for this package matches on repo plus workflow filename, so renaming it would need the publisher updated first. npm ci, the Playwright browser install and npm test are equally load-bearing — this package has no prepublishOnly, so the dist/ that reaches the registry is the one npm test builds, and the tests gate the release exactly as they did before. All three were verified locally: a full npm test passes and leaves the working tree clean, which matters because npm version refuses a dirty tree.

The if: github.ref == 'refs/heads/master' guard stays, and is a deliberate deviation from the shape the other fleet repos take. This repo stages breaking work on long-lived v* branches; the cron only ever fires on the default branch, but a manual dispatch can target any branch, and without the guard one of those would publish a half-finished major. AGENTS.md already documents that guard as load-bearing, so dropping it for uniformity would have been a silent regression.

The push now uses the ambient GITHUB_TOKEN instead of RELEASE_TOKEN. That required removing master's required ci status check, since a push made with GITHUB_TOKEN does not trigger workflows and so a bump commit can never earn a check of its own. Force-push and deletion protection stay in place, and Renovate is unaffected — it reads branch status itself rather than relying on GitHub's native auto-merge.

CHANGELOG.md is frozen at v12.1.0 with a pointer to GitHub Releases, which becomes the canonical changelog and is generated from the same labels via the new .github/release.yml. AUTHORS is left in place but is now stale: nothing regenerates it, and removing a contributor credit is a separate call. AGENTS.md and MIGRATION.md are updated to describe the flow that now exists.

A local dry-run against this repo at the pinned action version reports Nothing to release: no merged pull requests since the last release, which is the correct skip for the current state of master.

@tanem tanem added the internal label Aug 8, 2026
Replaces the tanem-scripts release command with the composite action.
The version bump still comes from the labels on PRs merged since the
last tag; what changes is what produces it and what it writes.

The workflow drops the RELEASE_TOKEN checkout credential: the action
pushes the bump commit and tag with the ambient GITHUB_TOKEN. That only
works because master's required status check has been removed — a
GITHUB_TOKEN push cannot trigger workflows, so a bump commit can never
earn a `ci` check of its own, and waiting for one would deadlock.

setup-node loses registry-url, which trusted publishing makes redundant,
and cache: 'npm', which the fleet workflow shape does not carry. The
git-identity step goes too: the action sets github-actions[bot] itself.

The `if: github.ref == 'refs/heads/master'` guard stays. This repo
stages breaking work on long-lived v* branches; the cron only ever fires
on the default branch, but a manual dispatch can target any branch, and
without the guard one of those would publish a half-finished major.

npm ci, the Playwright browser install and npm test are load-bearing
steps, not hygiene. This package has no prepublishOnly, so the dist/
that reaches the registry is the one npm test builds, and the tests gate
the release exactly as they did under the old flow.

CHANGELOG.md is closed at v12.1.0; GitHub Releases takes over,
categorised by the same labels through .github/release.yml. AUTHORS is
left in place but goes stale — nothing regenerates it now, and removing
a contributor credit is a separate call.

Regenerating the lockfile also corrects a stale packages[""].version it
had been carrying.
@tanem
tanem force-pushed the release-via-action branch from e8368e1 to 34ec8d6 Compare August 8, 2026 04:12
@tanem
tanem merged commit ff97218 into master Aug 8, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant