tvl-depot/ci-builds.nix
Griffin Smith f980f0f6bd feat(ci-builds): re-add xanthous
This reverts commit 2249be39ed4d869ca602b353372f8d9066f0be28.

Build should pass now that it's all been properly integrated into the
nix tree.

Change-Id: If2bfa642302368ac24d06ff7d853c0eda76811a7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/742
Reviewed-by: lukegb <lukegb@tvl.fyi>
Reviewed-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
Reviewed-by: Kane York <rikingcoding@gmail.com>
Tested-by: BuildkiteCI
2020-07-03 14:41:36 +00:00

104 lines
2.4 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;
# attach a nix expression to a drv so we can “build” it
# TODO(Profpatsch): instead of failing evaluation if a test fails,
# we can put the expression of the test failure into $out
# and continue with the other CI derivations.
drvify = name: exp: depot.nix.emptyDerivation {
inherit name;
owo = lib.generators.toPretty {} exp;
};
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.nixos.camdenSystem
users.tazjin.nixos.frogSystem
];
# Combined list of all the targets, used for building everything locally.
__allTargets =
(with depot.nix.yants; list drv)
(foldl' (x: y: x ++ y) self.__nonpublic
(map (k: getAttr k self) self.__evaluatable));
fun = with depot.fun; [
amsterdump
clbot
gemma
quinistry
tvldb
watchblob
wcl
];
ops = with depot.ops; [
depot.ops."posix_mq.rs"
besadii
journaldriver
kontemplate
mq_cli
nixos.whitby
];
third_party = with depot.third_party; [
cgit
git
nix
openldap
];
various = with depot; [
lisp.dns
nix.buildLisp.example
nix.yants.tests
tools.cheddar
tools.nsfv-setup
web.cgit-taz
web.tvl
(drvify "getBins-tests" nix.getBins.tests)
]
++ nix.runExecline.tests
;
# Haskell packages we've patched locally
haskellPackages = with depot.third_party.haskellPackages; [
generic-arbitrary
hgeometry
hgeometry-combinatorial
vinyl
comonad-extras
];
# User-specific build targets
tazjin = with depot.users.tazjin; [
blog.rendered
emacs
finito
homepage
];
glittershark = with depot.users.glittershark; [
system.system.chupacabra
xanthous
];
})