Prepare for initial public release

This commit is contained in:
Robur 2021-11-12 13:42:26 +00:00
parent b43c6f4d79
commit fb9391fe61
4 changed files with 25 additions and 6 deletions

3
CHANGES.md Normal file
View file

@ -0,0 +1,3 @@
# v0.1.0 (2021-11-12)
* Initial public release

View file

@ -1,7 +1,8 @@
# Builder-web - a web frontend for reproducible builds # Builder-web - a web frontend for reproducible builds
Builder-web takes in submissions of builds, typically from [builder](https://github.com/roburio/builder/), and displays the produced artifacts in a way that makes it easy to compare checksums and build status. Builder-web takes in submissions of builds, typically from [builder](https://github.com/roburio/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 run by users. Produced binaries can be downloaded and executed.
[builds.robur.coop](https://builds.robur.coop/) itself runs builder-web.
## Overview ## Overview
@ -12,9 +13,14 @@ Users can:
* Get an overview of *jobs* - a job is typically script or opam package that is run and builds an artifact, * 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 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. * Browse individual *build* and download artifacts and build information for reproducing the same binary.
Each build has a single binary as output - which checksum is recorded and can be searched for. The build information (opam acpackges, environment variables, host system packages) can be compared, and they may differ even if the checksum of the binary is identical. * 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.
The build artifacts are stored on the filesystem, its metadata is stored in the database. ## Installation
Installing from source can be done with opam: `opam install builder-web`.
We also provide [reproducible binary packages](https://builds.robur.coop/job/builder-web/).
## Setup ## Setup
@ -22,11 +28,14 @@ Builder-web consists of a binary `builder-web` that runs a web server on port 30
These values can be changed with the `--port` and `--host` flags respectively. These values can be changed with the `--port` and `--host` flags respectively.
See `builder-web --help` for more information. 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. The web server expects a sqlite3 database in its data directory.
An empty database can be created with `builder-db migrate`.
## Database migrations ## Database migrations
The sqlite3 database builder-web uses contains versioning information. 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. 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`. The tool for database migrations is `builder-migrations`.
See the `--help` output for each migration for further details. See the `builder-migrations --help` output for each migration for further details.

View file

@ -15,7 +15,9 @@ build: [
] ]
depends: [ depends: [
"builder" "ocaml" {>= "4.10.0"}
"dune" {>= "2.7.0"}
"builder" {>= "0.2.0"}
"dream" {>= "1.0.0~alpha2"} "dream" {>= "1.0.0~alpha2"}
"cstruct" {>= "6.0.0"} "cstruct" {>= "6.0.0"}
"bos" "bos"
@ -47,3 +49,8 @@ depends: [
] ]
synopsis: "Web interface for builder" synopsis: "Web interface for builder"
description: """
Builder-web takes in submissions of builds, typically from [builder](https://github.com/roburio/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](https://builds.robur.coop/) itself runs builder-web.
"""

View file

@ -1,5 +1,5 @@
Package: builder-web Package: builder-web
Version: 0.0.1-%%VERSION_NUM%% Version: %%VERSION_NUM%%
Section: unknown Section: unknown
Priority: optional Priority: optional
Maintainer: Robur Team <team@robur.coop> Maintainer: Robur Team <team@robur.coop>