Skip to content

Commit d43796c

Browse files
committed
build: add release pipeline
1 parent 735ed52 commit d43796c

2 files changed

Lines changed: 78 additions & 1 deletion

File tree

.github/workflows/release.yml

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
name: Release
2+
3+
on:
4+
release:
5+
types:
6+
- published
7+
8+
permissions:
9+
contents: read
10+
id-token: write
11+
12+
concurrency:
13+
group: release-${{ github.workflow }}-${{ github.ref }}
14+
cancel-in-progress: false
15+
16+
jobs:
17+
quality:
18+
name: Quality Gates
19+
runs-on: ubuntu-latest
20+
21+
steps:
22+
- name: Checkout
23+
uses: actions/checkout@v6
24+
25+
- name: Setup Bun
26+
uses: oven-sh/setup-bun@v2
27+
with:
28+
bun-version: "1.3.11"
29+
30+
- name: Install dependencies
31+
run: bun install --frozen-lockfile
32+
33+
- name: Lint
34+
run: bun run lint
35+
36+
- name: Typecheck
37+
run: bun run typecheck
38+
39+
- name: Test
40+
run: bun run test
41+
42+
- name: Build
43+
run: bun run build
44+
45+
publish:
46+
name: Publish to npm
47+
runs-on: ubuntu-latest
48+
needs: quality
49+
50+
steps:
51+
- name: Checkout
52+
uses: actions/checkout@v6
53+
54+
- name: Setup Bun
55+
uses: oven-sh/setup-bun@v2
56+
with:
57+
bun-version: "1.3.11"
58+
59+
- name: Setup Node
60+
uses: actions/setup-node@v6
61+
with:
62+
node-version: "22"
63+
registry-url: "https://registry.npmjs.org"
64+
65+
- name: Install dependencies
66+
run: bun install --frozen-lockfile
67+
68+
- name: Build package
69+
run: bun run build
70+
71+
- name: Publish package
72+
run: npm publish --access public

package.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@
2828
"dev": "nuxt-module-build build --stub",
2929
"lint": "eslint .",
3030
"typecheck": "vue-tsc --noEmit",
31-
"test": "vitest run"
31+
"test": "vitest run",
32+
"prepublishOnly": "npm run build"
3233
},
3334
"peerDependencies": {
3435
"@nuxt/ui": "^4.6.0",
@@ -51,5 +52,9 @@
5152
"vitest": "^4.1.3",
5253
"vue-eslint-parser": "^10.4.0",
5354
"vue-tsc": "^3.0.0"
55+
},
56+
"publishConfig": {
57+
"access": "public",
58+
"registry": "https://registry.npmjs.org/"
5459
}
5560
}

0 commit comments

Comments
 (0)