- 扩展 AGENTS.md 版本号管理规则 - 整理 changelog.md,添加 v1.2.0 版本记录 - 更新 taolun.md,添加版本管理讨论 - 更新 memory.md,添加 CI 构建经验
This commit is contained in:
50
memory.md
50
memory.md
@@ -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转义序列可能显示为明文
|
||||
|
||||
Reference in New Issue
Block a user