Skip to content

Commit 3b7a177

Browse files
authored
ci: use separate changeset publishing pr (TanStack#10303)
1 parent 9346430 commit 3b7a177

File tree

1 file changed

+12
-43
lines changed

1 file changed

+12
-43
lines changed

.github/workflows/release.yml

Lines changed: 12 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -19,71 +19,40 @@ permissions:
1919
jobs:
2020
release:
2121
name: Release
22-
if: "!contains(github.event.head_commit.message, 'ci: changeset release')"
2322
runs-on: ubuntu-latest
2423
steps:
2524
- name: Checkout
2625
uses: actions/checkout@v6.0.2
2726
with:
2827
fetch-depth: 0
29-
- name: Check for changesets
30-
id: changesets
31-
run: |
32-
CHANGESET_FILES=$(ls .changeset/*.md 2>/dev/null | grep -v README.md || true)
33-
if [ -z "$CHANGESET_FILES" ]; then
34-
echo "has_changesets=false" >> "$GITHUB_OUTPUT"
35-
else
36-
echo "has_changesets=true" >> "$GITHUB_OUTPUT"
37-
fi
38-
- name: Start Nx Agents
39-
if: steps.changesets.outputs.has_changesets == 'true'
40-
run: npx nx-cloud start-ci-run --distribute-on=".nx/workflows/dynamic-changesets.yaml"
4128
- name: Setup Tools
4229
uses: TanStack/config/.github/setup@main
43-
- name: Run Tests
44-
if: steps.changesets.outputs.has_changesets == 'true'
45-
run: pnpm run test:ci
46-
- name: Stop Nx Agents
47-
if: ${{ always() && steps.changesets.outputs.has_changesets == 'true' }}
48-
run: npx nx-cloud stop-all-agents
49-
- name: Enter Pre-Release Mode
50-
if: "contains(github.ref_name, '-pre') && !hashFiles('.changeset/pre.json')"
51-
run: pnpm changeset pre enter pre
52-
- name: Version Packages
53-
run: pnpm run changeset:version
54-
env:
55-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
56-
- name: Commit and Push Version Changes
57-
id: commit
58-
run: |
59-
git config user.name "github-actions[bot]"
60-
git config user.email "github-actions[bot]@users.noreply.github.com"
61-
git add .
62-
if git commit -m "ci: changeset release"; then
63-
git push
64-
echo "committed=true" >> "$GITHUB_OUTPUT"
65-
fi
66-
env:
67-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6830
- name: Determine dist-tag
69-
if: steps.commit.outputs.committed == 'true'
7031
id: dist-tag
7132
run: |
7233
BRANCH="${GITHUB_REF_NAME}"
7334
if [[ "$BRANCH" == *-pre ]]; then
7435
echo "prerelease=true" >> "$GITHUB_OUTPUT"
36+
echo "tag=pre" >> "$GITHUB_OUTPUT"
7537
elif [[ "$BRANCH" == *-maint ]]; then
7638
echo "tag=maint" >> "$GITHUB_OUTPUT"
7739
elif [[ "$BRANCH" =~ ^v[0-9]+$ ]]; then
7840
echo "tag=$BRANCH" >> "$GITHUB_OUTPUT"
7941
else
8042
echo "latest=true" >> "$GITHUB_OUTPUT"
8143
fi
82-
- name: Publish Packages
83-
if: steps.commit.outputs.committed == 'true'
84-
run: pnpm run changeset:publish ${{ steps.dist-tag.outputs.tag && format('--tag {0}', steps.dist-tag.outputs.tag) }}
44+
- name: Create Release Pull Request or Publish
45+
id: changesets
46+
uses: changesets/action@v1
47+
with:
48+
version: pnpm run changeset:version
49+
publish: pnpm run changeset:publish ${{ steps.dist-tag.outputs.tag && format('--tag {0}', steps.dist-tag.outputs.tag) }}
50+
title: 'ci: Version Packages'
51+
commit: 'ci: changeset release'
52+
env:
53+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
8554
- name: Create GitHub Release
86-
if: steps.commit.outputs.committed == 'true'
55+
if: steps.changesets.outputs.published == 'true'
8756
run: node scripts/create-github-release.mjs ${{ steps.dist-tag.outputs.prerelease == 'true' && '--prerelease' }} ${{ steps.dist-tag.outputs.latest == 'true' && '--latest' }}
8857
env:
8958
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)