This repo uses Github Actions to run create reproducible Guix builds for an Elements release.
- alpine-guix docker image. This repo is currently hardcoded to use the image pushed to
ghcr.io/delta1/alpine-guix - a "Repository secret" in settings/secrets/actions named
READ_TOKENwith the value of a github token with the permission toread:packagesfor the alpine-guix docker image
- Go to Actions > Guix Build
- Click "Run Workflow" button
- Complete the required inputs
- ???
- Profit!
To reduce download/build time across runs, the workflow caches (via actions/cache):
- depends sources (
SOURCES_PATH), keyed ondepends/packages/*.mk, shared across all hosts - depends build cache (
BASE_CACHE), keyed per-host ondepends/packages/*.mk - the guix store/database (
/gnu/store,/var/guix), but only for thex86_64-linux-gnuleg, since this closure is identical across hosts and caching it per-host would exceed GitHub's 10GiB per-repo cache limit
These are bind-mounted into the build container by buildelements.sh (see SOURCES_DIR,
BASE_CACHE_DIR, GUIX_STORE_DIR, GUIX_VAR_DIR, CACHE_GUIX_STORE env vars).