hswaw/laserproxy: limit nix rebuilds

Change-Id: I6d8208b46524adf6542a1164910f3b7818f47910
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1168
Reviewed-by: q3k <q3k@hackerspace.pl>
This commit is contained in:
informatic 2021-10-16 23:07:29 +02:00 committed by informatic
parent 9a89343985
commit 20c6bcb730

View file

@ -1,4 +1,4 @@
{ hscloud, pkgs, ... }:
{ hscloud, lib, pkgs, ... }:
# This supports building laserproxy in nix, which is used for deploying it to customs.
# This is mildly hacky and should be reworked to function for any hscloud bazel target
@ -9,7 +9,32 @@
pkgs.buildBazelPackage rec {
name = "laserproxy";
src = hscloud.root;
# Cleanup source tree to limit impact of unrelated changes to hscloud source
# tree on nix build cache. This should only pass over:
# //BUILD, //WORKSPACE, //.bazelrc
# //hscloud/go/**
# //hscloud/third_party/**
# //hscloud/devtools/gerrit/** (WORKSPACE reference)
# //hswaw/laserproxy/** (our build target)
src = lib.cleanSourceWith {
filter = name: type: (
lib.strings.hasInfix "/go" name ||
lib.strings.hasInfix "/third_party" name ||
lib.strings.hasSuffix "/devtools" name ||
lib.strings.hasInfix "/devtools/gerrit" name ||
lib.strings.hasSuffix "/hswaw" name ||
lib.strings.hasInfix "/hswaw/laserproxy" name ||
lib.strings.hasSuffix "/BUILD" name ||
lib.strings.hasSuffix "/WORKSPACE" name ||
lib.strings.hasSuffix "/.bazelrc" name
);
src = hscloud.root;
};
bazelTarget = "//hswaw/laserproxy";
nativeBuildInputs = with pkgs; [
git python3 postgresql go