diff options
| author | Alejandro Soto <alejandro@34project.org> | 2024-08-07 19:01:27 -0600 |
|---|---|---|
| committer | Alejandro Soto <alejandro@34project.org> | 2024-08-07 19:03:18 -0600 |
| commit | da84be8c451308bbad0a70592bdcb0abd975f060 (patch) | |
| tree | 1bc520803112252bae53b5de802c7cee7b62c92a /hooks | |
| parent | bcf936e19f78fc69572f0b748e83783899a55467 (diff) | |
sys/ns: implement automatic zone serial updates with a pre-commit hook
Diffstat (limited to '')
| -rw-r--r-- | hooks/README | 2 | ||||
| -rwxr-xr-x | hooks/lib/update-zone-serials | 8 | ||||
| -rwxr-xr-x | hooks/pre-commit | 8 |
3 files changed, 18 insertions, 0 deletions
diff --git a/hooks/README b/hooks/README new file mode 100644 index 0000000..176dc1c --- /dev/null +++ b/hooks/README @@ -0,0 +1,2 @@ +$ git config core.hooksPath hooks +$ man githooks diff --git a/hooks/lib/update-zone-serials b/hooks/lib/update-zone-serials new file mode 100755 index 0000000..272d5f6 --- /dev/null +++ b/hooks/lib/update-zone-serials @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +set -e +set -o pipefail + +nix eval --json '.#nixosConfigurations.gate.config.lib.local.zoneSerialUpdates' \ + | nix run '.#increment-zone-serials' -- sys/ns/zones \ + | while read file; do nix fmt -- "$file"; git add -v -- "$file"; done diff --git a/hooks/pre-commit b/hooks/pre-commit new file mode 100755 index 0000000..93e9b9a --- /dev/null +++ b/hooks/pre-commit @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +set -e +exec >&2 + +if git diff-index --cached HEAD -- | grep -q $'\tsys/ns/'; then + exec hooks/lib/update-zone-serials +fi |
