Reproducible builds

Decision · Acceptedspecs/decisions/quality/reproducible-builds

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.

Affects

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

Neighbourhood map. The list below carries the same information as the map.existing pageword without a note

25 neighbours in total, more than the map shows.

textual equivalent

Six neighbours at most, always named. Beyond that the map teaches nothing: the list takes over.