68237ef382
Rewrite queries to take optional platform
...
A number of queries were the same except one would take another string
argument and add `AND platform = $N` in its WHERE clause. This commit
merges them and does `AND ($N IS NULL OR platform = $N)` and the client
code in Model doesn't have to check the string option.
2021-11-18 11:56:17 +01:00
e57d880c44
sql: use $N instead of ?N as numbered placeholder
2021-11-18 11:40:15 +01:00
Robur
088b55acc3
remove failed builds from job page
...
add a job page with failed builds, link to it
2021-11-17 16:39:49 +00:00
Robur
2e82778e87
Only show successful builds on the front page
...
Failed builds can be viewed on the linked /failed-builds/ page.
2021-11-17 16:00:58 +00:00
Robur
e1d950ad5b
link to failed-builds, paginate failed-builds
2021-11-17 15:54:13 +00:00
Robur
0910a05bbd
builds: improve comparisons (text and query) to earlier and later builds
...
only take into consideration the builds that have a different output
2021-11-17 15:28:15 +00:00
Robur
c6128ca24b
/failed-builds/: fix query and improve page
2021-11-17 14:33:05 +00:00
Robur
8ee69d7211
Work around caqti assertion failure
2021-11-17 14:06:18 +00:00
Robur
c566cd0215
Work towards failed-builds page
2021-11-17 14:02:04 +00:00
Robur
16748b8995
Show builds by platform
2021-11-08 15:03:19 +00:00
Robur
594c6d5917
remove unused queries
2021-11-05 12:49:16 +00:00
Robur
e69d1beb9f
Add platform to build table
2021-11-05 10:45:26 +00:00
a249eb0572
Fix broken query remove_all_by_username
2021-10-26 13:22:31 +02:00
Robur
edcbf73386
Add /job/<job>/build/<build>/main-binary redirect endpoint
...
Fixes #52
2021-09-08 09:10:30 +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
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
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
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
21065c9f44
Use initially deferred foreign key constraint
...
On build.main_binary.
2021-07-01 11:02:41 +02: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
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
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
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
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
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
4fec5ed38c
Builder_db: use foreign key for build.main_binary
2021-06-02 10:29:08 +00:00
Robur
49003ca21f
Store relative paths for build artifacts in database
2021-06-01 15:43:55 +00:00
a6444990b2
Fix typo
2021-05-18 16:59:20 +02:00
561a81a951
Alter db build index
...
We started looking up by date a lot.
2021-04-29 15:16:19 +02:00
4f17b8b8a6
Link to opam diff
...
Compare with latest build as well as previous build.
2021-04-23 15:00:12 +02:00
b965b3ca7c
Add Build.get_previous database lookup
2021-04-23 12:06:39 +02:00
643b156e07
Job.get does not return an option
2021-03-23 11:53:41 +01:00
3b81c52c59
Expose database repr, database fixup
...
Parts of the database representation are exposed.
A fixup command for builder-migrations is added to remove bad database
entries fixed in a57798f4c0
. It is up to
the operator to remove the files and optionally re-upload the 'full'
files to builder-web.
2021-03-08 17:01:00 +01:00
a57798f4c0
Fix Build_{artifact,file}.add query
2021-03-04 14:32:58 +01:00
71cc34bac3
Use int instead of int64 for file sizes
...
We are not going to use the extra bit, and String.length returns the
size as an int anyway.
2021-02-25 15:27:45 +01:00
535d2ac0b9
Add file sizes
2021-02-24 11:31:31 +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
03fe06be87
Add index job_build_idx on build
...
This speeds up loading / by ~10x
2021-02-02 10:25:19 +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