Commit graph

525 commits

Author SHA1 Message Date
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
f90a093dd6 Merge pull request 'staging' (#35) from staging into main
Reviewed-on: https://git.robur.io/robur/builder-web/pulls/35
2021-04-07 08:18:11 +00: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
643b156e07 Job.get does not return an option 2021-03-23 11:53:41 +01:00
b6f87dc597 Add runtest to opam 2021-03-23 10:36:20 +01:00
5cdcbdff74 Add more Builder_db tests 2021-03-22 10:01:54 +01:00
396ace1140 Add Builder_db.User tests 2021-03-16 13:09:31 +01:00
52da2cf588 Refactor list result iter 2021-03-12 09:47:28 +01:00
e2a489a74d Refactor migrations 2021-03-10 10:51:34 +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
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
3c33d66104 Add rollback of filesize column 2021-02-24 15:07:15 +01:00
9d4a77abd4 Do sqlite dance 2021-02-24 11:31:31 +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
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
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
1dce5eeda3 Merge pull request 'Schema versioning and main binary' (#22) from schema-versioning into main
Reviewed-on: https://git.robur.io/robur/builder-web/pulls/22
2021-01-29 09:52:38 +00: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
75fb497ac1 Fix Builder_db.Build.add
Query was not updated to reflect the new main_binary value
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
a936915b74 Also add the new function to the interface... 2021-01-28 16:05:32 +00: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
810e1393ed Remove builder-db add command
Instead, use e.g.

    find /var/db/builder/ -maxdepth 3 -name full -exec curl http://user:password@builder-web:3000/upload --data-binary @\{} \;

This will add the build to builder-web.
2021-01-27 20:10:27 +00:00
dbe7300c9d Merge pull request 'Sort builds latest first' (#19) from latest-first into main
Reviewed-on: https://git.robur.io/robur/builder-web/pulls/19
2021-01-22 12:20:16 +00:00
d63976f809 Sort builds latest first
Fixes #17
2021-01-22 13:16:05 +01:00
6f9a74ec65 Use dash instead of underscore in binary name 2021-01-22 11:12:49 +01:00
af505853e6 Database file is in /var/db/builder-web/ 2021-01-22 10:59:03 +01: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
841dabcc03 Clean up Builder_db interface
Database encoding functions are not useful to library users.
2021-01-21 16:47:31 +01:00
3a0d9222d5 Fixup user-update using user_add not user_update 2021-01-21 12:13:32 +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
23ca1beb05 Add sexplib dep 2021-01-21 10:12:39 +01:00
0530b31fe3 Add mirage-crypto-rng dep 2021-01-21 10:11:37 +01:00
01babd0d0d User authentication and upload endpoint 2021-01-21 10:11:37 +01:00
1771c47989 Add pbkdf dependency 2021-01-19 12:53:56 +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