Instead of displaying the script and console output in the build page
the build page links to new endpoints for viewing the script and the
console output.
- builds that reproduced the binary with the same inputs
- builds that reproduced the binary with different inputs (only one for each input_id)
- builds with same input that produced a different output
/job/:job group by hash
compare environment and system packages as well
investigate differences in build, install, and uri when opam file differed
Co-authored-by: Robur <team@robur.coop>
Reviewed-on: https://git.robur.io/robur/builder-web/pulls/48
Co-Authored-By: hannes <hannes@mehnert.org>
Co-Committed-By: hannes <hannes@mehnert.org>
Sqlite3 application_id and user_version are now set to identify the
database is a builder-web database, and the user_version represents the
schema version.
The 'build' table is extended with a 'main_binary' column. This
represents the main binary artifact from the build. This is decided by
there being exactly one file in bin/.
A migration tool is written that does both migrations and rollbacks, and
migration and rollback is implemented for the above mentioned change.
Each time stamp has an ID that can be linked to. Currently, there's no
mechanism for getting the fragment. A solution could be to wrap the
timestamp in an anchor.