refactor(ci-builds): Split up CI builds into multiple buckets

These categories separate CI targets, which hopefully avoids the
out-of-space errors we have been seeing on Sourcehut.

The sets of CI build targets are made available in the depot itself so
that besadii can be updated to create a new build for each target
group.

For convenience, 'ciBuilds' contains an '__allTargets' attribute which
combines the contents of each target batch - this makes it possible to
still invoke a build for everything by using:

  nix-build -A ciBuilds.__allTargets

Note: Some targets that were previously built in CI aren't anymore,
most importantly my NixOS systems which don't fit on Sourcehut.

Change-Id: Ia15ed7b743c8add51ae08ce0827a0ddfacd637e2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/570
Reviewed-by: lukegb <lukegb@tvl.fyi>
This commit is contained in:
Vincent Ambo 2020-06-24 03:08:53 +01:00 committed by tazjin
parent f2980dfc16
commit 1640d9d145
2 changed files with 73 additions and 32 deletions

View file

@ -18,6 +18,9 @@ let
config = depot: {
inherit depot;
# Expose lib & ciBuilds attributes to packages.
inherit (depot) ciBuilds lib;
# Pass third_party as 'pkgs' (for compatibility with external
# imports for certain subdirectories)
pkgs = depot.third_party;
@ -59,10 +62,13 @@ in fix(self: {
# Make the path to the depot available for things that might need it
# (e.g. NixOS module inclusions)
depotPath = ./.;
# Load CI builds in a way that can be injected into programs like besadii.
ciBuilds = import ./ci-builds.nix self.config;
}
# Add local packages as structured by readTree
// (localPkgs (readTree' (self.config // { inherit (self) lib; })))
// (localPkgs (readTree' self.config))
# Load overrides into the top-level.
#