feat(ci): 基于 v* 标签的多架构自动发版
Release / release (push) Failing after 8s

- 新增 .gitea/workflows/release.yml:推送 v* 标签触发,构建前端嵌入后
  交叉编译 linux/darwin(amd64+arm64),生成变更日志并创建 Gitea Release
- 新增 scripts/build-release.sh:make dist 与 CI 共用的产物构建脚本,
  tar.gz 打包 + SHA256SUMS;不含 windows(internal/store 依赖 Unix Umask)
- Makefile 增加 dist 目标;版本注入沿用 git describe + ldflags(pn version)
This commit is contained in:
2026-09-09 22:46:12 +08:00
parent 92d89717c5
commit ad4a87fc9f
5 changed files with 147 additions and 1 deletions
+16
View File
@@ -78,6 +78,22 @@ sudo systemctl enable --now pn pn-maint.timer
**恢复 SOP**:停服 → 删除 `data/pn.db-wal` 与 `-shm` → 以备份文件替换 `pn.db` → 起服。
## 版本与发版
版本号以 git tag 为唯一来源(语义化版本,从 `v0.0.1` 开始),构建时经 ldflags 注入,
`./pn version` 可查看:
```bash
git tag -a v0.0.1 -m "v0.0.1"
git push origin v0.0.1 # 推送 v* 标签即触发自动发版
```
推送 `v*` 标签后,Gitea Actions([.gitea/workflows/release.yml](.gitea/workflows/release.yml))
自动构建前端并嵌入,交叉编译 linux/darwin(amd64 + arm64)共 4 个产物,
连同 SHA256SUMS 与上一版本以来的变更日志一起发布到仓库的 Release 页面。
本地验证发布产物:`make dist`(版本缺省 `git describe --tags --always`,输出到 `dist/`)。
## 架构
```