From 533eb9866c6dfe56637f2f8c76fcca3c7b47f72f Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Tue, 11 Jan 2022 11:31:58 +0100 Subject: release.nix: fix eval with aarch64-, but not x86_64-darwin supported We emit a few jobs conditionally on supportDarwin which only checked for x86_64-darwin in the past. This change makes it more modular by transforming it into an attribute set which holds the two darwin arches. Jobs needing aarch64-darwin or x86_64-darwin are now only emitted if their respective platform is actually in supportedSystems. This issue was discovered because the staging-next-21.11 jobset had commented out x86_64-darwin (presumably due to a build load issue). --- pkgs/top-level/release.nix | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'pkgs/top-level/release.nix') diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index 13526349dfc..0f3b04a58c2 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -25,7 +25,10 @@ let systemsWithAnySupport = supportedSystems ++ limitedSupportedSystems; - supportDarwin = builtins.elem "x86_64-darwin" systemsWithAnySupport; + supportDarwin = lib.genAttrs [ + "x86_64" + "aarch64" + ] (arch: builtins.elem "${arch}-darwin" systemsWithAnySupport); jobs = { tarball = import ./make-tarball.nix { inherit pkgs nixpkgs officialRelease supportedSystems; }; @@ -36,7 +39,7 @@ let lib-tests = import ../../lib/tests/release.nix { inherit pkgs; }; pkgs-lib-tests = import ../pkgs-lib/tests { inherit pkgs; }; - darwin-tested = if supportDarwin then pkgs.releaseTools.aggregate + darwin-tested = if supportDarwin.x86_64 then pkgs.releaseTools.aggregate { name = "nixpkgs-darwin-${jobs.tarball.version}"; meta.description = "Release-critical builds for the Nixpkgs darwin channel"; constituents = @@ -130,7 +133,7 @@ let */ ] ++ lib.collect lib.isDerivation jobs.stdenvBootstrapTools - ++ lib.optionals supportDarwin [ + ++ lib.optionals supportDarwin.x86_64 [ jobs.stdenv.x86_64-darwin jobs.cargo.x86_64-darwin jobs.go.x86_64-darwin @@ -171,7 +174,7 @@ let dist test; }) # darwin is special in this - // optionalAttrs supportDarwin { + // optionalAttrs supportDarwin.x86_64 { x86_64-darwin = let bootstrap = import ../stdenv/darwin/make-bootstrap-tools.nix { system = "x86_64-darwin"; }; @@ -181,7 +184,7 @@ let # Test a full stdenv bootstrap from the bootstrap tools definition inherit (bootstrap.test-pkgs) stdenv; }; - + } // optionalAttrs supportDarwin.aarch64 { # Cross compiled bootstrap tools aarch64-darwin = let -- cgit 1.4.1