Skip to content

Bump to 0.4.7

Bump to 0.4.7 #21

Workflow file for this run

name: Release
on:
workflow_dispatch:
push:
branches:
- main
paths:
- 'package.json'
jobs:
auto-tag:
runs-on: ubuntu-latest
permissions:
contents: write
outputs:
tag: ${{ steps.tag.outputs.tag }}
should_release: ${{ steps.tag.outputs.should_release }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get version and create tag
id: tag
run: |
VERSION=$(node -p "require('./package.json').version")
TAG="v$VERSION"
echo "Version: $VERSION, Tag: $TAG"
if git rev-parse "$TAG" >/dev/null 2>&1; then
echo "Tag $TAG already exists, skipping release"
echo "should_release=false" >> $GITHUB_OUTPUT
else
echo "Creating tag $TAG"
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git tag -a "$TAG" -m "Release $TAG"
git push origin "$TAG"
echo "tag=$TAG" >> $GITHUB_OUTPUT
echo "should_release=true" >> $GITHUB_OUTPUT
fi
publish-npm:
needs: auto-tag
if: needs.auto-tag.outputs.should_release == 'true'
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- uses: mlugg/setup-zig@v2
with:
version: 0.15.2
- name: Install binaryen (wasm-opt)
run: sudo apt-get install -y binaryen
- name: Install
run: bun install
- name: Build
run: bun run build
- name: Test
run: bun run test
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '24'
registry-url: 'https://registry.npmjs.org'
- name: Publish to npm (OIDC)
run: npm publish --provenance --access public
release:
needs: [auto-tag, publish-npm]
if: needs.auto-tag.outputs.should_release == 'true'
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- name: Create GitHub Release
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ needs.auto-tag.outputs.tag }}
generate_release_notes: true