Commit graph

260 commits

Author SHA1 Message Date
Robur
987230c15f improve FreeBSD and orb packaging 2021-06-24 10:46:27 +00:00
bde3baec46 Refactor migrations and don't enable foreign keys
Each migration is, for the most part, a module that exposes expected
database version numbers, command identifier and documentation. This
results in all information about the migration and rollback are
found in the module itself, and builder_migrations.ml only has to
reference the module.

Some migrations require foreign keys constraints are disabled. It is not
possible to enable or disable foreign key constraints inside a
transaction.
2021-06-10 12:08:14 +02:00
Robur
d088597c01 add explicit package dependencies 2021-06-09 16:03:03 +00:00
Robur
c2377dedd7 FreeBSD packaging and rc script 2021-06-09 15:40:58 +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
f5d6475d2d fix migration, password_hash and salt are blobs 2021-06-09 13:59:04 +00:00
Robur
5cece213c2 Add a user-disable command, enforce foreign key constraints in builder_db.exe and migrations 2021-06-09 13:45:22 +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
Robur
d986d614a8 Add http status metrics middleware 2021-06-08 12:36:53 +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
1ce4c11c05 Add dependency on metrics-rusage 2021-06-04 11:26:22 +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
User Builder
af1ed4cbc7 ignore sigpipe 2021-06-01 08:38:25 +00:00
User Builder
8a8dd9a14b Add influx metrics reporting 2021-06-01 08:38:25 +00:00
User Builder
f7eafc56c5 prefix log lines with timestamp 2021-06-01 08:38:24 +00:00
bc7a2006e3 More precise error type information 2021-06-01 10:33:35 +02:00
fbe8748c02 Fix --datadir
It was erroneously specified as ----datadir
2021-05-18 17:02:45 +02:00
a6444990b2 Fix typo 2021-05-18 16:59:20 +02:00
759172c4a7 Add --datadir parameter 2021-05-17 11:52:52 +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
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
ba60cc4170 Add opam dependencies 2021-04-23 09:46:20 +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
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