refactor: 重构版本号管理规则,更新文档
All checks were successful
Release / build (push) Successful in 6m29s

- 扩展 AGENTS.md 版本号管理规则
- 整理 changelog.md,添加 v1.2.0 版本记录
- 更新 taolun.md,添加版本管理讨论
- 更新 memory.md,添加 CI 构建经验
This commit is contained in:
2026-04-08 02:57:21 +08:00
parent e6ff8a887c
commit 063b14add7
4 changed files with 187 additions and 541 deletions

View File

@@ -923,6 +923,56 @@ func PrintLogoWithVersion() // 打印完整logo
go build -ldflags "-X github.com/titor/fanyi/internal/logo.version=${VERSION}" -o yoyo ./cmd/yoyo
```
---
### CI构建环境问题
**问题1**: `./build.sh: not found
**原因**:
1. 远程CI使用 `golang:1.26-alpine` 镜像,默认没有 bash
2. build.sh 脚本 shebang 是 `#!/bin/bash`
**解决方案**:
```yaml
# .gitea/workflows/release.yaml
- name: Checkout
run: |
apk add git bash # 添加 bash
git clone ...
```
---
**问题2**: `error obtaining VCS status: exit status 128`
**原因**: CI 中 git 仓库信息不完整,导致 Go 获取 VCS 状态失败
**解决方案**:
```bash
# build.sh 中添加 -buildvcs=false
go build -buildvcs=false -ldflags "-s -w -X ..." -o yoyo ./cmd/yoyo
```
---
**问题3**: Release 说明只有 "Automated release"
**原因**: 创建 release 时 body 写死了固定文本
**解决方案**:
使用 annotated tag 的注释内容作为 release 说明:
```bash
git tag -a v1.2.0 -m "版本说明\n- 功能1\n- 功能2"
```
CI 中获取:
```bash
RELEASE_BODY=$(git tag -l --format='%(contents)' "$TAG_NAME")
```
---
### 终端颜色输出问题
**问题**: 在非TTY环境如管道ANSI转义序列可能显示为明文