forked from lix-project/lix
releng: add releaseTests flake output, test script
this is supposed to be a set of outputs we want to always succeed for
releases. sadly we can't add nixos installer tests using lix to these
because the nixos test framework does not allow overriding nix in the
installer test suites due to unfortunate oversights in the framework.
Change-Id: I815520181ccca70a47205d38ba27e73529347f04
This commit is contained in:
parent
4d8c66ec6f
commit
f5aa5b6815
2 changed files with 55 additions and 0 deletions
19
flake.nix
19
flake.nix
|
@ -329,6 +329,25 @@
|
|||
pkgs = nixpkgsFor.x86_64-linux.native;
|
||||
};
|
||||
|
||||
releaseTests = lib.foldl lib.recursiveUpdate { } [
|
||||
(lib.genAttrs (linux64BitSystems ++ darwinSystems) (system: {
|
||||
nativeBuild = self.packages.${system}.nix;
|
||||
}))
|
||||
(lib.genAttrs (linux64BitSystems) (system: {
|
||||
staticBuild = self.packages.${system}.nix-static;
|
||||
}))
|
||||
{
|
||||
x86_64-linux = {
|
||||
# TODO add more cross/static release targets?
|
||||
crossBuild.aarch64-linux = self.packages.x86_64-linux.nix-aarch64-linux;
|
||||
|
||||
# TODO wire up a nixos installer test with that lix and
|
||||
# run it, once nixpkgs can actually do that (again). :/
|
||||
# # nix build .#nixosTests.installer.{btrfsSimple,luksroot,lvm,simple,switchToFlake}
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
# NOTE *do not* add fresh derivations to checks, always add them to
|
||||
# hydraJobs first (so CI will pick them up) and only link them here
|
||||
checks = forAvailableSystems (
|
||||
|
|
36
releng/release-tests.sh
Executable file
36
releng/release-tests.sh
Executable file
|
@ -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
|
Loading…
Reference in a new issue