Skip to content

Commit 6acc4cc

Browse files
Andaristbluwy
andauthored
Tweak publishing setup (#2)
Co-authored-by: bluwy <bjornlu.dev@gmail.com>
1 parent ffedb26 commit 6acc4cc

4 files changed

Lines changed: 63 additions & 27 deletions

File tree

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: Setup CI
2+
description: Setup CI
3+
4+
inputs:
5+
node-version:
6+
description: Node.js version
7+
required: false
8+
default: 24
9+
10+
runs:
11+
using: composite
12+
steps:
13+
- name: Set up pnpm
14+
uses: pnpm/action-setup@91ab88e2619ed1f46221f0ba42d1492c02baf788 # v6.0.6
15+
16+
- name: Set up Node.js ${{ inputs.node-version }}
17+
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
18+
with:
19+
node-version: ${{ inputs.node-version }}
20+
cache: pnpm
21+
22+
- name: Install dependencies
23+
shell: bash
24+
run: pnpm install

.github/workflows/ci.yml

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ on:
66
branches:
77
- main
88

9+
permissions: {}
10+
911
jobs:
1012
test:
1113
name: Test
@@ -18,23 +20,14 @@ jobs:
1820
- name: Check out repo
1921
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2022

21-
- name: Set up pnpm
22-
uses: pnpm/action-setup@8912a9102ac27614460f54aedde9e1e7f9aec20d # v6.0.5
23-
24-
- name: Set up Node.js
25-
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
26-
with:
27-
node-version: 24
28-
cache: pnpm
23+
- uses: ./.github/actions/ci-setup
2924

25+
# Deno is needed for tests only
3026
- name: Set up Deno
3127
uses: denoland/setup-deno@667a34cdef165d8d2b2e98dde39547c9daac7282 # v2.0.4
3228
with:
3329
deno-version: 2.x
3430

35-
- name: Install dependencies
36-
run: pnpm install
37-
3831
- name: Build
3932
run: pnpm build
4033

.github/workflows/publish.yml

Lines changed: 29 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,33 +7,48 @@ on:
77

88
concurrency: ${{ github.workflow }}-${{ github.ref }}
99

10+
permissions: {}
11+
1012
jobs:
13+
version:
14+
name: Version
15+
runs-on: ubuntu-latest
16+
timeout-minutes: 10
17+
outputs:
18+
hasChangesets: ${{ steps.changesets.outputs.hasChangesets }}
19+
permissions:
20+
contents: write # to create version commits (changesets/action)
21+
pull-requests: write # to create pull request (changesets/action)
22+
steps:
23+
- name: Check out repo
24+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
25+
26+
- uses: ./.github/actions/ci-setup
27+
28+
- name: Create or update release pull request
29+
id: changesets
30+
uses: changesets/action@63a615b9cd06ba9a3e6d13796c7fbcb080a60a0b # v1.8.0
31+
1132
publish:
1233
name: Publish
13-
if: github.repository == 'changesets/format'
34+
if: needs.version.outputs.hasChangesets == 'false'
35+
needs: version
1436
runs-on: ubuntu-latest
37+
environment: npm
38+
timeout-minutes: 10
1539
permissions:
1640
contents: write # to create release (changesets/action)
17-
pull-requests: write # to create pull request (changesets/action)
1841
id-token: write # to use OpenID Connect token for trusted publishing (changesets/action)
1942
steps:
2043
- name: Check out repo
2144
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2245

23-
- name: Set up pnpm
24-
uses: pnpm/action-setup@91ab88e2619ed1f46221f0ba42d1492c02baf788 # v6.0.6
25-
26-
- name: Set up Node.js
27-
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
28-
with:
29-
node-version: 24
30-
cache: pnpm
31-
32-
- name: Install dependencies
33-
run: pnpm install
46+
- uses: ./.github/actions/ci-setup
3447

3548
- name: Build
3649
run: pnpm build
3750

38-
- name: Create release PR or publish to npm
51+
- name: Publish to npm
3952
uses: changesets/action@63a615b9cd06ba9a3e6d13796c7fbcb080a60a0b # v1.8.0
53+
with:
54+
publish: pnpm release

package.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@changesets/format",
3-
"version": "0.0.1",
3+
"version": "0.1.0",
44
"description": "Detect and format files",
55
"license": "MIT",
66
"author": "Changesets",
@@ -15,7 +15,8 @@
1515
"test": "vitest",
1616
"format": "oxfmt",
1717
"lint": "oxfmt --check",
18-
"typecheck": "tsc"
18+
"typecheck": "tsc",
19+
"release": "changeset publish"
1920
},
2021
"dependencies": {
2122
"package-manager-detector": "^1.6.0"
@@ -30,5 +31,8 @@
3031
"typescript": "~6.0.3",
3132
"vitest": "^4.1.5"
3233
},
34+
"engines": {
35+
"node": "^22.11 || ^24 || >=26"
36+
},
3337
"packageManager": "pnpm@11.1.0"
3438
}

0 commit comments

Comments
 (0)