name: Release permissions: id-token: write contents: write on: push: tags: - 'v*' concurrency: group: release cancel-in-progress: false jobs: release: runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 with: fetch-depth: 0 - uses: pnpm/action-setup@v6 - uses: actions/setup-node@v7 with: node-version: lts/* cache: pnpm - run: pnpm install --frozen-lockfile - run: pnpm run check:versions "$GITHUB_REF_NAME" - run: pnpm run release:check - run: git diff --exit-code - name: Select npm dist-tag run: | node --input-type=module -e 'import { appendFileSync } from "node:fs"; import pkg from "./package.json" with { type: "json" }; appendFileSync(process.env.GITHUB_ENV, `NPM_DIST_TAG=${pkg.version.includes("-") ? "next" : "latest"}\n`)' - run: pnpm --filter './packages/*' -r publish --no-git-checks --provenance --tag "$NPM_DIST_TAG" - run: pnpm dlx changelogithub env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}