Skip to content

Commit a4e94ec

Browse files
committed
ci(release): add auto release for main and beta
1 parent a6c1b4b commit a4e94ec

File tree

6 files changed

+3107
-1161
lines changed

6 files changed

+3107
-1161
lines changed

.github/workflows/release.yml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: Release
2+
on:
3+
pull_request:
4+
branches:
5+
- main
6+
- beta
7+
8+
permissions:
9+
contents: read
10+
11+
jobs:
12+
release:
13+
permissions:
14+
contents: write
15+
id-token: write
16+
issues: write
17+
pull-requests: write
18+
runs-on: ubuntu-latest
19+
steps:
20+
- name: Checkout
21+
uses: actions/checkout@v4
22+
with:
23+
fetch-depth: 0
24+
25+
- name: Setup Node
26+
uses: actions/setup-node@v4
27+
with:
28+
node-version: 20
29+
cache: pnpm
30+
31+
- name: Using pnpm
32+
uses: pnpm/action-setup@v3
33+
with:
34+
version: 8.15.4
35+
36+
- name: Install dependencies
37+
run: pnpm install
38+
39+
- name: Check and fix vulnerabilities
40+
run: pnpm audit --fix
41+
42+
- name: Publish
43+
env:
44+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
45+
GIT_AUTHOR_EMAIL: [email protected]
46+
GIT_AUTHOR_NAME: release-bot
47+
GIT_COMMITTER_EMAIL: [email protected]
48+
GIT_COMMITTER_NAME: release-bot
49+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
50+
run: pnpm release

.idea/codeStyles/Project.xml

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.releaserc

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
{
2+
"branches": [
3+
"+([0-9])?(.{+([0-9]),x}).x",
4+
"main",
5+
{
6+
"name": "beta",
7+
"prerelease": true
8+
}
9+
],
10+
"plugins": [
11+
"@semantic-release/commit-analyzer",
12+
"@semantic-release/release-notes-generator",
13+
"@semantic-release/changelog",
14+
[
15+
"@semantic-release/npm",
16+
{
17+
"npmPublish": true
18+
}
19+
],
20+
[
21+
"@semantic-release/git",
22+
{
23+
"assets": [
24+
"package.json",
25+
"CHANGELOG.md"
26+
],
27+
"message": "chore(release): v${nextRelease.version} \n\n${nextRelease.notes}"
28+
}
29+
],
30+
[
31+
"@semantic-release/github",
32+
{
33+
"addReleases": "top",
34+
"successComment": ":tada: This issue has been resolved in version ${nextRelease.version} :tada:\n\nThe release is available on [GitHub release](<github_release_url>)"
35+
}
36+
]
37+
]
38+
}

commitlint.config.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export default {
2+
extends: ['@commitlint/config-conventional']
3+
}

package.json

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,34 +5,52 @@
55
"type": "module",
66
"workspaces": [
77
"package/*",
8-
"example/*"
8+
"example/*",
9+
"docs/*"
910
],
1011
"scripts": {
11-
"dev": "cd example && pnpm run dev",
12-
"docs:dev": "cd docs && pnpm run docs:dev",
12+
"dev": "pnpm -C example dev",
13+
"build": "tsc && vite build",
14+
"docs:dev": "pnpm -C docs docs:dev",
15+
"docs:build": "pnpm -C docs docs:build",
16+
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
1317
"typecheck": "vue-tsc --noEmit",
14-
"lint": "eslint . -c .eslintrc.json --fix --ext .ts,.vue,.tsx,.d.ts",
15-
"prepare": "husky install"
18+
"commit": "cz",
19+
"prepare": "husky install",
20+
"release": "semantic-release"
1621
},
1722
"dependencies": {
1823
"vue": "^3.4.21"
1924
},
2025
"devDependencies": {
2126
"@commitlint/cli": "^19.2.1",
2227
"@commitlint/config-conventional": "^19.1.0",
28+
"@semantic-release/changelog": "^6.0.3",
29+
"@semantic-release/git": "^10.0.1",
2330
"@typescript-eslint/eslint-plugin": "^7.4.0",
2431
"@typescript-eslint/parser": "^7.4.0",
2532
"@vitejs/plugin-vue": "^5.0.4",
2633
"@vitejs/plugin-vue-jsx": "^3.1.0",
2734
"@vue/eslint-config-prettier": "^9.0.0",
2835
"commitizen": "^4.3.0",
36+
"cz-conventional-changelog": "^3.3.0",
2937
"eslint": "^8.57.0",
3038
"eslint-plugin-prettier": "^5.1.3",
3139
"eslint-plugin-vue": "^9.24.0",
3240
"husky": "^9.0.11",
3341
"prettier": "^3.2.5",
42+
"semantic-release": "^23.0.8",
3443
"typescript": "^5.4.3",
3544
"vite": "^5.2.0",
3645
"vue-tsc": "^2.0.7"
46+
},
47+
"config": {
48+
"commitizen": {
49+
"path": "./node_modules/cz-conventional-changelog"
50+
}
51+
},
52+
"publishConfig": {
53+
"access": "public",
54+
"provenance": true
3755
}
3856
}

0 commit comments

Comments
 (0)