name: Test & Build permissions: id-token: write contents: write pull-requests: write on: push: branches: ["main"] pull_request: branches: ["main"] jobs: test-and-build: name: Test & Build runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: oven-sh/setup-bun@v2 with: bun-version: latest - run: bun i - run: bun --bun lint - run: bun --bun fmt:check - run: bun test - run: bun --bun run build release-please: name: Release Please runs-on: ubuntu-latest outputs: release_created: ${{ steps.release.outputs.release_created }} steps: - id: release uses: google-github-actions/release-please-action@v3 with: release-type: node package-name: zustand-computed release: name: Create NPM Release runs-on: ubuntu-latest needs: [release-please, test-and-build] if: ${{ needs.release-please.outputs.release_created }} steps: - uses: actions/checkout@v2 - uses: oven-sh/setup-bun@v2 with: bun-version: latest - run: bun i - run: bun --bun run build - uses: actions/setup-node@v6 with: node-version: 24 registry-url: https://registry.npmjs.org/ - run: npm publish --access public