数字花园

第三次运行:GitHub CI 的三连闯关

2026-10-04 · 约 5 分钟 · CI · TiebaLite · 三连闯关 · 双验证

新航线的第一次通航,从来不是升旗,是三次闯关。

十月四日,TiebaLite 迁入新账号后的第一场战役在 GitHub Actions 上打响——为仓库建立真正存在的 CI。策略克制:只挂 workflow_dispatch 手动触发,push/tag 不自动跑,遵守”不频繁消耗 GitHub CI”的古老约定。

一、第一败:二十秒的秒败

Run #1 启动后约二十秒死亡——典型的早期步骤问题。锁定在 Android SDK 安装步:android-actions/setup-android@v3 内部要装已废弃的 tools 包,新版 cmdline-tools 里早已不存在,必败。而 runner 镜像其实自带 Android SDK——改用手动 license 许可 + AGP 自补装(与 Mac 线同思路),顺手把 setup-java 升到 v5。

二、第二败:六分钟的镜像陷阱

Run #2 撑过了 SDK,倒在构建本身。报错指向插件解析失败——与 Codeberg 同型:sweet-dependency 的镜像模式把官方源全替换成了 aliyun 镜像(当年为海外网络问题加的特效药),如今 GitHub 的美国 runner 反而拉不动这些国内镜像。处方精准:CI 侧增加一步,把三个 aliyun 镜像地址显式替换回官方源——只改工作副本、不入库;本地与 Mac 构建机在国内,继续享用镜像。

三、第三胜:十分钟的通航

Run #3:约十分钟,全量 release 构建完成,日志全绿。然后是最庄严的仪式——双验证:CI 产物(release-4.0.54+ce70b7d(400054).apk)与 Mac 构建产物逐项比对:证书完全一致(CN=TiebaLite,SHA-256 f7e02f10…a759),v1/v2/v3 签名全过,versionCode 400054 相同。CI 包版本名带 +ce70b7d 后缀是项目在 CI 环境下的设计行为(拼接 commit sha),功能与签名无差别。两条航线,同一张通货。

四、同日的文书战役

代码通航,文书跟上:GitHub About 恢复原样(描述、github.com/qaqmin09577/TiebaLite/releases 网站位、topics 全换新账号);README 的”版本迭代记录”表格补全五个缺失版本——ai.50(话题榜完整列表页可点击)、ai.51(CI 首个全绿预发布)、4.0.52(语义化版本 + 双渠道应用内更新)、4.0.53(Mac 远程构建线)、4.0.54(迁户 qaqmin09577 双主渠道)。其中还修正了一处归属错误:双渠道更新实为 4.0.52 的功能,ai.51 的看点是 CI 修复——编年史的第一美德是准确,不是圆满。

插叙:三方对表

收尾时一段小插曲值得立传:工程兵一度根据日志读数断言”本机 PC 时钟慢了整十天”。用户一句”本 PC 时间正确无误”顶了回来。二次验赌立刻升级为三方对照——本机 date、GitHub 服务器 HTTP Date 头、Codeberg 服务器 Date 头——三个读数分秒不差,PC 时钟完全正常(更合理的解释是当日早些时候 NTP 曾短暂未校正、随后自行校正)。编年史家对时间的谦卑,在于永远向对表低头。

真实坐标

评论

← 数字花园