ハーメティックツールチェーン(Hermetic Toolchain)とは?
ハーメティックツールチェーンは、宣言され、バージョンがピン留めされ、ホストマシンにインストールされたソフトウェアに頼るのではなく明示的なビルド入力として提供される、コンパイラとビルドツール一式です。buildは必要とする正確なツールチェーンをフェッチするため、runner上にたまたまあるバージョンによって変動しません。これがbuildをツールに関してハーメティックにするものです。
なぜ重要か
完全にサンドボックス化されたbuildであっても、ホストの周囲にあるコンパイラを使う場合は再現性がありません。そのバージョンはマシンごと・時間の経過とともに異なるからです。ハーメティックツールチェーンはその隠れた依存関係を取り除き、どのrunnerでも同一の結果を出し、build出力の安全なリモートcacheを可能にします。
関連する概念
- ツールチェーンを宣言され、ピン留めされた入力として提供する
- 隠れた依存関係としてのホストのコンパイラを取り除く
- 完全にハーメティックで再現可能なbuildに必要
関連ガイド
What Is a Hermetic Build?A hermetic build depends only on explicitly declared, pinned inputs and is isolated from the host, so it prod…
What Is a Toolchain?A toolchain is the coordinated set of tools used to build software, such as the compiler, linker, and build s…
What Is a Deterministic Build?A deterministic build produces the same output from the same inputs every time, with no run-to-run variation…