From f2d3223db01bbbe20911b3f84273905fc0effa45 Mon Sep 17 00:00:00 2001 From: Sarah Gerrard Date: Sun, 7 Jun 2026 15:06:23 -0700 Subject: [PATCH] use changesets/action PR flow for releases --- .github/workflows/release.yml | 35 +++++++++++------------------------ 1 file changed, 11 insertions(+), 24 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fc46c84..ccb3c0b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,7 +18,6 @@ permissions: jobs: release: name: Release - if: "!contains(github.event.head_commit.message, 'ci: changeset release')" runs-on: ubuntu-latest timeout-minutes: 45 permissions: @@ -30,7 +29,7 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 - persist-credentials: true # release job pushes version changes + persist-credentials: true # changesets/action pushes Version PR commits - name: Check for changesets id: changesets run: | @@ -54,24 +53,7 @@ jobs: - name: Enter Pre-Release Mode if: "contains(github.ref_name, '-pre') && !hashFiles('.changeset/pre.json')" run: pnpm changeset pre enter pre - - name: Version Packages - run: pnpm run changeset:version - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Commit and Push Version Changes - id: commit - run: | - git config user.name "github-actions[bot]" - git config user.email "github-actions[bot]@users.noreply.github.com" - git add . - if git commit -m "ci: changeset release"; then - git push origin "HEAD:${GITHUB_REF_NAME}" - echo "committed=true" >> "$GITHUB_OUTPUT" - fi - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Determine dist-tag - if: steps.commit.outputs.committed == 'true' id: dist-tag run: | BRANCH="${GITHUB_REF_NAME}" @@ -82,13 +64,18 @@ jobs: else echo "latest=true" >> "$GITHUB_OUTPUT" fi - - name: Publish Packages - if: steps.commit.outputs.committed == 'true' - run: pnpm run changeset:publish ${DIST_TAG_ARG} + - name: Create Release Pull Request or Publish + id: changesets-action + uses: changesets/action@63a615b9cd06ba9a3e6d13796c7fbcb080a60a0b # v1.8.0 + with: + version: pnpm run changeset:version + publish: pnpm run changeset:publish ${{ steps.dist-tag.outputs.tag && format('--tag {0}', steps.dist-tag.outputs.tag) }} + title: 'ci: Version Packages' + commit: 'ci: changeset release' env: - DIST_TAG_ARG: ${{ steps.dist-tag.outputs.tag && format('--tag {0}', steps.dist-tag.outputs.tag) }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Create GitHub Release - if: steps.commit.outputs.committed == 'true' + if: steps.changesets-action.outputs.published == 'true' run: node scripts/create-github-release.mjs ${PRERELEASE_ARG} ${LATEST_ARG} env: PRERELEASE_ARG: ${{ steps.dist-tag.outputs.prerelease == 'true' && '--prerelease' }}