- 自动生成 CHANGELOG
- 检查 commit message,看是否要升级 package.json version,支持 alpha、beta 等 pre-release 版本
- deploy npm
- 合并到 master 分支
module.exports = {
branches: ['main', { name: 'beta', prerelease: true }, { name: 'alpha', prerelease: true }]
plugins: [
'@semantic-release/commit-analyzer',
'@semantic-release/release-notes-generator',
[
'@semantic-release/changelog',
{
changelogFile: 'docs/CHANGELOG.md',
},
],
'@semantic-release/npm',
[
'@semantic-release/git',
{
assets: ['package.json', 'docs/CHANGELOG.md'],
message: 'chore(release): ${nextRelease.version} [skip ci]',
},
],
'@semantic-release/github',
],
};
name: Release
on:
repository_dispatch:
types: [ semantic-release ]
push:
branches:
- main
- alpha
- beta
jobs:
release:
name: release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
persist-credentials: false
- uses: actions/setup-node@v3
with:
node-version: 16
- run: npm i
- run: npm run build
- run: npx semantic-release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}