Job builder-web on debian-11
README
Skip to buildsBuilder-web - a web frontend for reproducible builds
Builder-web takes in submissions of builds, typically from builder, and displays the produced artifacts in a way that makes it easy to compare checksums and build status. Produced binaries can be downloaded and executed. builds.robur.coop itself runs builder-web.
Overview
Builder-web is a single binary web server using a sqlite3 database with versioned schemas. Finished builds from builder are uploaded to builder-web, stored and indexed in the database and presented in the web interface to the user. Users can:
- Get an overview of jobs - a job is typically script or opam package that is run and builds an artifact,
- Browse all builds of a job - each job may have multiple builds, that are executed periodically by builder
- Browse individual build and download artifacts and build information for reproducing the same binary.
- Compare two builds, observing the differences in used opam packages, environment variables, and system packages.
- Search for the SHA-256 hash of a binary to view a build that resulted in that binary.
Installation
Installing from source can be done with opam: opam install builder-web
.
We also provide reproducible binary packages.
Setup
Builder-web consists of a binary builder-web
that runs a web server on port 3000 listening on all interfaces by default.
These values can be changed with the --port
and --host
flags respectively.
See builder-web --help
for more information.
Service scripts for FreeBSD and systemd are provided.
The web server expects a sqlite3 database in its data directory.
An empty database can be created with builder-db migrate
.
Database migrations
The sqlite3 database builder-web uses contains versioning information.
On every schema change the database schema version is updated, and migration and rollback scripts are provided.
The tool for database migrations is builder-migrations
.
See the builder-migrations --help
output for each migration for further details.
Less common workflows
Here are listed some less common but useful workflows:
Extracting builds from one server to another
This is useful for development on a separate machine that doesn't run the build jobs itself.
On the source server:
builder-db extract-build <build-hash> --dest <build-hash>.full
After copying the file over the destination server (you need a user first,
see builder-db user-add --help
):
curl --data-binary @<build-hash>.full http://<user>:<passwd>@localhost:<builder-web-port>/upload
JSON Responses
Some endpoints return JSON when the headers contain Accept: application/json
.
/compare/:build_left/:build_right
/job/:job/build/latest/**
/job/:job/build/latest
Builds
Back to readme- ☑ debian-11 2025-01-02 18:56:20Z builder-web.deb
SHA256:818f09edbff73dca4ae0e80148b8cbb73ba5516e3f91a187a946aa7c29df2675
(14.3MB) - ☑ debian-11 2024-12-19 18:53:37Z builder-web.deb
SHA256:8ae3227e66ac36f5eb150f9e2ef9e334308af807ebe4af00734f8cfa95d64b72
(14.3MB) - ☑ debian-11 2024-12-16 18:53:43Z builder-web.deb
SHA256:be00a9c0407fde312bc6c3bc47f1fe4c6bf4f6299fe3d29ddd87ade2f53d7e69
(14.3MB) - ☑ debian-11 2024-11-15 14:12:36Z builder-web.deb
SHA256:03a5f4a0201f9ad560d2f04a9a22d38f9b8458f8a5ee154545bbec46ddf86908
(14.3MB) - ☑ debian-11 2024-11-14 14:01:43Z builder-web.deb
SHA256:2b3e2039f3b5182add86851b7ddb86c35d702bd2576eb5aa60b7d7e9d3372428
(14.3MB) - ☑ debian-11 2024-11-02 14:01:33Z builder-web.deb
SHA256:30719d1ac9ac32707e0619463ef43a41ad65e1812f0ea9a0c1b9e03e7ad532a2
(14.3MB) - ☑ debian-11 2024-10-24 14:01:23Z builder-web.deb
SHA256:c55d653d4f32f5b879921d2c157ccd8bb0c6e9c7c3a3fb9f3eb5564f86a40421
(14.3MB) - ☑ debian-11 2024-09-27 14:01:03Z builder-web.deb
SHA256:30a0b93cd8cc7117e2c1ab70e93a3ad86683bfe56320068ed6bc6aab44eddd01
(14.3MB) - ☑ debian-11 2024-09-26 14:29:30Z builder-web.deb
SHA256:ec96ed3b445911db2c30f3967ea2b2290cad8337e813c78168cb9b4b72bbe32e
(15.5MB) - ☑ debian-11 2024-09-20 14:28:56Z builder-web.deb
SHA256:ba11b233b8e5648455362290d94a64eb0497d984d818a4a3b8ae8a9ec45fb720
(15.5MB) - ☑ debian-11 2024-09-13 14:11:40Z builder-web.deb
SHA256:cd30a645139521663445915840ff97ef19686feaf712b7233465731f7e215285
(15.4MB) - ☑ debian-11 2024-09-12 14:00:51Z builder-web.deb
SHA256:ff5199a933fd9102d66f2049337c8074e40320071575ed0d344f0e0c3fd4ba4a
(15.4MB) - ☑ debian-11 2024-09-11 14:42:37Z builder-web.deb
SHA256:ca2f940389d5a4d4d6aa16967f9cfce8665be48a07670640e102bf667d7c8792
(15.5MB) - ☑ debian-11 2024-09-10 14:11:45Z builder-web.deb
SHA256:0c0278134fa2cf40a9f2785d09ec917b5e12b5f5740cd504cb9697c9420f00a3
(14.3MB) - ☑ debian-11 2024-09-09 14:00:46Z builder-web.deb
SHA256:319e02b02db61739b65d22ffa7545178aa2ac486949c27a17651a1a7449a9019
(14.3MB) - ☑ debian-11 2024-09-05 14:30:10Z builder-web.deb
SHA256:f3bed930efc1e0ca23ff23e1c2f3bd07a7a973f78f31eda95d0b316b57f09c75
(14.5MB) - ☑ debian-11 2024-09-03 14:00:45Z builder-web.deb
SHA256:5eb1e0f5d4f694c197ce91296d8b007ea13c0bd6741e072e5629ecbdf0f7f8ee
(14.5MB) - ☑ debian-11 2024-08-23 14:13:09Z builder-web.deb
SHA256:7a44c53edc9b03018b2fb540b542eb1a7512daea505afc095fb728931e4cc5f2
(14.4MB) - ☑ debian-11 2024-08-22 14:00:37Z builder-web.deb
SHA256:154fcb79d8435ad682763349c60bfaf834f6d9e23f9ac6ef18cc2d1747b36b3e
(14.4MB) - ☑ debian-11 2024-08-21 14:30:38Z builder-web.deb
SHA256:0f2c0fb5aeda5b53a0db969b0643bad9518cbd9a70012af1fefad8e5a6310a5d
(14.4MB) - ☒ debian-11 2024-08-18 14:30:55Z Build failure: exited 20
- ☒ debian-11 2024-08-17 14:13:06Z Build failure: exited 20
- ☒ debian-11 2024-08-16 14:00:28Z Build failure: exited 20
- ☒ debian-11 2024-08-15 14:29:41Z Build failure: exited 31
- ☒ debian-11 2024-08-14 14:10:38Z Build failure: exited 31
- ☑ debian-11 2024-08-13 14:04:15Z builder-web.deb
SHA256:0941e2aaa957ed8ba91b628c3bbebc5ef62f7ad64f73511276baacb4448a44ff
(12.9MB) - ☒ debian-11 2024-08-11 14:10:38Z Build failure: exited 31
- ☒ debian-11 2024-08-10 14:04:14Z Build failure: exited 31
- ☒ debian-11 2024-08-09 14:24:45Z Build failure: exited 31
- ☒ debian-11 2024-08-08 14:10:42Z Build failure: exited 31
- ☑ debian-11 2024-08-06 14:25:16Z builder-web.deb
SHA256:f2de62e56b4055a3277f8bbd2e1c54e0c7d78458d5f9c1ecb4355976c5afad4c
(12.9MB) - ☑ debian-11 2024-07-20 14:10:55Z builder-web.deb
SHA256:dfe4f8063e07656a47cb06ec631f0a69726c432d894c135ac0a03136de86905d
(12.9MB) - ☑ debian-11 2024-07-15 10:55:18Z builder-web.deb
SHA256:f4ca75be5c43f92dfd178b777286584293abb039c97a890f69761ed3327573d9
(12.9MB) - ☑ debian-11 2024-07-02 14:10:30Z builder-web.deb
SHA256:91a8b9e64b1b54b242ae4184231b172bbfa2ae3764d9e0a4c5c1c98066daf7f0
(12.5MB) - ☑ debian-11 2024-06-28 14:05:17Z builder-web.deb
SHA256:1ec36364980a720001c5be74bfc7baee94a08a804f7ac3893f8e2a26e55da3ca
(12.5MB) - ☑ debian-11 2024-06-26 14:02:05Z builder-web.deb
SHA256:7b51853aac8b314eb29514fd34c22e49d6c41e8644aa30dc8888a05afc2b51f7
(8.89MB)
Excluding failed builds here.