Commit graph

366 commits

Author SHA1 Message Date
Robur
dd6535296d use Cstruct.length instead of deprecated Cstruct.len 2021-09-08 09:11:54 +00:00
Robur
edcbf73386 Add /job/<job>/build/<build>/main-binary redirect endpoint
Fixes #52
2021-09-08 09:10:30 +00:00
Robur
8279bc1c26 store relative path for console and script 2021-09-07 11:53:51 +00:00
Robur
0628938898 verify-data-dir: check build script & console as well 2021-09-07 10:04:54 +00:00
Robur
f7823da321 fix console output order 2021-09-07 10:04:11 +00:00
Robur
0efcec460d fix 2021-09-07 09:35:26 +00:00
Robur
4126cab805 Fix migration M20210712c 2021-09-07 09:35:26 +00:00
Robur
94feffdcc2 Fixup builder-migrations: add M20210712c 2021-09-07 09:35:26 +00:00
3fe6e83300 M20210712c: fix rollback 2021-09-07 09:35:26 +00:00
10f78877e9 M20210712c: fix indentation for clarity 2021-09-07 09:35:26 +00:00
Robur
7c04469825 Prepare staging dir before writing
The preparation of the staging dir when saving a build was handled in
Model.save_all, but we expect it to be created in Model.save_console_and_script.

This commit refactors the staging dir preparation into a function for better
clarity.
2021-09-07 09:35:26 +00:00
Robur
e7daf0366b Rename local variable meta(s) -> build(s) 2021-09-07 09:35:26 +00:00
Robur
16c403b6b5 Fix query column ambiguity 2021-09-07 09:35:26 +00:00
Robur
17420c389b WIP 2021-09-07 09:35:26 +00:00
Robur
0d918192ea builder_db.exe: verify_data_dir verifies job name and uuid as well 2021-09-07 09:22:25 +00:00
4c42865ca7 fix compilation 2021-08-03 15:12:53 +02:00
cd633087d5 Infer section from job name rather than extension 2021-08-03 12:28:18 +00:00
cdce07c808 Merge pull request 'Use Cstruct.length and require cstruct >= 6.0.0' (#56) from cstruct.6.0.0 into main
Reviewed-on: https://git.robur.io/robur/builder-web/pulls/56
2021-08-03 10:54:13 +00:00
f9fcd2c733 Use Cstruct.length and require cstruct >= 6.0.0 2021-08-03 09:26:07 +02:00
fc734dc2cd improve packaging: use sh -ex 2021-08-02 15:44:38 +02:00
3ba9b93365 debian: fix datadir path
Use the builder-web datadir, not the builder datadir(!)
2021-07-29 17:21:56 +02:00
68db07067d debian: fix --datadir typo 2021-07-29 16:58:52 +02:00
147163a92b debian: correct sqlite3 dependency
It is called libsqlite3-0 and not libsqlite3 for whatever reason.
2021-07-29 16:36:44 +02:00
Robur
392286dd98 remove README.md and build-hashes from build_artifact table and file system
no longer store full file on disk
2021-07-12 14:10:54 +00:00
Robur
928821fec6 fix migration 2021-07-12 2021-07-12 13:42:13 +00:00
Robur
9195c91ab5 remove result_kind from build table (de-duplicate information), add some indexes 2021-07-12 13:31:36 +00:00
Robur
aa4db9b6a8 in /job/:job/build/:build output links to:
- 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
2021-07-12 13:31:35 +00:00
e8f918230f verify-data-dir-stream (#50)
builder-db verify-data-dir: stream build artifacts

Co-authored-by: Reynir Björnsson <reynir@reynir.dk>
Reviewed-on: https://git.robur.io/robur/builder-web/pulls/50
Co-Authored-By: hannes <hannes@mehnert.org>
Co-Committed-By: hannes <hannes@mehnert.org>
2021-07-12 10:42:03 +00:00
Robur
7c4bf56da6 builder_db: add a verify-data-dir subcommand
This subcommand checks that all files in the build_artifact table
are present in the data directory. Also, their size and hash must
match.
2021-07-07 13:33:26 +00:00
Robur
b09001916b fixup 2021-07-07d: remove initial ./ from fpath 2021-07-07 13:00:57 +00:00
Robur
1b4b27e1c5 fixup 2021-07-07c: strip .hvt/.xen images if not already stripped
updates build_artifact and also the main_binary in build
2021-07-07 12:36:30 +00:00
Robur
49f7502e0c fixup 2021-07-07b: move *.deb.debug to bin/*.deb, update build_artifact and build (main_binary) 2021-07-07 11:29:10 +00:00
Robur
f66fa8bf19 fixup 2021-07-07a: remove leftover orb.deb / orb.txz from build_artifacts 2021-07-07 10:50:12 +00:00
Robur
96ee7649b7 fix 0706 migration (old build table should be named new_build) 2021-07-07 10:45:14 +00:00
Robur
6ec40365ab Add input_id to build table
The input_id column is a checksum of the files relevant for reproducibility.
2021-07-06 13:54:25 +00:00
Robur
be26e56fd4 Output links to comparisons of other builds with the identical main binary
in /job/:job/build/:build
2021-07-06 10:23:29 +00:00
9c326679ba investigate differences in build, install, and uri when opam file differed (#48)
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>
2021-07-06 08:34:17 +00:00
7c7282894b Typed database IDs (#47)
Typed database IDs

Reviewed-on: https://git.robur.io/robur/builder-web/pulls/47
Co-Authored-By: Reynir Björnsson <reynir@reynir.dk>
Co-Committed-By: Reynir Björnsson <reynir@reynir.dk>
2021-07-05 12:45:08 +00:00
cc092ca9d8 M20210701: reapply index 2021-07-05 10:23:09 +02:00
21065c9f44 Use initially deferred foreign key constraint
On build.main_binary.
2021-07-01 11:02:41 +02:00
37e68f91f4 Handle jobs without successful build in migrations
The migrations migrate-2021-06-29 and migrate-2021-06-30 would not apply
if a job exists without any successful build. Now the migrations script
silently skips jobs without succesful builds.
2021-07-01 10:56:14 +02:00
bd0ab7f554 packaging: install README.md 2021-06-30 16:15:36 +02:00
Robur
1e3fcf984f Allow README.md being present anywhere
The one in root takes precedence, but opam-installer doesn't really
want to install things into %{prefix}%.
2021-06-30 14:10:02 +00:00
Robur
009fa49e9e render README from latest build (preserved as a tag value in job_tag table) 2021-06-30 12:47:30 +00:00
Robur
5285872865 minor changes to main site 2021-06-30 11:38:02 +00:00
Robur
b4996939af Job_tag: try to retrieve the tag value - insert if none, update if some 2021-06-30 11:09:01 +00:00
Robur
1e190e42c7 Builder_db.Job_tag: provide next to add also an update
Model: if Job_tag.add fails, use Job_tag.update
2021-06-30 10:40:52 +00:00
Robur
eb786088e7 Builder_db.Job_tag.add: use INSERT OR REPLACE to avoid constraint violation 2021-06-30 09:56:47 +00:00
Robur
9a271add7b add tag to jobs: description 2021-06-29 15:15:16 +00:00
Robur
e45497e97c add tags to jobs: section and synopsis, inferred from the latest successful build 2021-06-29 14:59:08 +00:00