Job builder-web on freebsd-14
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
Builds
Back to readme- ☑ freebsd-14 2024-11-21 01:09:10Z builder-web.pkg
SHA256:6ce18c65a38150cecafc8ed5d95e86461fb18cdbbbba656b2bc40dd75b25180e
(12.5MB) - ☑ freebsd-14 2024-11-15 02:36:51Z builder-web.pkg
SHA256:742e1d24547a484781632b1c970925a620ad02150a5606bd0b4aa24c1988cb8a
(12.5MB) - ☑ freebsd-14 2024-11-14 00:41:13Z builder-web.pkg
SHA256:efd54b36ab32cb4e05dfe40ab293b7b5670e9eef886e3e5b0100384c5e9d203b
(12.5MB) - ☑ freebsd-14 2024-10-24 00:13:30Z builder-web.pkg
SHA256:a0ee88845b0d41e2774bc56a480c47a83a24833ca626055b8d1ff388e77bc531
(12.5MB) - ☑ freebsd-14 2024-09-27 13:18:29Z builder-web.pkg
SHA256:eb21c4cafc147af0163da5fca717d092b91a591aaa25948ee84f8e4415a122e2
(12.5MB) - ☑ freebsd-14 2024-09-27 09:11:11Z builder-web.pkg
SHA256:e86713c1c6620c89419246c58de7f04aafeda2d3779e62cc5557b627a24efb81
(13.5MB) - ☑ freebsd-14 2024-09-13 13:05:54Z builder-web.pkg
SHA256:f3fd3a72e08248afdb2062333bb4184ff1cad23116045e1af0c1c42f33dff66b
(13.5MB) - ☑ freebsd-14 2024-09-11 13:04:00Z builder-web.pkg
SHA256:881062a7ffdca0f0a70597d0439ad0590ce00d9ec7f248fd8f66573b87f431a0
(13.5MB) - ☑ freebsd-14 2024-09-10 13:03:02Z builder-web.pkg
SHA256:ffe0afea46a0144142b7f505cc78e52b4c3ac20b7612aa23706f859fd34b33a9
(12.5MB) - ☑ freebsd-14 2024-09-09 13:02:07Z builder-web.pkg
SHA256:ecb27b268130d47193fa0993da31df9c5c0b2dcf80b529de8a33017a216fa5cc
(12.5MB) - ☑ freebsd-14 2024-09-05 17:28:31Z builder-web.pkg
SHA256:708521501fd8233120285918a4de5e5328a581e8a19c22c5bdd872a2b876649b
(12.4MB) - ☑ freebsd-14 2024-09-05 12:58:23Z builder-web.pkg
SHA256:7d187f2b78760aa1e9dd0183b60eadeb2a0498627e48f2ea067d8b0483048f5c
(12.6MB) - ☑ freebsd-14 2024-09-03 12:56:30Z builder-web.pkg
SHA256:22c9cbe389539c61b56c2417d18774c3f1c50c6dbd28da6df09ba90371870bf9
(12.6MB) - ☑ freebsd-14 2024-08-23 12:46:11Z builder-web.pkg
SHA256:9af024c4f3d51c7a5f4865db916b511c67a7e30cfd7cc18f4119cb113c94563a
(12.6MB) - ☑ freebsd-14 2024-08-22 12:45:14Z builder-web.pkg
SHA256:bdea5573616253de249aa2752d01d82247e15fd0940ef50dad71f2f3fd18bdbe
(12.7MB) - ☑ freebsd-14 2024-08-21 12:44:16Z builder-web.pkg
SHA256:d2dacd5e7dddf5ba9d350524fe809448a06189ebe61f4e6b4c0ad6fac9ca755b
(12.7MB) - ☑ freebsd-14 2024-08-18 12:41:23Z builder_web.pkg
SHA256:9d57e7f226fdffe4588bac05ac8fc8536961fd1850987987bb993150d6d73f23
(7.4MB) - ☒ freebsd-14 2024-08-15 12:38:34Z Build failure: exited 31
- ☒ freebsd-14 2024-08-14 12:37:37Z Build failure: exited 31
- ☑ freebsd-14 2024-08-13 12:36:40Z builder-web.pkg
SHA256:8a46ff408ce777c36886160951f160a541159071ba7f84a6f4e605f11e12882e
(11.2MB) - ☒ freebsd-14 2024-08-11 12:34:46Z Build failure: exited 31
- ☒ freebsd-14 2024-08-10 12:33:50Z Build failure: exited 31
- ☒ freebsd-14 2024-08-09 12:32:52Z Build failure: exited 31
- ☒ freebsd-14 2024-08-08 12:31:56Z Build failure: exited 31
- ☑ freebsd-14 2024-08-06 12:30:03Z builder-web.pkg
SHA256:8f08137e61f9b0e36457c57a35d96417cce22126538a798cb0bc91ae78d2d173
(11.2MB) - ☒ freebsd-14 2024-08-01 12:25:33Z Build failure: exited 127
- ☑ freebsd-14 2024-07-20 12:14:04Z builder-web.pkg
SHA256:334a161dfe9a9e284502177f507c8bcc58b78b0417611834db2ff4263852693f
(11.1MB) - ☑ freebsd-14 2024-07-15 12:09:19Z builder-web.pkg
SHA256:33bcc336600b19d5cb294adfc5e94eb4b7a54bd5e7cdfae6bdb0ccd3d88904ff
(11.1MB) - ☑ freebsd-14 2024-07-02 11:57:00Z builder-web.pkg
SHA256:7f2afc5600b95e6b621292ef1f8bd7a3e422bfc5bcd82e96932ecea86cbd7ea6
(10.8MB) - ☑ freebsd-14 2024-06-28 11:53:11Z builder-web.pkg
SHA256:3e9cfee0a0593df672534976d3512b3c42c37f540aa5a08a3a3cb4788750be6a
(10.8MB)
Excluding failed builds here.