feat: update
This commit is contained in:
@@ -48,7 +48,7 @@ fallback;成功交付一次后引导用户迁移到契约。
|
||||
- 认证令牌已通过环境变量或密钥系统提供;绝不写入命令输出、文件、提交或回复,
|
||||
不用 `set -x` 执行含凭据的命令。
|
||||
- 相同版本是否允许覆盖;无法确认且可能覆盖时,先询问。
|
||||
- Docker 轨道需要用户已明确指定目标 registry/repository/tag 后才继续。
|
||||
- Docker 轨道需要已确定 registry/repository;tag 未给出时按契约「版本号」推导。
|
||||
|
||||
脏工作树默认拒绝发布;用户明确接受时设置 `ALLOW_UNCOMMITTED=1` 并在汇报中注明
|
||||
包含的未提交修改。
|
||||
@@ -60,9 +60,11 @@ make build ARCH=<amd64|arm64> VERSION=<version> # 主产物
|
||||
make deb ARCH=<amd64|arm64> # DEB 项目
|
||||
```
|
||||
|
||||
版本缺省由 make 从 `git describe --tags --always --dirty` 推导。构建目标若会自动
|
||||
上传而当前仅获构建授权,改用纯构建目标。执行前确认所需工具可用(docker、
|
||||
dpkg-deb 等)。不得擅自清理宽泛目录;脚本含 `rm -rf` 时先解析确认为受限构建目录。
|
||||
版本缺省按契约「版本号」从 Git 祖先稳定 tag 推导(正式 = HEAD exact-match
|
||||
的 `vX.Y.Z`;测试 = `X.Y.Z~分支.距离+gSHA`)。不要调用 manage-release 来算
|
||||
产物版本,不要用全仓库最新 tag。构建目标若会自动上传而当前仅获构建授权,改用
|
||||
纯构建目标。执行前确认所需工具可用(docker、dpkg-deb 等)。不得擅自清理宽泛
|
||||
目录;脚本含 `rm -rf` 时先解析确认为受限构建目录。
|
||||
|
||||
### 3. 上传前检查
|
||||
|
||||
@@ -120,7 +122,8 @@ rg -n -i --hidden --glob '!.git' \
|
||||
## 修改 builder 自身时
|
||||
|
||||
- 上传/发布脚本是 SSOT:通用行为修改落在 `skills/builder/scripts/`,不同步复制到
|
||||
业务项目。
|
||||
业务项目。产物版本只通过 `scripts/version.sh` 推导,不要在项目 Makefile 内联
|
||||
`git describe` 或 `sort -V`。
|
||||
- 契约变更先改 `scripts/check.py`,再同步 `references/contract.md`。
|
||||
- 可用 `bash -n` 检查脚本语法;有 ShellCheck 时一并运行。
|
||||
- 不通过真实生产上传测试脚本,除非用户明确授权并给出测试版本/仓库。
|
||||
|
||||
Reference in New Issue
Block a user