refactor: Move CI setup to separate Nix file

Instead of polluting the repository namespace with the list of CI
projects, move that to a separate file.

Currently the list of projects to be built by CI is still hardcoded,
but this will be fixed soon.
This commit is contained in:
Vincent Ambo 2019-12-09 10:58:09 +00:00
parent a1ac598fa0
commit e9431682b2
4 changed files with 21 additions and 26 deletions

View file

@ -12,15 +12,6 @@ let
# package set is not available here.
fix = f: let x = f x; in x;
# Derivations that have `meta.enableCI` set to `true` should be
# built by the CI system on every commit. This code implements
# filtering of all derivations in the local sets against this
# condition.
filterCI = lib: pkgs: let
inherit (lib) collect isDerivation filterAttrsRecursive;
ciCondition = _: x: (!isDerivation x) || ((x ? meta.enableCI) && (x.meta.enableCI));
in collect isDerivation (filterAttrsRecursive ciCondition pkgs);
# Global configuration that all packages are called with.
config = pkgs: {
inherit pkgs;
@ -45,19 +36,6 @@ in fix(self: {
# Elevate 'lib' from nixpkgs
lib = import (self.third_party.nixpkgsSrc + "/lib");
# Collect all projects that should be built by CI
# ciProjects = (filterCI self.lib self.services)
# ++ (filterCI super.lib self.tools)
# ++ (filterCI super.lib self.third_party);
# TODO(tazjin): re-enable automatic filtering for this, requires
# read-tree fixes
ciProjects = with self; [
services.tazblog
services.nixcon-demo
tools.kms_pass
tools.blog_cli
];
}
# Add local packages as structured by readTree