Skip to content

Commit 14520e5

Browse files
authored
ci: align release workflow to query (#7404)
1 parent 9f9f371 commit 14520e5

1 file changed

Lines changed: 13 additions & 45 deletions

File tree

.github/workflows/release.yml

Lines changed: 13 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -20,53 +20,21 @@ permissions:
2020
jobs:
2121
release:
2222
name: Release
23-
if: "!contains(github.event.head_commit.message, 'ci: changeset release')"
2423
runs-on: ubuntu-latest
2524
steps:
2625
- name: Checkout
2726
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2827
with:
2928
fetch-depth: 0
30-
persist-credentials: true # release job pushes version changes
31-
- name: Check for changesets
32-
id: changesets
33-
run: |
34-
CHANGESET_FILES=$(ls .changeset/*.md 2>/dev/null | grep -v README.md || true)
35-
if [ -z "$CHANGESET_FILES" ]; then
36-
echo "has_changesets=false" >> "$GITHUB_OUTPUT"
37-
else
38-
echo "has_changesets=true" >> "$GITHUB_OUTPUT"
39-
fi
40-
- name: Start Nx Agents
41-
if: steps.changesets.outputs.has_changesets == 'true'
42-
run: npx nx-cloud start-ci-run --distribute-on=".nx/workflows/dynamic-changesets.yaml"
29+
persist-credentials: true # changesets/action pushes Release PR commits
4330
- name: Setup Tools
4431
uses: TanStack/config/.github/setup@e4b48f16568324f76f467aa4c2aac2f05db632c3 # main
45-
- name: Run Tests
46-
if: steps.changesets.outputs.has_changesets == 'true'
47-
run: pnpm run test:ci --parallel=3
48-
- name: Stop Nx Agents
49-
if: ${{ always() && steps.changesets.outputs.has_changesets == 'true' }}
50-
run: npx nx-cloud stop-all-agents
32+
- name: Run Build
33+
run: pnpm run build:all
5134
- name: Enter Pre-Release Mode
5235
if: "contains(github.ref_name, '-pre') && !hashFiles('.changeset/pre.json')"
5336
run: pnpm changeset pre enter pre
54-
- name: Version Packages
55-
run: pnpm run changeset:version
56-
env:
57-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
58-
- name: Commit and Push Version Changes
59-
id: commit
60-
run: |
61-
git config user.name "github-actions[bot]"
62-
git config user.email "github-actions[bot]@users.noreply.github.com"
63-
git add .
64-
if git commit -m "ci: changeset release"; then
65-
git push origin "HEAD:${GITHUB_REF_NAME}"
66-
echo "committed=true" >> "$GITHUB_OUTPUT"
67-
fi
6837
- name: Determine dist-tag
69-
if: steps.commit.outputs.committed == 'true'
7038
id: dist-tag
7139
run: |
7240
BRANCH="${GITHUB_REF_NAME}"
@@ -77,18 +45,18 @@ jobs:
7745
else
7846
echo "latest=true" >> "$GITHUB_OUTPUT"
7947
fi
80-
- name: Publish Packages
81-
if: steps.commit.outputs.committed == 'true'
48+
- name: Create Release Pull Request or Publish
49+
id: changesets
50+
uses: changesets/action@63a615b9cd06ba9a3e6d13796c7fbcb080a60a0b # v1.8.0
51+
with:
52+
version: pnpm run changeset:version
53+
publish: pnpm run changeset:publish ${{ steps.dist-tag.outputs.tag && format('--tag {0}', steps.dist-tag.outputs.tag) }}
54+
title: 'ci: Version Packages'
55+
commit: 'ci: changeset release'
8256
env:
83-
DIST_TAG: ${{ steps.dist-tag.outputs.tag }}
84-
run: |
85-
if [ -n "$DIST_TAG" ]; then
86-
pnpm run changeset:publish --tag "$DIST_TAG"
87-
else
88-
pnpm run changeset:publish
89-
fi
57+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
9058
- name: Create GitHub Release
91-
if: steps.commit.outputs.committed == 'true'
59+
if: steps.changesets.outputs.published == 'true'
9260
run: node scripts/create-github-release.mjs ${{ steps.dist-tag.outputs.prerelease == 'true' && '--prerelease' }} ${{ steps.dist-tag.outputs.latest == 'true' && '--latest' }}
9361
env:
9462
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)