diff options
author | tv <tv@krebsco.de> | 2018-09-06 23:02:56 +0200 |
---|---|---|
committer | tv <tv@krebsco.de> | 2018-09-06 23:02:56 +0200 |
commit | aa04423e3a313271fca4d951d8717459e7969d60 (patch) | |
tree | 06695502d941bb023e495164fc4630207567c6f2 | |
parent | db5921f163c59673ae0307088cd14bdda836c6d8 (diff) |
irc-announce: whitelist refs instead of branches
-rw-r--r-- | krebs/2configs/repo-sync.nix | 12 | ||||
-rw-r--r-- | krebs/5pkgs/simple/git-hooks/default.nix | 15 | ||||
-rw-r--r-- | lass/2configs/git.nix | 13 | ||||
-rw-r--r-- | lass/2configs/repo-sync.nix | 6 |
4 files changed, 27 insertions, 19 deletions
diff --git a/krebs/2configs/repo-sync.nix b/krebs/2configs/repo-sync.nix index 0f3d3326f..1ae6d6c11 100644 --- a/krebs/2configs/repo-sync.nix +++ b/krebs/2configs/repo-sync.nix @@ -16,14 +16,14 @@ let cgit.section = section; hooks = mkDefault { post-receive = pkgs.git-hooks.irc-announce { - nick = config.networking.hostName; - verbose = false; channel = "#xxx"; - server = "irc.r"; - branches = [ - "master" - "newest" + refs = [ + "refs/heads/master" + "refs/heads/newest" ]; + nick = config.networking.hostName; + server = "irc.r"; + verbose = false; }; }; }; diff --git a/krebs/5pkgs/simple/git-hooks/default.nix b/krebs/5pkgs/simple/git-hooks/default.nix index 1930c7f14..0a2c84410 100644 --- a/krebs/5pkgs/simple/git-hooks/default.nix +++ b/krebs/5pkgs/simple/git-hooks/default.nix @@ -6,11 +6,11 @@ with import <stockholm/lib>; # TODO irc-announce should return a derivation # but it cannot because krebs.git.repos.*.hooks :: attrsOf str irc-announce = - { branches ? [] - , cgit_endpoint ? "http://cgit.${nick}.r" + { cgit_endpoint ? "http://cgit.${nick}.r" , channel , nick , port ? 6667 + , refs ? [] , server , verbose ? false }: /* sh */ '' @@ -57,14 +57,15 @@ with import <stockholm/lib>; receive_mode=non-fast-forward fi - h=$(echo $ref | sed 's:^refs/heads/::') - - ${optionalString (branches != []) '' - if ! (echo "$h" | grep -qE "${concatStringsSep "|" branches}"); then - echo "we are not serving this branch: $h" + ${optionalString (refs != []) '' + if ! { echo "$ref" | grep -qE "${concatStringsSep "|" refs}"; }; then + echo "we are not announcing this ref: $h" exit 0 fi ''} + + h=$(echo $ref | sed 's:^refs/heads/::') + # empty_tree=$(git hash-object -t tree /dev/null) empty_tree=4b825dc6 diff --git a/lass/2configs/git.nix b/lass/2configs/git.nix index 829e62269..011c6022c 100644 --- a/lass/2configs/git.nix +++ b/lass/2configs/git.nix @@ -100,10 +100,12 @@ let # TODO make nick = config.krebs.build.host.name the default nick = config.krebs.build.host.name; channel = "#xxx"; + # TODO define refs in some kind of option per repo + refs = [ + "refs/heads/master" + ]; server = "irc.r"; verbose = config.krebs.build.host.name == "prism"; - # TODO define branches in some kind of option per repo - branches = [ "master" ]; }; }; }; @@ -121,10 +123,13 @@ let # TODO make nick = config.krebs.build.host.name the default nick = config.krebs.build.host.name; channel = "#xxx"; + # TODO define refs in some kind of option per repo + refs = [ + "refs/heads/master" + "refs/heads/staging*" + ]; server = "irc.r"; verbose = false; - # TODO define branches in some kind of option per repo - branches = [ "master" "staging*" ]; }; } // hooks; }; diff --git a/lass/2configs/repo-sync.nix b/lass/2configs/repo-sync.nix index 6a07172fe..8b7d0db71 100644 --- a/lass/2configs/repo-sync.nix +++ b/lass/2configs/repo-sync.nix @@ -14,10 +14,12 @@ let hooks = mkIf announce (mkDefault { post-receive = pkgs.git-hooks.irc-announce { nick = config.networking.hostName; - verbose = false; channel = "#xxx"; + refs = [ + "refs/heads/newest" + ]; server = "irc.r"; - branches = [ "newest" ]; + verbose = false; }; }); }; |