デジタルガーデン
TiebaLite 遷移史詩:Codeberg の十分間砍殺から GitHub の新朝へ
ある王朝の土地が塩類化し始めたとき、文明の唯一の出路は遷移である。この日、贴吧 Lite はその転進史詩を完結した——メモリ逼迫の Mac ビルド機から、Codeberg 上の九連敗という自動化の夢を経て、ついに GitHub の新土の上に立国した。
一、Mac ビルド機の最初の呼吸
史詩の第一章はリモートビルドの開通であった。本機の mihomo TUN プロキシが三度目に Mac の Tailscale IP へのトラフィックを劫持し、tailscaled はクラッシュ再起動ループに陥った——GUI(profile の属主)を起動し静的ルートを加える二本建てで、mindemacbook-pro は再びオンラインになった。TiebaLite の初回リモートビルドジョブ(JOB 1790230496960816128)は、冷キャッシュとメモリ逼迫(swap ピーク二点七 GB)という二重の試練を三十四分二十七秒で通過した。署名の規律は守られた——リポジトリ内で追跡済みの tblite_debug.jks は新鍵を自動生成せずそのままビルド機にプリセットされた——apksigner で証明書フィンガープリントがローカルの v4.0.52 正式版と逐位同一であることを検証した(CN=TiebaLite、SHA-256 f7e02f10…a759、v1/v2/v3 全通過)、手機にインストール済みのバージョンはシームレスに上書き更新できる。工具包の一つの欠陥もここで現形した——collect_mapping が生成したアーカイブ名は ./ 接頭辞で ._ 始まりに汚染され、直ちに自分の clean_junk に AppleDouble ゴミとして清められた——mapping.txt は一度もアーカイブに入ったことがなかった。
二、Codeberg の「システム産出」の夢:九連敗
第二章は「システム産出」への二度の突撃で、いずれも前より壮烈であった。4.0.52 の再推送は run #304 の六十四分失敗に終わった;さらに悪いことに tag を削くと Forgejo の隠しメカニズムが発動した——tag に掛かっていた release が一緒に消され、手動復元時に DB に残る隠し release レコード(読み取りパスは 404、一覧に非表示、しかし書き込みパスはすべてを挡む)に当たり、API の tag 削除は「tag に release が掛かっている」と拒否され、release 作成は一律「Release has no Tag」を報じた。存在しない tag 名をプローブにして比較することで、Codeberg 側の作成チェーンの異常であることを確認し、旧 id で直接 DELETE して隠しレコードを消すと、release は元通り復活した。
4.0.53 の突撃はインフラ災害の記録片に発展した——九つの tag run はすべて整十分二十五秒に外部キャンセルされ(秒級精密の繰り返し)、runner ラベルを切り替えても効かず、さらに runner が KSP プラグインを取れない(aliyun ミラー全滅)という問題が重なった——相手側インフラの機構的砍殺であって、ビルドの波動ではない。Mac のフォールバックビルドは二十七分で産出して検証済み、ユーザーの一言「A」の後 API で発布(release id 12437484)、ダウンロードして検印、バイト級一致。判詞は正直に書かれた——Codeberg の共有 runner は二十分以上の Android ビルドを支えられない、「システム産出」はこの土地では頼りにならない——設定問題ではなく、インフラの規模問題である。
三、遷都:qaqmin09577 の新朝
第三章は史詩の転換点——GitHub 新アカウントへの遷都であった。token の安全規律は鉄律——ユーザー級 ~/.git-credentials にのみ書き込み、Windows 資格マネージャの旧アカウント残渣を消去、git remote はすべて token なし、プロジェクト内のどのファイルにも token は出現せず、GitHub API 呼び出しは合計約二十回で、制限を遥かに下回る。遷移の影響面はファイルごとに洗い出された——Consts.kt の四つの溯源定数、UpdateDownloader.kt のチャンネル API ルートとデフォルトチャンネル反転、关于ページ、ビルドフィールド、テストアサーション、README バッジ。一つの關鍵的な振る舞いは遷移前に発見された——チャンネルフォールバックは主チャンネルが失敗した時にだけ発動する——だから過渡期は両端同発が必須であった。途中、一度の誤コミット(git add -A が artifacts と引き継ぎファイルを掃き込んだ)は即座にロールバックして .gitignore を追加;一度自ら招いた CRLF 資格情報ファイルが host マッチングを壊したのも正直に修正。OmniDL 姉妹プロジェクトの情報はユーザーの命令に従い README から丸ごと切除。Mac が二十六分で 4.0.53→4.0.54 のパッケージを産出し、両端同包で発布——GitHub release 402894274(新主チャンネル)+ Codeberg release 12695076(予備チャンネル)。検証はアプリ同款ロジックを使用——匿名で GitHub releases API を引き、pickLatestStable が正しく v4.0.54 を選び、ダウンロード検印は Mac 産出物とバイト級一致。
四、新朝のインフラ:CI 初緑と四言語
最終章は新朝の基盤作りであった。GitHub Actions は約束を守り手動発動のみ(workflow_dispatch、CI を使いすぎない約定を遵守)、三度突撃した——一度目は setup-android が廃止された tools パッケージをインストールしようとして秒敗;二度目は sweet-dependency が公式ソースをすべて aliyun ミラーで覆い、海外 runner がプラグインマーカーを取れず敗北——三度目は約十分で成功し、産出物の証明書は Mac ビルドと逐位同一(+sha サフィックスは CI 環境の設計行為)。README は四言語版になった(英語デフォルトに中日韓の切り替えバー、About は中文を保持)、バージョン反復記録は五つの欠落バージョンを補い、一つの帰属誤りを訂正。最も壮闊な一笔は歴史の書き換え——fork 以来の三百七十七件のコミットメッセージをすべて英文化(一つのコミュニティ PR の CRLF 行末が精密マッチングを妨げ、フィルタスクリプトを専修してようやく吞み込んだ)、五つの tag を位置マッピングで再指し、三端に強制 push;自分の三百六十九件のコミットの作者アイデンティティは qaqmin09577 に遷移(noreply メールも同期)、上流八百七十三件は fork の血脈を保つため原樣不動。尾声还有一場の時計风波の正直な収束——アシスタントはかつて PC の時計が十日遅いと判定し、三方対照(本機 vs GitHub Date 头 vs Codeberg Date 头)が分秒差なしと一致した後、その場で誤りを認めた——あれは NTP 未校正の瞬態で、自己回復したものであった。
真実の座標
- Mac リモートビルド:JOB 1790230496960816128、34m27s(冷キャッシュ+swap ピーク 2.7G);リポジトリ内の tblite_debug.jks を再利用(一プロジェクト一鍵の鉄律);証明書 CN=TiebaLite SHA-256 f7e02f10…a759 がローカル v4.0.52 と逐位同一;mapping アーカイブ欠陥(._ 接頭辞が clean_junk に清められる)を正直に上報し Mac のスクリプトを就地改変せず
- Codeberg 0/11:tag run はすべて整 10m25s に外部キャンセル(ラベルと無関係、medium-lazy も同様に砍られ)+ KSP プラグインが aliyun ミラーから取れず;4.0.52 復元は Forgejo 隠し release レコードの謎に当たり(旧 id での DELETE で解套);4.0.53 は最終的に Mac フォールバックパッケージを API で発布(release 12437484)、エンドツーエンド検印バイト級一致
- 遷都:token は ~/.git-credentials のみ(API 呼び出し約二十回)、プロジェクト内 token ゼロ;コード六ファイル+テスト+README バッジを遷移;DEFAULT_ORIGIN を GitHub に反転;誤コミットのロールバック+CRLF 資格情報の自傷を修正;OmniDL 情報を丸ごと切除;4.0.54 を Mac で 26m33s 産出、GitHub 402894274 + Codeberg 12695076 の両端同包;pickLatestStable を匿名検証
- GitHub CI は三度目に初緑:run #1 setup-android 廃止 tools パッケージで秒敗→run #2 aliyun ミラーが海外から到達不能→run #3 約十分で成功;CI 産出物の証明書は Mac と逐位同一(+ce70b7d サフィックスは設計行為);workflow_dispatch のみ
- README と歴史:四言語版(英語デフォルト+zh-CN/ja/ko、About は中文保持);バージョン表に ai.50/ai.51/4.0.52/4.0.53/4.0.54 を補い双チャンネル更新の帰属を訂正(ai.51 ではなく 4.0.52 に属す);三百七十七件のコミットメッセージを英文化(CRLF コミュニティコミットを専修);五 tag を再指し三端に強制 push;三百六十九件の自作コミットの作者アイデンティティを qaqmin09577 に遷移;上流八百七十三件は不動
コメント