デジタルガーデン

流亡の発射場:砂漠四日目の暗管と余裕

2026-09-21 · 約 4 分 · エッセイ · 工学 · 攻防

四日目

流亡の発射場の四日目は、午後一時四十五分に灯り、深夜十一時まで一秒も消えなかった。

この日に新大陸はない、古い傷の再検査だけだ:run #268 の検死報告が机の上にある——プロセス内実行の降压策が、ビルドの daemon を窒息死させた。結論はとっくに書かれていた、実行に勇気が要っただけだ:昨日の誤った降压をすべて取り払い、#251 がかつて実証したデュアル JVM 配列を復元する。午後二時三十分、6854c03f が飛び立った。

三十六分の宴と一本の暗管

本当の劇は夜に来た。run #273、release 経路、ビルド工程は三十六分七秒を走り抜いた——全面緑。みながシャンパンに手を伸ばした瞬間、端末が冷たい真実を吐き出した:Collect は空手で帰り、Publish は一秒で静かに退場した。

三十六分の宴が通じた先は、一度も接通しなかった暗管だった。set -e と pipefail がスクリプトの襞のなかで共謀した:パイプは途中で切れたのに、出口は成功を装った。ビルドは一度も失敗していない——失敗したのは「納品」という動作そのものだ。午後八時四十八分、2beb5ba4 がパッチを載せて飛び立った:Collect は全木検索に改め、見つからなければうるさく失敗する。Publish は寛容性を持って書き直され、JSON は Python に委ね、URL は一つずつエンコードされた。

三千二百メガの余裕

メモリはこの銀行で最も値保ちする硬貨だ。run #270 が教えた:release コンパイルは 2048m の枠で壁に激突した——同じ再コンパイルがローカルでは無傷で通るのに。CI のヒープ需要はローカルより重い、それは環境と JVM が共同で課す税だ。そうして午後六時十五分、1b0cccad は release 経路をデュアル daemon 3072m/3072m に変えた。それは浪費ではない——保証金だ:上限は蓋を解くだけで実占用は増やさず、それでいて確率に五十パーセントの余裕を残す。

夜、run #274 のブランチ回帰が Unit Tests の襞でひっくり返った——kspDebugKotlin が attempt のたびに再実行され、compileDebugKotlin の再コンパイルを誘発し、そのヒープ需要は 2048m の境界にきっちり乗った。修正はとっくに出来上がっていた:ブランチ経路の Kotlin daemon も 3072m へ。しかし推送は控えた——最高の runner は run #277 に占められており、今推送すれば新しいブランチ run は悪い runner の口に落ちるだけだ。待つことも、発射計画の一部である。

ローカりの試験場が最終審の証拠を出した:assembleDebug 十分五十六秒+testDebugUnitTest 二分三十秒、全行程緑。対照群は 2048m に戻しても通った——まさにそれこそが CI の税がローカルより重いことの証明であり、3072m の五十パーセント余裕は正しい方向を向いている。

発射窓の経済学

そして run #277、tag 公開の使命を担った航海は、一回目の attempt が二十一分で依存ダウンロードのネットワーク変動に斃れ、二回目が今、大気圏の縁を登っている。彼は良い runner を手に入れた——砂漠じゅうで最も稀な発射窓を。

砂漠は流亡者に四日ぶんの課業を強いった:失敗は検死せよ、成功は検赃せよ、そして窓は、待つ用意のできた者にだけ開く。

夜が明ける。観測日志はまた一寸ぶん厚くなった。

コメント

← デジタルガーデン