fix: 修复 Release 正文缺少 CHANGELOG 内容,支持 -beta 版本后缀
原因:electron-builder 拿到 GH_TOKEN 后会自动创建一个空内容的 Release, 导致 softprops 的 body_path 无法生效。移除 electron-builder 的 GH_TOKEN, 让 softprops/action-gh-release 独占负责 Release 创建和内容写入。 顺带修复 extract-release-notes.mjs 正则式只转义第一个点的 bug, 并更新 release.mjs 支持 0.x.x-beta / 0.x.x-rc.1 等版本号后缀。
This commit is contained in:
1 parent
2b828f6000
commit
bfa0f00438
5 files changed
+8
-8
No files matched your search
@@ -43,7 +43,9 @@ description: 发版助手。自动分析改动、生成 CHANGELOG 条目、处
|
||||
| 新增功能 | 次版本号 +1,修订号归零 | `0.0.1` → `0.1.0` |
|
||||
| 破坏性变更 | 主版本号 +1 | `0.x.x` → `1.0.0` |
|
||||
|
||||
**测试版判断**:版本号主版本为 0(即 `0.x.x`)时,在 GitHub Release 上自动标记为"预发布/测试版"(CI 已配置,无需手动处理)。
|
||||
版本号支持 `-beta` / `-alpha` / `-rc.1` 等后缀(如 `0.1.0-beta`)。
|
||||
|
||||
**测试版判断**:版本号主版本为 0(即 `0.x.x`)或包含 `-`(如 `0.1.0-beta`)时,在 GitHub Release 上自动标记为"预发布/测试版"(CI 已配置,无需手动处理)。
|
||||
|
||||
向用户展示建议版本号,等待确认或让用户输入自定义版本号。
|
||||
|
||||
|
||||
@@ -85,7 +85,6 @@ jobs:
|
||||
- name: Package DMG
|
||||
run: pnpm exec electron-builder --mac --${{ matrix.arch }}
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
CSC_IDENTITY_AUTO_DISCOVERY: false
|
||||
|
||||
- name: Upload artifact
|
||||
|
||||
@@ -65,8 +65,6 @@ jobs:
|
||||
|
||||
- name: Package NSIS installer
|
||||
run: pnpm exec electron-builder --win
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v7
|
||||
|
||||
@@ -24,8 +24,9 @@ if (!version) {
|
||||
const changelog = readFileSync(resolve(root, 'CHANGELOG.md'), 'utf8')
|
||||
const lines = changelog.split('\n')
|
||||
|
||||
// 找到 ## [version] 开头的行
|
||||
const startPattern = new RegExp(`^## \\[${version.replace('.', '\\.')}\\]`)
|
||||
// 找到 ## [version] 开头的行(转义版本号中所有特殊正则字符)
|
||||
const escapedVersion = version.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
|
||||
const startPattern = new RegExp(`^## \\[${escapedVersion}\\]`)
|
||||
const sectionPattern = /^## \[/
|
||||
|
||||
let inSection = false
|
||||
|
||||
+2
-2
@@ -33,8 +33,8 @@ function run(cmd) {
|
||||
|
||||
// ── 参数校验 ──────────────────────────────────────────────────────────────────
|
||||
const version = process.argv[2]
|
||||
if (!version || !/^\d+\.\d+\.\d+$/.test(version)) {
|
||||
console.error('用法: pnpm run release <version> (例如: 0.2.0)')
|
||||
if (!version || !/^\d+\.\d+\.\d+(-[a-zA-Z0-9.]+)?$/.test(version)) {
|
||||
console.error('用法: pnpm run release <version> (例如: 0.2.0 或 0.2.0-beta)')
|
||||
process.exit(1)
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user