Merge changes I81552018,Ieb65c133 into main
* changes: releng: add releaseTests flake output, test script add aarch64-linux as a cross-build target
This commit is contained in:
commit
f0c751d4d6
3 changed files with 57 additions and 0 deletions
|
@ -175,6 +175,7 @@ These are specified in `crossSystems` in `flake.nix`; feel free to submit change
|
|||
|
||||
- `armv6l-linux`
|
||||
- `armv7l-linux`
|
||||
- `aarch64-linux`
|
||||
- `riscv64-linux`
|
||||
|
||||
For example, to cross-compile Lix for `armv6l-linux` from another Linux, use the following:
|
||||
|
|
20
flake.nix
20
flake.nix
|
@ -90,6 +90,7 @@
|
|||
"armv6l-linux"
|
||||
"armv7l-linux"
|
||||
"riscv64-linux"
|
||||
"aarch64-linux"
|
||||
# FIXME: still broken in 24.05: fails to build rustc(??) due to missing -lstdc++ dep
|
||||
# "x86_64-freebsd"
|
||||
# FIXME: broken dev shell due to python
|
||||
|
@ -328,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