name: Publish on: push: branches: - main permissions: contents: read jobs: publish: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Bun uses: oven-sh/setup-bun@v2 - name: Set up Node uses: actions/setup-node@v4 with: node-version: "24" registry-url: "https://registry.npmjs.org" - name: Check npm token run: | if [ -z "${NODE_AUTH_TOKEN}" ]; then echo "NPM_TOKEN secret is required to publish." exit 1 fi env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - name: Install dependencies run: bun install --frozen-lockfile - name: Typecheck run: bunx tsc --noEmit - name: Publish to npm run: npm publish --access public --tag latest env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}