Skip to content

Commit 6094b61

Browse files
authored
Update release.yml
1 parent 0095b68 commit 6094b61

File tree

1 file changed

+31
-24
lines changed

1 file changed

+31
-24
lines changed

.github/workflows/release.yml

Lines changed: 31 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: Release
22

33
on:
4-
workflow_dispatch:
4+
workflow_dispatch: # manual “Run workflow”
55

66
permissions:
77
contents: write
@@ -11,63 +11,70 @@ permissions:
1111
jobs:
1212
release:
1313
runs-on: ubuntu-latest
14+
1415
steps:
16+
# 1 ▸ Checkout the branch you chose in the UI (default = main)
1517
- uses: actions/checkout@v4
1618

17-
- name: Check CI Status
19+
# 2 ▸ Ensure the latest CI on this branch passed
20+
- name: Check CI status
1821
run: |
19-
# Get the latest CI workflow run for this branch
20-
CI_STATUS=$(gh run list --workflow=ci.yml --branch=${{ github.ref_name }} --limit=1 --json conclusion --jq '.[0].conclusion')
22+
CI_STATUS=$(gh run list \
23+
--workflow=ci.yml \
24+
--branch=${{ github.ref_name }} \
25+
--limit=1 \
26+
--json conclusion \
27+
--jq '.[0].conclusion')
2128
2229
if [[ "$CI_STATUS" != "success" ]]; then
2330
echo "❌ CI must pass before releasing. Current status: $CI_STATUS"
2431
exit 1
2532
fi
26-
27-
echo "✅ CI passed. Proceeding with release..."
33+
echo "✅ CI passed. Proceeding with release…"
2834
env:
2935
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3036

37+
# 3 ▸ Calculate tags / CHANGELOG with release-please
3138
- uses: googleapis/release-please-action@v4
3239
id: release
3340
with:
3441
token: ${{ secrets.GITHUB_TOKEN }}
35-
config-file: .release-please-manifest.json
36-
manifest-file: .release-please-manifest.json
42+
config-file: .release-please-config.json # your config
43+
manifest-file: .release-please-manifest.json # version manifest
3744

38-
# Publish to npm when releases are created
45+
# 4 ▸ Only continue if at least one package was released
3946
- uses: actions/setup-node@v4
40-
if: ${{ steps.release.outputs.releases_created }}
47+
if: ${{ steps.release.outputs.release_created == 'true' }}
4148
with:
42-
node-version: '18'
43-
registry-url: 'https://registry.npmjs.org'
49+
node-version: 18
50+
registry-url: https://registry.npmjs.org
4451

4552
- name: Install dependencies
46-
if: ${{ steps.release.outputs.releases_created }}
53+
if: ${{ steps.release.outputs.release_created == 'true' }}
4754
run: |
4855
corepack enable
4956
pnpm install --frozen-lockfile
5057
58+
# 5 ▸ Publish each released workspace package
5159
- name: Publish packages
52-
if: ${{ steps.release.outputs.releases_created }}
60+
if: ${{ steps.release.outputs.release_created == 'true' }}
61+
env:
62+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
5363
run: |
54-
# Check which packages were released and publish them
55-
echo "Releases created: ${{ steps.release.outputs.releases_created }}"
64+
echo "ℹ️ Packages flagged for publish:"
65+
echo "• core → ${{ steps.release.outputs['packages/core--release_version'] }}"
66+
echo "• cli → ${{ steps.release.outputs['packages/cli--release_version'] }}"
5667
57-
# Publish core package if it was released
58-
if [[ '${{ steps.release.outputs.packages_core--release_created }}' == 'true' ]]; then
59-
echo "📦 Publishing @react-zero-ui/core..."
68+
if [[ '${{ steps.release.outputs['packages/core--release_created'] }}' == 'true' ]]; then
69+
echo "📦 Publishing @react-zero-ui/core…"
6070
cd packages/core
6171
npm publish --access public
6272
cd ../..
6373
fi
6474
65-
# Publish CLI package if it was released
66-
if [[ '${{ steps.release.outputs.packages_cli--release_created }}' == 'true' ]]; then
67-
echo "📦 Publishing create-zero-ui..."
75+
if [[ '${{ steps.release.outputs['packages/cli--release_created'] }}' == 'true' ]]; then
76+
echo "📦 Publishing create-zero-ui…"
6877
cd packages/cli
6978
npm publish --access public
7079
cd ../..
7180
fi
72-
env:
73-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

0 commit comments

Comments
 (0)