Build provenance improvements#343
Conversation
This contains useful info (such as the build host) even if we don't know where the .drv file came from.
This makes it possible to see what system type a store path is built for. This information previously wasn't readily available from the Nix database or binary cache.
📝 WalkthroughWalkthroughThis pull request adds system tracking to the BuildProvenance data structure by introducing a new "system" field. The change updates the BuildProvenance constructor signature, JSON serialization/deserialization logic, and all construction sites to include the platform information, while gating the construction behind the Provenance experimental feature flag. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 1 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (1 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
No actionable comments were generated in the recent review. 🎉 Comment |
Motivation
Always record build provenance for built paths, since it contains useful info (such as the build host) even if we don't know where the .drv file came from.
Add a
systemfield to the build provenance. This makes it possible to see what system type a store path is built for. This information previously wasn't readily available from the Nix database or binary cache. Note: this field is mandatory so it's a breaking change.Context
Summary by CodeRabbit