Skip to content

Commit 53fb84b

Browse files
fix(ci): split release.yml into version + publish jobs (#1836)
1 parent 54fa96e commit 53fb84b

File tree

2 files changed

+44
-9
lines changed

2 files changed

+44
-9
lines changed

.github/workflows/release.yml

Lines changed: 43 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
name: Release
22

3-
permissions:
4-
contents: write
5-
pull-requests: write
6-
73
on:
84
push:
95
branches:
@@ -12,9 +8,14 @@ on:
128
concurrency: ${{ github.workflow }}-${{ github.ref }}
139

1410
jobs:
15-
release:
16-
name: Release
11+
version:
12+
name: Version
1713
runs-on: ubuntu-latest
14+
permissions:
15+
contents: write
16+
pull-requests: write
17+
outputs:
18+
hasChangesets: ${{ steps.changesets.outputs.hasChangesets }}
1819
steps:
1920
- uses: actions/checkout@v6
2021

@@ -29,17 +30,50 @@ jobs:
2930
node-version: 24
3031
cache: pnpm
3132
cache-dependency-path: pnpm-lock.yaml
32-
registry-url: 'https://registry.npmjs.org'
3333

3434
- name: Install dependencies
3535
run: pnpm install
3636

37-
- name: Create Release Pull Request or Publish to npm
37+
- name: Create or update Version Packages PR
3838
id: changesets
39+
uses: changesets/action@6a0a831ff30acef54f2c6aa1cbbc1096b066edaf # v1
40+
env:
41+
GITHUB_TOKEN: ${{ github.token }}
42+
43+
publish:
44+
name: Publish
45+
needs: version
46+
if: needs.version.outputs.hasChangesets == 'false'
47+
runs-on: ubuntu-latest
48+
environment: release
49+
permissions:
50+
contents: write
51+
id-token: write
52+
steps:
53+
- uses: actions/checkout@v6
54+
55+
- name: Install pnpm
56+
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
57+
with:
58+
run_install: false
59+
60+
- name: Setup Node.js
61+
uses: actions/setup-node@v6
62+
with:
63+
node-version: 24
64+
cache: pnpm
65+
cache-dependency-path: pnpm-lock.yaml
66+
registry-url: 'https://registry.npmjs.org'
67+
68+
- name: Install dependencies
69+
run: pnpm install
70+
71+
- name: Publish to npm
3972
uses: changesets/action@6a0a831ff30acef54f2c6aa1cbbc1096b066edaf # v1
4073
with:
41-
publish: pnpm run build:all && pnpm changeset publish
74+
publish: pnpm run ci:publish
4275
env:
4376
GITHUB_TOKEN: ${{ github.token }}
4477
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
4578
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
79+
NPM_CONFIG_PROVENANCE: 'true'

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
"docs:check": "typedoc",
3030
"typecheck:all": "pnpm -r typecheck",
3131
"build:all": "pnpm -r build",
32+
"ci:publish": "pnpm run build:all && pnpm changeset publish",
3233
"prepack:all": "pnpm -r prepack",
3334
"lint:all": "pnpm sync:snippets --check && pnpm -r lint",
3435
"lint:fix:all": "pnpm sync:snippets && pnpm -r lint:fix",

0 commit comments

Comments
 (0)