37e68f91f4
Handle jobs without successful build in migrations
...
The migrations migrate-2021-06-29 and migrate-2021-06-30 would not apply
if a job exists without any successful build. Now the migrations script
silently skips jobs without succesful builds.
2021-07-01 10:56:14 +02:00
bd0ab7f554
packaging: install README.md
2021-06-30 16:15:36 +02: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
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
robur
0d1b00b13c
builder-web.opam: add dream lower bound
2021-06-29 09:49:39 +00:00
robur
2ada9881ff
debian packaging
2021-06-29 09:41:05 +00:00
Robur
216669fe99
Add README.md
2021-06-29 09:09:52 +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
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
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