Two builds (note: Build) of the same sources (note: Source) write the same bytes (17 passages, no note). Every list is sorted canonically before it is written, findings (note: Finding) by check, source (4 passages, no note), path, line and message (22 passages, no note), entities (note: Entity) by identifier (note: Identifier), links (note: Link) by their triple (3 passages, no note), provenances (note: Provenance) by method (28 passages, no note), path and line; a step (note: Step) that runs in parallel (3 passages, no note) sorts its results (48 passages, no note) before writing them; nothing random (4 passages, no note) is ever written, and the only timestamp is the at field (37 passages, no note) of the build log (note: Build log), also the at of the build block of the model (note: Model), pinned (19 passages, no note) by SOURCE_DATE_EPOCH following the reproducible-builds (note: Determinism) convention. A double-build test and a continuous-integration step compare every file of two builds of the golden corpus (note: Golden corpus), so that a published site (note: Site) can be diffed against the previous one.
Reproducible builds
Decision · Acceptedspecs/decisions/quality/reproducible-builds
Properties
- Status
- Accepted
- Decided on
2 keys: the status and the date are authoritative.
See the neighbourhood map6 pages6Neighbourhood mapReproducible builds
Neighbourhood map Reproducible builds
Distance1 hop
25 neighbours in total, more than the map shows.
The 6 neighbourstextual equivalent
- Build pipelineProcessaffects1
- ModelBusiness objectaffects2
- BuildBusiness objectaffects2
- SourceBusiness objectaffects2
- EntityBusiness objectaffects1
- LinkBusiness objectaffects1
Six neighbours at most, always named. Beyond that the map teaches nothing: the list takes over.