name: Release on: push: branches: ['main'] permissions: id-token: write # OIDC for npm trusted publishing contents: write pull-requests: write jobs: release: name: Build and Release runs-on: ubuntu-latest timeout-minutes: 15 steps: - name: Check out code uses: actions/checkout@v4 with: fetch-depth: 2 - name: Cache turbo build setup uses: actions/cache@v4 with: path: .turbo key: ${{ runner.os }}-turbo-${{ github.sha }} restore-keys: | ${{ runner.os }}-turbo- - uses: pnpm/action-setup@v4 with: version: 10.30.1 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: 22.14 cache: 'pnpm' registry-url: 'https://registry.npmjs.org' - name: Install npm with OIDC support run: npm install -g npm@11.5.1 - name: Install dependencies run: pnpm install --frozen-lockfile - name: Build run: pnpm build - name: Run tests run: pnpm test - name: Create Release Pull Request or Publish to npm uses: changesets/action@v1 with: publish: pnpm release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} NPM_CONFIG_PROVENANCE: true