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
robur
0d1b00b13c
builder-web.opam: add dream lower bound
2021-06-29 09:49:39 +00:00
robur
2ada9881ff
debian packaging
2021-06-29 09:41:05 +00:00
Robur
216669fe99
Add README.md
2021-06-29 09:09:52 +00:00
a3f9e9aba0
Add job-remove command to builder-db
...
`builder-db job-remove job-name` removes a job from builder-web
including its associated files.
2021-06-29 08:56:18 +00:00
Robur
88377adb7c
adapt to builder changes (job -> script_job)
2021-06-25 16:43:47 +00:00
Robur
b279eb521b
Adapt to build input files removal
...
* Do not synthesize empty input files list
* Drop table build_file
2021-06-25 10:26:03 +00:00
Robur
987230c15f
improve FreeBSD and orb packaging
2021-06-24 10:46:27 +00:00
bde3baec46
Refactor migrations and don't enable foreign keys
...
Each migration is, for the most part, a module that exposes expected
database version numbers, command identifier and documentation. This
results in all information about the migration and rollback are
found in the module itself, and builder_migrations.ml only has to
reference the module.
Some migrations require foreign keys constraints are disabled. It is not
possible to enable or disable foreign key constraints inside a
transaction.
2021-06-10 12:08:14 +02:00
Robur
d088597c01
add explicit package dependencies
2021-06-09 16:03:03 +00:00
Robur
c2377dedd7
FreeBSD packaging and rc script
2021-06-09 15:40:58 +00:00
Robur
5555c87afd
Add the /job/:job/upload endpoint which receives a raw binary.
...
Fixes #38
2021-06-09 14:26:05 +00:00
Robur
901c24ab27
if_error: if not found, present a not found message
2021-06-09 14:25:00 +00:00
Robur
f5d6475d2d
fix migration, password_hash and salt are blobs
2021-06-09 13:59:04 +00:00
Robur
5cece213c2
Add a user-disable command, enforce foreign key constraints in builder_db.exe and migrations
2021-06-09 13:45:22 +00:00
Robur
31a501e0c4
Add user column to build
...
We want to track who uploaded what builds.
A `nologin` user is created in the migration that owns all preexisting builds.
2021-06-09 11:54:24 +00:00
Robur
02bfbc956f
Improve HTTP status codes (4xx on user data failure)
...
Fixes #43
2021-06-09 09:48:51 +00:00
Robur
eaf8a609c9
Add an access_list to grant per-job user upload permissions
...
Fixes #36
2021-06-08 14:54:23 +00:00