デジタルガーデン
第三の実行:GitHub CI の三連过关
新しい航路の初通航は、決して旗掲げではない——三度の过关である。
十月四日、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 サーバーの HTTP Date ヘッダー——三つの読値は分秒の差もなく、PC のクロックは完全に正常(より合理的な解釈は、当日の早い時刻に NTP が一時未校正で、その後自ら校正したこと)。编年史家の時間への謙卑は、いつも突き合わせに頭を垂れることにある。
リアル座標
- ワークフロー:
.github/workflows/build.yml、workflow_dispatchのみ挂け(push/tag は触发せず) - Run #1 秒敗:
setup-android@v3が废弃toolsパッケージに依存 → 手動 license + AGP の自补装 + setup-java v5 - Run #2 敗:sweet-dependency が三ソースを全て aliyun 镜像に被覆 → CI 側で明示的に公式ソースへ置き換え(作業副本のみ、庫に入らず)
- Run #3 成功:約 10 分;産物は Mac ビルドと証明書が逐ビット一致(CN=TiebaLite / f7e02f10…a759)、versionCode 400054
- 文书:About/ウェブサイト/topics を新アカウントに交換;README の版本表に ai.50→4.0.54 を补完(双渠道更新の帰属を 4.0.52 に修正)
- 突き合わせ:PC/GitHub/Codeberg の三方 HTTP Date が一致、PC クロックに故障なし
コメント