macOSの定期監視スクリプトがdocker/lsofのハングで止まらないようにする:bounded_runで二重に時間制限をかける
定期実行している監視スクリプトが、内部で呼ぶ `docker` や `lsof` の応答待ちで止まり、後続の失敗検出・GC・メトリクス収集・生存通知まで巻き込んで数時間止まる。実運用しているサービスで、こうした問題に遭遇しました。
CIのクリティカルパスを壊さずにsqliteで時系列メトリクスを蓄積する設計
CIホストのようなインフラでは、「ジョブの取得・解放」や「死活監視」といったクリティカルパスに手を加えるのはとてもリスクが高い作業です。ログに障害の兆候を出力するだけなら簡単ですが、「Dockerイメージの容量が右肩上がりになっていないか」「同時実行の枠が足りているか」といったトレンドを判断するには、時系列で数値を蓄積する仕組みが必要になります。
fix(ci): macOS Lighthouse の NO_FCP を背景化抑止フラグで解消する
macOSでのLighthouse CIにおける`NO_FCP`エラーは、アプリの問題ではなく、OSがヘッドレスウィンドウを非可視扱いにしてVSYNCを止めるのが原因。本記事では原因特定とChromeの起動フラグによる解決、CI構成での不安定なチェックの扱い方を解説します。
CIの使い捨てVMが原因不明で落ちる時に疑うべき「隠れた制約」
CIの使い捨てVMがなぜか毎回落ちる——原因はドキュメント上の識別子制約ではなく、内部で組み立てられるUNIXソケットパスの長さ制限でした。表面上の制約をクリアしても落ちる罠の見つけ方と、決定的なハッシュで識別子を短縮する対処法を解説します。
macOS標準のawkは日本語の文字列比較が壊れている——「月謝」==「交通費」がtrueになる話
macOS 標準の awk (awk version 20200816) は UTF-8 ロケール下で多バイト文字列の比較が常に「等しい」を返す。最小再現コードと切り分け手順、LC_ALL=C による回避策、そしてシェルスクリプトでの安全な書き方をまとめる。
macOS Self-hosted Runner から GHCR に push できない——osxkeychain 問題の回避策
macOS の Self-hosted Runner で ghcr.io への docker push が osxkeychain エラーで失敗する問題を、docker login を使わず config.json に直接認証を書き込む方法で解決した記録。step の実行順序の罠も含めて解説します。






