feat(builder): load publish credentials from .env.builder
Keep DEB/Docker publish keys out of the project's .env. Scripts and check.py --ready only read .env.builder; empty values count as missing.
This commit is contained in:
@@ -16,6 +16,9 @@ make -f makefile.builder <target>
|
||||
不要把 builder 目标写进用户的 `Makefile` 或 `makefile`。`check.py` 只读
|
||||
`makefile.builder`。
|
||||
|
||||
发布凭据固定为项目根 `.env.builder`。不要把这些键写进用户的 `.env`。脚本不读取
|
||||
`.env`。
|
||||
|
||||
## 1. Make 目标
|
||||
|
||||
### 必备目标(所有项目)
|
||||
@@ -113,9 +116,9 @@ include $(HOME)/.pouch/skills/builder/scripts/version.mk
|
||||
| `IMAGE_TAG` | 否 | 默认由规范版本渲染:正式为 `X.Y.Z`;测试将 `~` 换成 `-`、`+g` 换成 `.g` |
|
||||
| `PLATFORMS` | 否 | 默认 `linux/amd64`;多平台如 `linux/amd64,linux/arm64` |
|
||||
|
||||
配置来源优先级:shell 已显式设置的值 > 项目根 `.env` > 失败并询问用户。
|
||||
`.env` 由 builder 脚本自动向上查找并加载(不回显任何值);当前 shell 已设置的值
|
||||
优先于 `.env`。
|
||||
配置来源优先级:shell 已显式设置的值 > 项目根 `.env.builder` > 失败并询问用户。
|
||||
`.env.builder` 由 builder 脚本加载(不回显任何值);当前 shell 已设置的值优先。
|
||||
不要读取或改写用户 `.env`。空值视为未配置。不要提交 `.env.builder`。
|
||||
|
||||
### 工作区安全
|
||||
|
||||
@@ -137,8 +140,8 @@ clone 到 `~/.pouch`。
|
||||
`python3 -I -S <builder-scripts>/check.py <project-dir> [--build]` 对本项目逐条检查
|
||||
上述要求,任一 FAIL 退出码非零,可直接挂 CI。`--build` 额外实构
|
||||
`make -f makefile.builder deb` 并核对产物元数据(默认只静态检查配方)。`--ready`
|
||||
额外检查轨道工具链,以及 `.env` / 环境中的发布键名是否存在(不读取、不打印值;
|
||||
缺键只挡住发布)。校验失败时的修复路径:按 `templates/makefile.builder` 补齐或
|
||||
额外检查轨道工具链,以及 `.env.builder` / 环境中的发布键名是否存在且非空(不读取、
|
||||
不打印值;缺键只挡住发布)。校验失败时的修复路径:按 `templates/makefile.builder` 补齐或
|
||||
修正 `makefile.builder`,再跑 check.py,不要绕过校验器,不要改用户 Makefile,
|
||||
不要用 create-makefile(版本推导与本契约冲突)。
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
信息来源优先级:
|
||||
|
||||
1. 用户本次请求中明确给出的值。
|
||||
2. 当前项目的 `.env` 与 `AGENTS.md`、发布文档。
|
||||
2. 当前项目的 `.env.builder` 与 `AGENTS.md`、发布文档。不要读用户 `.env`。
|
||||
3. `makefile.builder`、用户 Makefile、CI 配置或现有构建脚本中一致且无歧义的配置。
|
||||
4. 询问用户。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user