fix(release): render compose images from the release repository - #15
Merged
Merged
Conversation
The release template hardcoded the upstream ghcr.io/minimax-ai namespace, so a fork release published images to ghcr.io/<fork>/openagentcore but shipped a compose.yaml that pulled upstream. Render the OAC_IMAGE_* defaults from the repository the release actually published to and the tag it used. A stable publication still moves latest, so it keeps the floating tag upstream always shipped; every other release (prerelease or manual build-<SHA> draft) renders the exact tag it published. Callers that omit the new values keep the upstream latest defaults, so local trials and smoke tests are unchanged. Tests cover the fork draft, the stable upstream default, and value validation. Co-authored-by: multica-agent <github@multica.ai>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
The English sources changed with the compose image parameterization but both Chinese source_hash values were stale, which fails the website translation check. Recompute them after aligning the translations. install-options now says Core and Web use the release repository's tag (latest for a stable release) instead of a fixed latest image. maintainers names the image path as ghcr.io/<owner>/<repository>/<component>, matching the publisher for any repository name. Add a publisher test asserting a prerelease publish renders the exact tag it pushed (not latest), alongside the stable and draft cases. Co-authored-by: multica-agent <github@multica.ai>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
目标
修复 fork release 渲染出的
compose.yaml镜像引用。模板把ghcr.io/minimax-ai/openagentcore/...写死,导致 fork release 把镜像推到ghcr.io/sunyalou/openagentcore/...,却发布一份默认拉上游镜像的 compose(OAC-14 人类裁决 ②)。修复后:release 渲染的OAC_IMAGE_{CORE,WEB,INGRESS}默认指向该 release 实际推送的仓库与 tag;非 fork 场景仍为上游ghcr.io/minimax-ai/...。改动
deploy/compose/compose.yaml:OAC_IMAGE_{CORE,WEB,INGRESS}默认值改为 token__OAC_IMAGE_REPOSITORY__/...:__OAC_IMAGE_TAG__。scripts/render-compose.py:新增可选IMAGE_REPOSITORY/IMAGE_TAG(缺省仍为上游ghcr.io/minimax-ai/openagentcore+latest),并校验格式;未传值的既有调用(本地试用、smoke、测试)行为不变。scripts/publish-core-release.py:渲染时传入发布仓库ghcr.io/<repository.lower()>与该 release 实际发布的 tag。稳定发布同时移动latest,故保留浮动latest(上游行为不变);预发布与手动build-<SHA>草稿渲染其发布的精确 tag。deploy/compose/test_compose.py覆盖 fork 引用、上游默认与非法值;scripts/publish-core-release.test.py覆盖 fork draft 与稳定上游默认。docs/maintainers.md、docs/zh/maintainers.md按「发布仓库命名空间 + 渲染 compose 默认」更新。验证(命令 + 结果)
python3 -m unittest discover -s deploy/compose -p 'test_*.py'→ 8 passedpython3 scripts/publish-core-release.test.py→ 40 passedmake check-names→ passedmake check-docs→ passedgo test ./services/web -count=1→ okdocker compose config:IMAGE_REPOSITORY=ghcr.io/sunyalou/openagentcore、IMAGE_TAG=build-5423a68d…)→ghcr.io/sunyalou/openagentcore/{ingress,core,web}:build-5423a68d…OAC_IMAGE_CORE覆盖仍优先生效ghcr.io/minimax-ai/openagentcore/{...}:latestmake check-distribution在本机有两个与本改动无关的既有环境缺口(涉及文件与origin/main逐字节相同,git diff --stat origin/main为空):pigz→scripts/core-distribution-manifest.test.py6 个用例FileNotFoundError: 'pigz'(CI 会安装 pigz)。deploy/node/test_node_install.py在进程内调用installer.main()会把PATH覆盖为SAFE_PATH(deploy/node/node_install.py:994/:1150),使随后test_node_proxy.NodeProxyTests.setUpClass的openssl落到/usr/bin/openssl(1.0.2k,不支持-addext);CI 的/usr/bin/openssl为 3.x,不触发。已知限制
gh,PR 通过 GitHub REST API 创建。