2b4e18f3d4
The idea behind that is to enable users and developers of downstream tools such as home-manager to test Nix master for several reasons: * Nix is currently trying to have a `master` branch that's always releasable[1]. We're still on Nix 2.18 in nixpkgs due to too many notable regressions. Enabling people to test latest master may help on that end. * This uses the most bleeding-edge Nix, but our packaging, so we can identify issues with our packaging early. * From what I've seen, most people are using the packages from nixpkgs anyways instead of the upstream flake, this is far more convenient anyways. My plan is to update this once a week. Right now we rely on the `installCheckPhase` here, but as soon as we have proper regression testing[2], we may want to add `nixUnstable` there as well (however with failures being allowed probably). [1] https://discourse.nixos.org/t/nix-release-schedule-and-roadmap/14204 [2] https://github.com/NixOS/nixpkgs/pull/304332
30 lines
945 B
Nix
30 lines
945 B
Nix
{ # The pkgs used for dependencies for the testing itself
|
|
# Don't test properties of pkgs.lib, but rather the lib in the parent directory
|
|
pkgs ? import ../.. {} // { lib = throw "pkgs.lib accessed, but the lib tests should use nixpkgs' lib path directly!"; },
|
|
nix ? pkgs-nixVersions.stable,
|
|
nixVersions ? [ pkgs-nixVersions.minimum nix pkgs-nixVersions.latest ],
|
|
pkgs-nixVersions ? import ./nix-for-tests.nix { inherit pkgs; },
|
|
}:
|
|
|
|
let
|
|
lib = import ../.;
|
|
testWithNix = nix:
|
|
import ./test-with-nix.nix { inherit lib nix pkgs; };
|
|
|
|
in
|
|
pkgs.symlinkJoin {
|
|
name = "nixpkgs-lib-tests";
|
|
paths = map testWithNix nixVersions ++
|
|
|
|
#
|
|
# TEMPORARY MIGRATION MECHANISM
|
|
#
|
|
# This comment and the expression which follows it should be
|
|
# removed as part of resolving this issue:
|
|
#
|
|
# https://github.com/NixOS/nixpkgs/issues/272591
|
|
#
|
|
[(import ../../pkgs/test/release {})]
|
|
;
|
|
|
|
}
|