Skip to content

chore: release v0.5.5 #17

chore: release v0.5.5

chore: release v0.5.5 #17

Workflow file for this run

name: Release NPM
on:
push:
tags:
- 'v*.*.*'
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: write
id-token: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- uses: actions/setup-node@v4
with:
node-version: 24
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Validate project
run: |
bun run lint:all
bun run typecheck
bun test
bun run build
bun run smoke:packaged
- name: Verify npm pack lifecycle (prepack -> tsdown)
run: npm pack --dry-run
- name: Validate release tag matches package version
run: |
TAG_VERSION="${GITHUB_REF_NAME#v}"
PACKAGE_VERSION="$(bun -e "const pkg = await Bun.file('package.json').json(); console.log(pkg.version)")"
if [ "$TAG_VERSION" != "$PACKAGE_VERSION" ]; then
echo "Tag version ($TAG_VERSION) does not match package.json version ($PACKAGE_VERSION)"
exit 1
fi
- name: Generate release notes
run: bunx changelogithub
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Publish package to npm
run: npm publish --access public