CHANGES:
A whole slew of changes. Internally, we made a lot of incremental changes and improvements without doing a release. Thus this release is rather big. There is a lot of database migrations to apply, and unfortunately they have to be applied one at a time.
- Add a /failed-builds/ endpoint that lists the most recent failed builds.
- By default don't display failed builds on the front page.
- Times are printed with the 'Z' time zone offset indicator.
- Link to comparisons of builds take into account whether the "input", among others the list of dependencies, is different.
- New subcommand
builder-db extract-build
takes a build UUID and extracts the builder "full" file. - Add /job//build//all.tar.gz endpoint with a gzip compressed tar archive of all build artifacts.
- Visual overhaul.
- Add (optional) visualizations displaying package dependencies ("opam-graph") and for unikernels a "modulectomy" view of how much each OCaml module is contributing to the final binary size. The visualizations are read from a cache on disk and can be generated from a script.
- A script hook is added on file upload. It may be used to generate visualizations or publish system packages to a repository.
- The 404 file not found page tries to be more informative.
- The build page for a unikernel build displays the solo5 device manifest, e.g.
with block devices "storage", and net devices "service"
. - URLs with trailing slash redirect to without the trailing slash.
- Builder-web will try to be more helpful if its database doesn't exist or the database version is wrong.
- The opam diff works for mirage 4 unikernels taking into account the opam-monorepo/duniverse packages.
- Markdown rendering is now done using cmarkit instead of omd.
- Builder-web doesn't display jobs older than 30 days (customizable with
--expired-jobs
command line argument) on the front page. - Build artifacts are stored by their content, and artifacts are automatically deduplicated. This makes builder-web much more space efficient on deployments that don't use deduplication on the filesystem level.
- New subcommands
builder-db vacuum *
to remove older builds. Can be called from a cron job to keep disk usage bounded. - Lots of other improvements and bug fixes.