Skip to content

[codex] bundle saola-cli with automated updates - #1

Merged
CandidXD merged 3 commits into
devfrom
codex/bundle-saola-cli
Jul 13, 2026
Merged

[codex] bundle saola-cli with automated updates#1
CandidXD merged 3 commits into
devfrom
codex/bundle-saola-cli

Conversation

@CandidXD

Copy link
Copy Markdown
Collaborator

背景

OpenSaola 镜像需要内置与目标平台匹配、来源可追溯的 saola-cli,并在 CLI dev/stable 发布后自动更新,而不是依赖人工复制二进制或修改版本号。

改动

  • 增加严格五字段 saola-cli lock 及不执行输入内容的校验脚本。
  • Docker/Make 使用锁定 commit 的干净 Git archive 作为 BuildKit named context,分别为 linux/amd64、linux/arm64 编译并以 0555 安装 CLI。
  • 增加 dev/stable repository dispatch 更新流程,通过可审计 auto-merge PR 更新 dev。
  • 增加 stable 晋级流程:校验机器人身份、确定分支、lock-only diff、tag、最新 Release、checksum、commit epoch、精确 merge SHA 的 CI/Docker 结果和默认 24 小时 soak 后,再通过 PR 晋级 master。
  • Docker 发布工作流增加精确 CLI checkout、OCI metadata、provenance 和 SBOM。
  • 补充中英文启用、保护分支、secret、变量、回滚与 bootstrap 文档。

影响

dev snapshot 只能进入 dev;SemVer stable 先进入 dev,满足 soak 和检查后才能进入 master。更新和晋级均不直接推送保护分支。

验证

  • bash hack/saola-cli-lock_test.sh
  • bash -n hack/saola-cli-lock.sh hack/saola-cli-lock_test.sh
  • actionlint 验证 CI、Docker、update、promote workflows
  • make test
  • git diff --check
  • 真实构建 linux/amd64 镜像并验证容器内 CLI 版本、完整 commit、UID/GID 和文件权限
  • CLI linux/amd64 与 linux/arm64 静态 ELF 构建及 SHA256 校验

部署前置

合并后仍需由仓库管理员配置 OPENSAOLA_AUTOMATION_TOKENOPENSAOLA_AUTOMATION_LOGIN、stable label、auto-merge 和 dev/master 分支保护。dispatch/schedule workflow 还需要进入默认分支 master 才会生效。

@CandidXD
CandidXD marked this pull request as ready for review July 13, 2026 10:05
@CandidXD
CandidXD merged commit 4126eef into dev Jul 13, 2026
12 checks passed
@CandidXD
CandidXD deleted the codex/bundle-saola-cli branch July 13, 2026 10:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant