|
|
|
|
@@ -6,6 +6,9 @@ with final.lib;
|
|
|
|
|
let
|
|
|
|
|
callPackage = final.callPackage;
|
|
|
|
|
|
|
|
|
|
mkDeps = name: pkgs: final.runCommand name { }
|
|
|
|
|
"printf '%s\n' ${toString (collect (x: x ? outPath) pkgs)} > $out";
|
|
|
|
|
|
|
|
|
|
bscPkgs = {
|
|
|
|
|
bench6 = callPackage ./pkgs/bench6/default.nix { };
|
|
|
|
|
bigotes = callPackage ./pkgs/bigotes/default.nix { };
|
|
|
|
|
@@ -46,38 +49,6 @@ let
|
|
|
|
|
wxparaver = callPackage ./pkgs/paraver/default.nix { };
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
tests = rec {
|
|
|
|
|
#hwloc = callPackage ./test/bugs/hwloc.nix { }; # Broken, no /sys
|
|
|
|
|
#sigsegv = callPackage ./test/reproducers/sigsegv.nix { };
|
|
|
|
|
hello-c = callPackage ./test/compilers/hello-c.nix { };
|
|
|
|
|
hello-cpp = callPackage ./test/compilers/hello-cpp.nix { };
|
|
|
|
|
lto = callPackage ./test/compilers/lto.nix { };
|
|
|
|
|
asan = callPackage ./test/compilers/asan.nix { };
|
|
|
|
|
intel2023-icx-c = hello-c.override { stdenv = final.intelPackages_2023.stdenv; };
|
|
|
|
|
intel2023-icc-c = hello-c.override { stdenv = final.intelPackages_2023.stdenv-icc; };
|
|
|
|
|
intel2023-icx-cpp = hello-cpp.override { stdenv = final.intelPackages_2023.stdenv; };
|
|
|
|
|
intel2023-icc-cpp = hello-cpp.override { stdenv = final.intelPackages_2023.stdenv-icc; };
|
|
|
|
|
intel2023-ifort = callPackage ./test/compilers/hello-f.nix {
|
|
|
|
|
stdenv = final.intelPackages_2023.stdenv-ifort;
|
|
|
|
|
};
|
|
|
|
|
clangOmpss2-lto = lto.override { stdenv = final.stdenvClangOmpss2Nanos6; };
|
|
|
|
|
clangOmpss2-asan = asan.override { stdenv = final.stdenvClangOmpss2Nanos6; };
|
|
|
|
|
clangOmpss2-task = callPackage ./test/compilers/ompss2.nix {
|
|
|
|
|
stdenv = final.stdenvClangOmpss2Nanos6;
|
|
|
|
|
};
|
|
|
|
|
clangNodes-task = callPackage ./test/compilers/ompss2.nix {
|
|
|
|
|
stdenv = final.stdenvClangOmpss2Nodes;
|
|
|
|
|
};
|
|
|
|
|
clangNosvOpenmp-task = callPackage ./test/compilers/clang-openmp.nix {
|
|
|
|
|
stdenv = final.stdenvClangOmpss2Nodes;
|
|
|
|
|
};
|
|
|
|
|
clangNosvOmpv-nosv = callPackage ./test/compilers/clang-openmp-nosv.nix {
|
|
|
|
|
stdenv = final.stdenvClangOmpss2NodesOmpv;
|
|
|
|
|
};
|
|
|
|
|
clangNosvOmpv-ld = callPackage ./test/compilers/clang-openmp-ld.nix {
|
|
|
|
|
stdenv = final.stdenvClangOmpss2NodesOmpv;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
pkgs = filterAttrs (_: isDerivation) bscPkgs;
|
|
|
|
|
|
|
|
|
|
@@ -86,24 +57,18 @@ let
|
|
|
|
|
final.pkgsCross.${target}.bsc-ci.pkgs
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
buildList = name: paths:
|
|
|
|
|
final.runCommandLocal name { } ''
|
|
|
|
|
printf '%s\n' ${toString paths} | tee $out
|
|
|
|
|
'';
|
|
|
|
|
buildList = name: paths: final.runCommand name ''
|
|
|
|
|
deps=${toString paths}
|
|
|
|
|
cat $deps
|
|
|
|
|
printf '%s\n' $deps > $out
|
|
|
|
|
'';
|
|
|
|
|
|
|
|
|
|
buildList' = name: paths:
|
|
|
|
|
final.runCommandLocal name { } ''
|
|
|
|
|
deps="${toString paths}"
|
|
|
|
|
cat $deps
|
|
|
|
|
printf '%s\n' $deps >$out
|
|
|
|
|
'';
|
|
|
|
|
|
|
|
|
|
crossList = builtins.mapAttrs (t: v: buildList t (builtins.attrValues v)) cross;
|
|
|
|
|
crossList = builtins.mapAttrs (t: v: buildList t (builtins.attrValues v)) final.bsc-ci.cross;
|
|
|
|
|
|
|
|
|
|
pkgsList = buildList "ci-pkgs" (builtins.attrValues pkgs);
|
|
|
|
|
testList = buildList "ci-tests" (collect isDerivation tests);
|
|
|
|
|
tests = buildList "ci-tests" (collect isDerivation final.bsc-ci.test);
|
|
|
|
|
|
|
|
|
|
all = buildList' "ci-all" [ pkgsList testList ];
|
|
|
|
|
all = buildList "ci-all" [tests pkgsList];
|
|
|
|
|
|
|
|
|
|
in bscPkgs // {
|
|
|
|
|
# Prevent accidental usage of bsc attribute
|
|
|
|
|
@@ -111,8 +76,41 @@ in bscPkgs // {
|
|
|
|
|
|
|
|
|
|
# Internal for our CI tests
|
|
|
|
|
bsc-ci = {
|
|
|
|
|
test = rec {
|
|
|
|
|
#hwloc = callPackage ./test/bugs/hwloc.nix { }; # Broken, no /sys
|
|
|
|
|
#sigsegv = callPackage ./test/reproducers/sigsegv.nix { };
|
|
|
|
|
hello-c = callPackage ./test/compilers/hello-c.nix { };
|
|
|
|
|
hello-cpp = callPackage ./test/compilers/hello-cpp.nix { };
|
|
|
|
|
lto = callPackage ./test/compilers/lto.nix { };
|
|
|
|
|
asan = callPackage ./test/compilers/asan.nix { };
|
|
|
|
|
intel2023-icx-c = hello-c.override { stdenv = final.intelPackages_2023.stdenv; };
|
|
|
|
|
intel2023-icc-c = hello-c.override { stdenv = final.intelPackages_2023.stdenv-icc; };
|
|
|
|
|
intel2023-icx-cpp = hello-cpp.override { stdenv = final.intelPackages_2023.stdenv; };
|
|
|
|
|
intel2023-icc-cpp = hello-cpp.override { stdenv = final.intelPackages_2023.stdenv-icc; };
|
|
|
|
|
intel2023-ifort = callPackage ./test/compilers/hello-f.nix {
|
|
|
|
|
stdenv = final.intelPackages_2023.stdenv-ifort;
|
|
|
|
|
};
|
|
|
|
|
clangOmpss2-lto = lto.override { stdenv = final.stdenvClangOmpss2Nanos6; };
|
|
|
|
|
clangOmpss2-asan = asan.override { stdenv = final.stdenvClangOmpss2Nanos6; };
|
|
|
|
|
clangOmpss2-task = callPackage ./test/compilers/ompss2.nix {
|
|
|
|
|
stdenv = final.stdenvClangOmpss2Nanos6;
|
|
|
|
|
};
|
|
|
|
|
clangNodes-task = callPackage ./test/compilers/ompss2.nix {
|
|
|
|
|
stdenv = final.stdenvClangOmpss2Nodes;
|
|
|
|
|
};
|
|
|
|
|
clangNosvOpenmp-task = callPackage ./test/compilers/clang-openmp.nix {
|
|
|
|
|
stdenv = final.stdenvClangOmpss2Nodes;
|
|
|
|
|
};
|
|
|
|
|
clangNosvOmpv-nosv = callPackage ./test/compilers/clang-openmp-nosv.nix {
|
|
|
|
|
stdenv = final.stdenvClangOmpss2NodesOmpv;
|
|
|
|
|
};
|
|
|
|
|
clangNosvOmpv-ld = callPackage ./test/compilers/clang-openmp-ld.nix {
|
|
|
|
|
stdenv = final.stdenvClangOmpss2NodesOmpv;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
inherit tests;
|
|
|
|
|
inherit pkgs pkgsList;
|
|
|
|
|
inherit tests testList;
|
|
|
|
|
inherit cross crossList;
|
|
|
|
|
inherit all;
|
|
|
|
|
};
|
|
|
|
|
|