name: Publish on: push: tags: - "v*" permissions: id-token: write contents: read jobs: npm: name: Publish to NPM runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v6 with: fetch-depth: 0 - name: Setup Node.js uses: actions/setup-node@v6 with: node-version: "24" registry-url: "https://registry.npmjs.org" - name: Setup Bun uses: oven-sh/setup-bun@v2 - name: Install dependencies run: npm install -g npm@latest && npm ci - name: Generate types run: npm run generate-types - name: Lint run: npm run lint - name: Type check run: npm run typecheck - name: Build run: npm run build - name: Publish run: npm publish