Commit graph

103 commits

Author SHA1 Message Date
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
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
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
e45497e97c add tags to jobs: section and synopsis, inferred from the latest successful build 2021-06-29 14:59:08 +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
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
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
8f4a45bf76 Revise error handling
- also validate UUID to be 36 characters
- also error with not_found for unknown jobs
2021-06-08 10:26:57 +00:00
e4407902f5 Do not read file if not modified 2021-06-05 08:18:39 +02:00
847e0cffe4 Check if-not-modified
We are still reading the whole file from disk even when it's not needed.
2021-06-04 13:01:28 +02:00
Robur
a45a584831 Generate opam compare links only for successful builds 2021-06-02 13:05:10 +00:00
Robur
fb2515e713 Add /build/latest/ redirect 2021-06-02 12:23:40 +00:00
Robur
49003ca21f Store relative paths for build artifacts in database 2021-06-01 15:43:55 +00:00
Robur
10351c65bd Migrate to dream 2021-06-01 14:06:36 +00:00
4f17b8b8a6 Link to opam diff
Compare with latest build as well as previous build.
2021-04-23 15:00:12 +02:00
5f1f106c91 Link back to builds when comparing 2021-04-23 09:46:23 +02:00
c51399823c Packages w/ same version different opam 2021-04-23 09:45:35 +02:00
031a2042b0 opam-switch diff 2021-04-23 09:45:35 +02:00
7b5119189d Filesystem transactions and cleanup 2021-03-24 14:49:23 +01:00
7b81d78554 Use scrypt (#32)
Switch to using scrypt for password hashing

Co-authored-by: Reynir Björnsson <reynir@reynir.dk>
Reviewed-on: https://git.robur.io/robur/builder-web/pulls/32
Co-Authored-By: reynir <reynir@reynir.dk>
Co-Committed-By: reynir <reynir@reynir.dk>
2021-02-23 15:20:18 +00:00
8d211dc831 Check database version
Exit if the application id and user version are not as expected.
2021-02-17 14:15:57 +01:00
1c5de383ea /hash takes query parameters, add hash search form 2021-02-02 17:23:57 +01:00
6b96cae318 Add /hash/:hash endpoint
It looks up the given hash and finds the latest build producing an
artifact with this hash.
2021-02-02 09:56:17 +01:00
3a106342f5 Show latest build info in jobs view
This does N+1 queries where N is the number of jobs.
2021-01-29 14:34:56 +01:00
96a3da36cd Show build main binary and hash in job view 2021-01-29 10:17:03 +01:00
041faadb54 Return 409 conflic if build uuid already exists 2021-01-28 16:05:32 +00:00
7a8f853663 Remove /refresh endpoint
It depends on builder-db add and was a hack anywya.
2021-01-27 20:10:27 +00:00
484658d23a Fix bugs
Parent directories for input file and output files must be created.
2021-01-21 18:12:26 +01:00
0f98541feb Store files on disk 2021-01-21 17:51:58 +01:00
22ef6395b8 Whitespace, log output 2021-01-21 12:02:07 +01:00
a6fe9ada45 Add password_iter option 2021-01-21 12:01:47 +01:00
01babd0d0d User authentication and upload endpoint 2021-01-21 10:11:37 +01:00
035d471844 Add refresh endpoint hack 2021-01-19 10:44:32 +01:00
5298108d1a Implement sqlite database backed builder-web 2021-01-19 10:44:32 +01:00
0309737ef7 Add orb mime knowledge 2021-01-06 14:28:10 +01:00
37a916517d Display SHA256 digest only, and in hex 2021-01-06 11:48:24 +01:00
dd55491138 Document assumption 2020-12-22 13:45:54 +01:00
f2ab0d797f Simplify job_run_file and return 404 2020-12-22 13:36:14 +01:00
be1ae9cdab Implement downloading build artifacts 2020-12-21 11:21:10 +01:00
5f8325b60b Add SHA256 & SHA512 digests of build artifacts 2020-12-14 08:18:13 +01:00
465ede64d6 Lwt-ify model 2020-12-08 11:49:26 +01:00
6e2c5718c1 Sort builds by start datetime 2020-12-07 21:45:15 +01:00
17570ebc76 Don't get job runs from disk when listing jobs 2020-12-07 21:28:17 +01:00
cd1cdcc9bb Implement meta data caching
Also print builds by their start time instead of UUID
2020-12-07 15:43:54 +01:00
d2a3b29e43 Handle paths safely 2020-12-07 12:24:09 +01:00
1b0259e084 Fix URLs 2020-12-07 10:43:57 +01:00
41b0b6c031 Implement job, job run 2020-12-07 10:17:49 +01:00
0a92bdae65 Initial commit 2020-12-04 18:10:21 +01:00