Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,18 @@ jobs:
id: changesets
uses: changesets/action@v1
with:
# `changeset:version` runs `changeset version && pnpm install
# --lockfile-only`, so the release PR carries an in-sync pnpm-lock.yaml.
# Without it the later `--frozen-lockfile` install fails on the bumped
# (but not-yet-published) internal versions, stalling every release.
version: pnpm run changeset:version
title: 'chore: release packages'
commit: 'chore: release packages'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Lets `changeset:version`'s lockfile refresh resolve restricted @etus
# deps (e.g. @etus/auth) from the registry while updating the lockfile.
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
HUSKY: '0'

# Idempotent publish: skip if the local version is already on the
Expand Down
5 changes: 5 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -1,2 +1,7 @@
@etus:registry=https://registry.npmjs.org/
//registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN}
# Resolve internal workspace deps (e.g. create-bhono -> @etus/bhono) to the local
# package instead of the registry. Without this, a release bump points the dep at
# a version that isn't published yet, so `pnpm install` can't resolve it and every
# release stalls on the lockfile (ERR_PNPM_NO_MATCHING_VERSION / OUTDATED_LOCKFILE).
link-workspace-packages=true
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
"test:e2e:prod:auth": "tsx scripts/capture-prod-session.ts",
"test": "pnpm test:unit && pnpm test:integration && pnpm test:e2e",
"changeset": "changeset",
"changeset:version": "changeset version",
"changeset:version": "changeset version && pnpm install --lockfile-only",
"changeset:publish": "changeset publish",
"prepare": "husky || true",
"test:run": "pnpm test:unit:server && pnpm test:unit:client",
Expand Down
Loading