1640d9d145
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>
70 lines
1.6 KiB
Nix
70 lines
1.6 KiB
Nix
# This file defines the derivations that should be built by CI.
|
|
#
|
|
# The "categories" (i.e. attributes) below exist because we run out of
|
|
# space on Sourcehut otherwise.
|
|
{ depot, lib, ... }:
|
|
|
|
let
|
|
inherit (builtins) attrNames filter foldl' getAttr substring;
|
|
|
|
in lib.fix(self: {
|
|
__apprehendEvaluators = throw ''
|
|
Do not evaluate this attribute set directly. It exists only to group builds
|
|
for CI runs of different "project groups".
|
|
|
|
To use the depot, always start from the top-level attribute tree instead.
|
|
'';
|
|
|
|
# Names of all evaluatable attributes in here. This list will be
|
|
# used to trigger builds for each key.
|
|
__evaluatable = filter (key: (substring 0 2 key) != "__") (attrNames self);
|
|
|
|
# List of non-public targets, these are only used in local builds
|
|
# and not in CI.
|
|
__nonpublic = with depot; [
|
|
users.tazjin.emacs
|
|
users.tazjin.nixos.camdenSystem
|
|
users.tazjin.nixos.frogSystem
|
|
];
|
|
|
|
# Combined list of all the targets, used for building everything locally.
|
|
__allTargets = foldl' (x: y: x ++ y) self.__nonpublic
|
|
(map (k: getAttr k self) self.__evaluatable);
|
|
|
|
fun = with depot.fun; [
|
|
amsterdump
|
|
gemma
|
|
quinistry
|
|
watchblob
|
|
wcl
|
|
];
|
|
|
|
gitAndFriends = with depot; [
|
|
third_party.cgit
|
|
third_party.git
|
|
web.cgit-taz
|
|
];
|
|
|
|
nix = [ depot.third_party.nix ];
|
|
|
|
ops = with depot.ops; [
|
|
depot.ops."posix_mq.rs"
|
|
besadii
|
|
journaldriver
|
|
kms_pass
|
|
kontemplate
|
|
mq_cli
|
|
];
|
|
|
|
various = with depot; [
|
|
tools.cheddar
|
|
lisp.dns
|
|
nix.buildLisp.example
|
|
nix.yants.tests
|
|
];
|
|
|
|
web = with depot.web; [
|
|
blog
|
|
tvl
|
|
];
|
|
})
|