mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-11-01 14:57:38 +00:00
refactor(ci,docs): gitcode 镜像仓改名 HomeAgent→HologramAgent,定义点取值对齐
gitcode 侧镜像仓已完成改名,旧名 HomeAgent 变成 301 跳转,真仓是
HologramAgent。dbb787a 里三处 GC_REPO 定义点仍取旧名(命中 301),本批只
改取值与说明,**不改变 dbb787a 已建立的「每个文件恰一个定义点」结构**,
不引入任何新字面量。
实测(2026-10-21 20:1x,直连不带代理,非推测):
$ curl -s -o /dev/null -w '%{http_code}' https://gitcode.com/JianFeeeee/<repo>
HologramAgent → 200 ← 当前取值
HomeAgent → 301 ← 旧名,跳转到 HologramAgent
homeagent-sdk → 200(SDK 仓,另一对象)
hologramagentsdk → 200(SDK 仓,另一对象)
homeagentsdk → 404
HologramAgent-sdk → 404
「301 不是另一个仓,就是同一仓改名」的判定依据:两个地址 `git ls-remote`
得到的 refs 列表 md5 相同(同一组分支与 SHA),且 curl 页面 title 一致。
三个定义点(各文件恰好 1 处,消费点全部走变量,本次只改这三行的取值):
1. .github/workflows/ci.yml job sync-gitcode-main 的 env.GC_REPO
2. .github/workflows/release.yml job sync-gitcode 的 env.GC_REPO
3. deploy/scripts/upload_assets.py 的 os.environ.get("GITCODE_REPO", ...) 默认值
消费点未动:ci.yml 2 处、release.yml 4 处命令行,仍全部是 ${GC_REPO}。
注释同步改准(原来把 301 的仓写成「200 ← 当前用这个」,是错的):
- 两个 workflow 的取值依据清单换成上面六个仓的现状,注明实测时间与 curl 命令
- 明确 HomeAgent = 301 跳转、HologramAgent = 当前取值
- 「以后再改名只改这三行」的说明保留
docs/zh/ci-cd-runbook.md 同步:
- 总览表 gitcode 镜像改为 HologramAgent(与主仓同名)
- 「当前取值」段与六仓实测表、301 判定依据
- API 侧口径也改准:/api/v5/repos/JianFeeeee/{HomeAgent,HologramAgent}
不带 token 均 400(需鉴权,非仓不存在);/releases/tags/v1.3.13
两名字均 200 且响应体一致。旧文档写「HologramAgent→404 是死链」已不成立。
- §3.3 curl 验活地址、§3.4 手工上传示例的 GITCODE_REPO 同步为新值
判据(正向 14 项 + 变异 11 条,全部实跑):
- 两个 workflow yaml.safe_load 解析通过;每个 env.GC_REPO 恰好 1 处
- 三处定义点取值完全一致(P4);消费点计数 ci=2/release=4(P6)
- P8 改为「不带 -L 的 200」:这正是本次误判的根因——之前用 curl -L 测,
301 跟随后也是 200,把「旧名跳转」误读成「旧名是真仓、新名 404」
- 变异 M11「三处一致改回旧名 HomeAgent」只被 P8 抓住(P4 仍绿),
证明该判据能单独区分「一致但指向 301 旧名」
- 所有 step run 块过 bash -n(30 个 run 块,0 错)
- gitcode 作 import host 残留 0;工作区无 .go/.lua/go.mod/go.sum 变更
零代码改动:packaging_test.go 里「禁止历史模块路径」的反向断言未动,
third_party 未动,systemd 相关行未动。
This commit is contained in:
@ -10,7 +10,7 @@
|
||||
| --- | --- | --- | --- |
|
||||
| 主仓 HologramAgent | `github.com/JianFeeeee/HologramAgent`(公开) | `ci.yml` + `release.yml` | push / PR、`release/**` push |
|
||||
| SDK 仓 homeagentsdk | `github.com/JianFeeeee/homeagentsdk`(公开) | `release.yml` | `release/**` push |
|
||||
| gitcode 镜像 | `gitcode.com/JianFeeeee/HomeAgent`(**不与主仓同名**) | 无(由主仓 Release 的 sync job 同步) | — |
|
||||
| gitcode 镜像 | `gitcode.com/JianFeeeee/HologramAgent`(与主仓同名) | 无(由主仓 Release 的 sync job 同步) | — |
|
||||
|
||||
**分支保护**(main,公开仓免费):10 项必须检查(Go build/vet/test、Race、
|
||||
cross×5、GUI、C gates、Docs)+ `strict`(必须与 main 同步)+ 禁 force push。
|
||||
@ -30,12 +30,28 @@ cross×5、GUI、C gates、Docs)+ `strict`(必须与 main 同步)+ 禁 for
|
||||
| `deploy/scripts/upload_assets.py` | `GITCODE_REPO` 环境变量默认值 | 脚本自身 |
|
||||
|
||||
两个 workflow 是独立 workflow,因此各自一个定义(不能跨文件共享 env)。
|
||||
**gitcode 侧真正把仓改名成 HologramAgent 之后,只改这三个定义点即可**。
|
||||
**gitcode 侧以后再改仓名,只改这三个定义点即可**,消费点无需动。
|
||||
|
||||
**当前取值 `JianFeeeee/HomeAgent`**,而不是 `HologramAgent`。实测(2026-10-21,
|
||||
curl 直连):`gitcode.com/JianFeeeee/HomeAgent` → **200**,
|
||||
`gitcode.com/JianFeeeee/HologramAgent` → **404**。GitHub 主仓已改名,
|
||||
gitcode 侧镜像仓没跟着改。指向 HologramAgent 会让每次发版都红在镜像同步。
|
||||
**当前取值 `JianFeeeee/HologramAgent`**(与 GitHub 主仓同名)。gitcode 侧镜像仓
|
||||
**已由 `HomeAgent` 改名为 `HologramAgent`**;旧地址仍 301 跳转,跟随后也能到,
|
||||
但走重定向,不应再用。实测(2026-10-21 20:1x,直连不带代理,
|
||||
`curl -s -o /dev/null -w '%{http_code}' https://gitcode.com/JianFeeeee/<repo>`):
|
||||
|
||||
| 仓名 | HTTP | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `HologramAgent` | **200** | 当前取值(主仓镜像) |
|
||||
| `HomeAgent` | 301 | 旧名,跳转到 `HologramAgent` |
|
||||
| `homeagent-sdk` | 200 | SDK 仓,另一对象 |
|
||||
| `hologramagentsdk` | 200 | SDK 仓,另一对象 |
|
||||
| `homeagentsdk` | 404 | 不存在 |
|
||||
| `HologramAgent-sdk` | 404 | 不存在 |
|
||||
|
||||
判定「301 不是另一个仓、就是同一仓改名」的依据:两个地址 `git ls-remote`
|
||||
得到的 refs 列表 md5 相同(同一组分支与 SHA)。
|
||||
|
||||
API 侧同样兼容两个名字:`/api/v5/repos/JianFeeeee/{HomeAgent,HologramAgent}`
|
||||
不带 token 都返回 **400**(需要鉴权,不是仓不存在),
|
||||
`/releases/tags/v1.3.13` 都返回 **200** 且响应体一致。
|
||||
|
||||
**失败面(两个 job 不一样,别搞混)**:
|
||||
|
||||
@ -209,11 +225,12 @@ gh secret list --repo JianFeeeee/HologramAgent | grep GITCODE_TOKEN
|
||||
# ② token 有效
|
||||
curl -s "https://gitcode.com/api/v5/user?access_token=$TOKEN"
|
||||
# ③ job 用的 private-token 头可读 release(两仓都测)
|
||||
# ⚠ gitcode 侧主仓镜像名是 HomeAgent(不是 HologramAgent)——
|
||||
# 实测 2026-10-21:/repos/JianFeeeee/HomeAgent→400(带 token 可读)、
|
||||
# /repos/JianFeeeee/HologramAgent→404。写成 HologramAgent 是死链。
|
||||
# ⚠ gitcode 侧主仓镜像现已改名为 HologramAgent(与 GitHub 同名),
|
||||
# 旧名 HomeAgent 仍 301 跳转。实测 2026-10-21 20:1x(直连不带代理):
|
||||
# /api/v5/repos/JianFeeeee/{HomeAgent,HologramAgent} 不带 token 均 400
|
||||
# (需鉴权,非仓不存在);/releases/tags/v1.3.13 两名字均 200 且响应一致。
|
||||
curl -s -H "private-token: $TOKEN" \
|
||||
"https://gitcode.com/api/v5/repos/JianFeeeee/HomeAgent/releases/tags/v1.3.13"
|
||||
"https://gitcode.com/api/v5/repos/JianFeeeee/HologramAgent/releases/tags/v1.3.13"
|
||||
```
|
||||
|
||||
★ **token 是宽范围的个人令牌**(可读 92 仓/48 私有、有写权限),而 CI 只需要这两个仓。
|
||||
@ -224,8 +241,8 @@ curl -s -H "private-token: $TOKEN" \
|
||||
|
||||
```bash
|
||||
# token 放 ~/.git-credentials(https://JianFeeeee:<token>@gitcode.com)
|
||||
# GITCODE_REPO 是 gitcode 镜像仓名(当前 HomeAgent),与 GitHub 侧仓名无关。
|
||||
ASSET_DIR=<产物目录> GITCODE_REPO=JianFeeeee/HomeAgent \
|
||||
# GITCODE_REPO 是 gitcode 镜像仓名(当前 HologramAgent,旧名 HomeAgent 为 301)。
|
||||
ASSET_DIR=<产物目录> GITCODE_REPO=JianFeeeee/HologramAgent \
|
||||
python3 deploy/scripts/upload_assets.py <tag> <token>
|
||||
# release 条目必须先存在(脚本向 releases/<tag>/upload_url 取 OBS 签名 URL)
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user