出貨鏈三站上 main:tag → release → 開場覆核,release-ship 前置①改看 tag 的樹(inkstone/ISEP#67) #141
Reference in New Issue
Block a user
Delete Branch "feat/67-release-chain-on-main"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
inkstone/ISEP#67 → comment 6574 的派工:讓出貨鏈「tag → release → 開場覆核」三站都在 main 上、隨 plugin 出貨。
改了什麼
hooks/lib/release_chain.py(新):問 Gitea「tag/release 在不在、某個 tag 的樹裡 plugin.json 是幾版、兩個 tag 之間有哪些 commit」——一份判準,release-ship/release-check/SessionStart 信標三處共用。全部匿名讀(D20)。scripts/release-ship:前置①改成比「要建的那個 tag 的樹」裡的 plugin.json,不比工作樹、不比「最新的 tag」(總管 09-07 在 v0.23.0 的 checkout 被擋的情境,現在放行)。note 從 Gitea compare 生(從 plugin 快取目錄跑也行,旁邊沒有 git repo 也沒關係)。送完覆核改跑release-check <那個 tag>。scripts/release-check [vX.Y.Z]:可指定版本;v0.19/0.20/0.21 依裁決①標「⏭ 裁定不補」不再黃字(指定它來問仍照擋);補法印正本絕對路徑。hooks/lib/beacon_report.py④:SessionStart 報「打了 tag 卻沒 release」(Gitea 最新 tag 沒 release)或「定版了沒打 tag」(main 版本比最新 tag 新)——一行:缺哪一站+可以貼著跑的補法。兩者都在時一個字不說。只快取「都在」6 小時,缺件不快取。載入的那一份還沒有 release-ship 時,補法先教 plugin update,不印不存在的路徑。test-release-ship.sh14/test-release-check.sh14/信標 26→33。docs:TESTING A37/A38、盤點表、README 腳本數 60、permissions-allow.json加 release-ship/release-check 四種形狀(信標印的那條出路在雲端才不會被分類器擋)、mistakes 一條。驗過(全部在「分支 ⊕ main」這棵樹上)
test-release-ship.sh共 14 項 ✅14;test-release-check.sh共 14 項 ✅14;isep-presence-beacon.test.sh通過 33 條,失敗 0 條。scripts/test-*.sh+hooks/tests/*.test.sh(不含 live):跟 main 基準線同一組 8 支紅(test-make-cloud-env/ticket-api-bypass 的網路條/dispatch-format/gitea-arm-check 要參數/main-and-prod-push-guard 兩支要參數/prod-write/stage-before-prod——都是這台環境的既有紅,diff 為空),沒有新紅。scripts/check-version-consistency.sh→✅ 版本一致:plugin.json=0.24.0,最新 tag=v0.24.0。claude plugin validate .→ Validation passed。release-ship v0.23.0 --dry-run(工作樹 0.24.0)→ 前置①②✅、本來就在、覆核v0.23.0 ✅✅✅ ←、exit 0;release-ship v0.3.4 --dry-run走到「要建」那條路不 POST;信標打真 Gitea → 安靜。紅線
沒推 main、沒打 tag、沒建/沒改任何 live release(v0.23.0/v0.24.0 一個 byte 沒動)、沒改 plugin.json 版本號。
待總管定版:
hooks/lib/beacon_report.py是會被載入的檔 ⇒ 要升版才到得了任何人手上;plugin.json的描述欄「56 支腳本」實數是 60,定版時一起改(我沒碰 plugin.json)。🤖 Generated with Claude Code
https://claude.ai/code/session_0178ef1fGw3XeZtpN7LaZrm4