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
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
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
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
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
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
Robur
10351c65bd
Migrate to dream
2021-06-01 14:06:36 +00:00
bc7a2006e3
More precise error type information
2021-06-01 10:33:35 +02:00
4f17b8b8a6
Link to opam diff
...
Compare with latest build as well as previous build.
2021-04-23 15:00:12 +02:00
9974510787
Display builds with start time
2021-04-23 09:46:23 +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
ac43298620
Fix anchor fragment links
2021-04-23 09:45:35 +02:00
031a2042b0
opam-switch diff
2021-04-23 09:45:35 +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
a7be8f8f47
Be consistent with order of sha256 and size
2021-02-26 10:05:53 +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
3046994f4c
Add filesize to view
2021-02-25 15:18:43 +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
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
53addf4825
Fix bug in /upload
...
The localpath was used instead of the filepath which broke the
reference.
2021-01-29 10:17:03 +01:00
96a3da36cd
Show build main binary and hash in job view
2021-01-29 10:17:03 +01:00
56737ec71b
Migration code, model aware of main binary
...
Sqlite3 application_id and user_version are now set to identify the
database is a builder-web database, and the user_version represents the
schema version.
The 'build' table is extended with a 'main_binary' column. This
represents the main binary artifact from the build. This is decided by
there being exactly one file in bin/.
A migration tool is written that does both migrations and rollbacks, and
migration and rollback is implemented for the above mentioned change.
2021-01-29 10:15:31 +01:00