aboutsummaryrefslogtreecommitdiff
path: root/releng
diff options
context:
space:
mode:
Diffstat (limited to 'releng')
-rwxr-xr-xreleng/release-tests.sh36
1 files changed, 36 insertions, 0 deletions
diff --git a/releng/release-tests.sh b/releng/release-tests.sh
new file mode 100755
index 000000000..c0a9b2e33
--- /dev/null
+++ b/releng/release-tests.sh
@@ -0,0 +1,36 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+shopt -s inherit_errexit failglob
+
+nixpkgss=(
+ "$(nix eval --impure --raw --expr '(import ./flake.nix).inputs.nixpkgs.url')"
+ "github:NixOS/nixpkgs/nixos-unstable-small"
+)
+jobs=(
+ $(nix eval \
+ --json --apply '
+ let f = n: t:
+ if builtins.isAttrs t
+ then (if t.type or "" == "derivation"
+ then [ n ]
+ else builtins.concatMap (m: f "${n}.${m}" t.${m}) (builtins.attrNames t))
+ else [];
+ in f ".#.releaseTests"
+ ' \
+ '.#.releaseTests' \
+ | jq -r '.[]'
+ )
+)
+
+for override in "${nixpkgss}"
+do
+ (
+ set -x
+ nix build \
+ --log-format multiline \
+ --no-link \
+ --override-input nixpkgs "$override" \
+ "${jobs[@]}"
+ )
+done