name: Release on: push: tags: - 'v*' jobs: publish: runs-on: ubuntu-latest permissions: contents: write # needed for GitHub Release creation steps: - uses: actions/checkout@v4 - name: Use Node.js 22 uses: actions/setup-node@v4 with: node-version: 22 cache: npm registry-url: https://registry.npmjs.org - name: Install dependencies run: npm ci - name: Check formatting run: npm run format:check - name: Type check run: npx tsc --noEmit - name: Run tests run: npm test - name: Publish to npm run: npm publish env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - name: Create GitHub Release uses: softprops/action-gh-release@v2 with: generate_release_notes: true