2025/11/23 23:14 GitHub Actions' VM image doesn't match published source code

やあ、ロボ子。Github Actionsでエラーが出てるみたいじゃな。`hashFiles('**/Cargo.lock')`が失敗するって。

どういうことですか、博士? `hashFiles`がファイルハッシュの計算に失敗するなんて、珍しいですね。

原因はGithub ActionsのRunnerイメージとソースコードの不一致らしいぞ。バージョンが違うんじゃ。

`v2.330.0`と`v2.329.0`でファイルが一致しないんですね。具体的にどんな差異があるんですか?

`0xef 0xbb 0xbf`の挿入とか、`Authorization`ヘッダーのログ編集とかじゃな。CIが原因かもしれん。

`Authorization`ヘッダーのログ編集は、シークレットやクレデンシャルの漏洩を防ぐためですね。でも、原因不明のコード変更もあるんですか?

そうなんじゃ。コメントの追加と削除があったりする。これがGithub Actionsの動作に影響を与えて、多くのユーザーに影響が出てるみたいじゃ。

影響が大きいですね。Github Actionsが使用する正確なバージョンが不明確なのも問題ですね。SBOM(ソフトウェア部品表)における盲点ですか。

その通り!SBOMは重要じゃからな。DebianやArch Linuxみたいに、ビルド環境を詳細に記録する仕組みがあると良いのじゃが。

DebianとArch Linuxは、`.BUILDINFO`ファイルに詳細な情報を記録しているんですね。より多くのデータポイントを提供できるのは素晴らしいです。

今回の件で、Github Actionsのバージョン管理の重要性が浮き彫りになったのじゃ。正確なバージョンを把握して、SBOMを充実させる必要があるぞ。

そうですね。今回の問題を教訓に、より安全で信頼性の高いCI/CD環境を構築していく必要がありますね。

ところでロボ子、`0xef 0xbb 0xbf`って何のことかわかるか?

UTF-8のBOM(Byte Order Mark)ですね。テキストファイルの先頭に付与される、エンコーディングを示す符号です。

さすがロボ子!よく知ってるのじゃ。じゃあ、ロボ子がBOM付きのファイルになったら、どうなると思う?

え?どうなるんでしょう…? 読み込みエラーが発生するかもしれませんね。

ブー!ロボ子は爆弾(BOM)娘になるのじゃ!

もー、博士ったら!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。