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
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
Robur
045dbcf23d
adapt to builder 0.2.0 changes
2021-11-03 14:40:04 +00:00
Robur
87a6b95e8c
Model.read_file: avoid file descriptor leak
2021-10-18 13:45:53 +00:00
71a016fdae
Fix up mix up
...
When builds were uploaded the script and console was mixed up. This
commit fixes that and includes a fixup migration script.
2021-09-10 13:00:04 +02:00
f24a9297d0
Re-add viewing build script and build console
...
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.
2021-09-09 18:06:08 +02: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
f7823da321
fix console output order
2021-09-07 10:04:11 +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
17420c389b
WIP
2021-09-07 09:35:26 +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
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
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
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
b4996939af
Job_tag: try to retrieve the tag value - insert if none, update if some
2021-06-30 11:09:01 +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
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
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
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
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
265e00a718
Do DB rollback on failed build insert
2021-03-25 10:42:04 +01:00
7b5119189d
Filesystem transactions and cleanup
2021-03-24 14:49:23 +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