package builder-web
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=aaf4964cb2f82bfd260cf501e5dd16629193c8f761b9bc7556bdf1e904dbfa19
sha512=f5dadeccead601f0b230d8bdd4ddde842ce4e353dcf38eb317e33d4a8ee9adda9aaae642277c75b460331ace8075bdc41ce0130ab045c97410a5f40aa3ea384c
Description
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.
Published: 13 Nov 2021
README
Builder-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.
Dependencies (31)
- omd
-
fmt
>= "0.8.7"
- uri
-
cmdliner
< "1.1.0"
- logs
-
asn1-combinators
< "0.3.0"
-
mirage-crypto
< "1.0.0"
- duration
- ptime
-
tyxml
>= "4.3.0"
- ipaddr
-
metrics-rusage
>= "0.3.0"
-
metrics-influx
>= "0.3.0"
-
metrics-lwt
>= "0.3.0"
-
metrics
>= "0.3.0"
-
opam-format
>= "2.1.0"
- opam-core
- scrypt-kdf
-
mirage-crypto-rng
< "1.0.0"
- pbkdf
-
caqti-driver-sqlite3
< "1.7.0"
-
caqti-lwt
< "1.7.0"
-
caqti
< "1.7.0"
-
lwt
>= "5.3.0"
- hex
- bos
-
cstruct
>= "6.0.0"
-
dream
>= "1.0.0~alpha2" & < "1.0.0~alpha3"
-
builder
>= "0.2.0"
-
dune
>= "2.7.0"
-
ocaml
>= "4.10.0"
Dev Dependencies (1)
-
alcotest
with-test
Used by
None
Conflicts
None