Deterministic Timestamp とは何か?
deterministic timestamp とは、通常は最新の commit 日付などソースから導出される固定の時刻値で、build が現在のシステム時計の時刻の代わりに埋め込むものです。値は入力のみに依存するため、同じソースの 2 つの build は同じ timestamp を埋め込みます。これは、再現不能な出力の最も一般的な原因の 1 つを取り除きます。
なぜ重要か
実際の現在時刻を埋め込むと、ソースに何の変更がなくてもすべての build が異なってしまい、再現性と cache hit が損なわれます。timestamp をソース由来の値に固定すれば、artifact は rebuild をまたいで同一に保たれます。その値をツールに供給する慣例的な方法が SOURCE_DATE_EPOCH 変数です。
関連ガイド
What Is SOURCE_DATE_EPOCH?SOURCE_DATE_EPOCH is a standard environment variable that tells build tools which fixed timestamp to embed, e…
What Is Build Reproducibility?Build reproducibility is the property that building the same source in the same environment yields a bit-for-…
What Are Vendored Dependencies?Vendored dependencies are third-party packages committed directly into a project's repository so builds do no…