Compare commits
12 Commits
master
...
bed3d8ce31
| Author | SHA1 | Date | |
|---|---|---|---|
|
bed3d8ce31
|
|||
|
94068997d9
|
|||
|
ffcb91bd8d
|
|||
|
ce3ae340fc
|
|||
|
163a409c80
|
|||
|
22921b9823
|
|||
|
7431fd6057
|
|||
|
b63528025d
|
|||
|
ae5345ea62
|
|||
|
29b3129517
|
|||
|
1138e46b73
|
|||
|
cf7948e3c9
|
@@ -1,15 +0,0 @@
|
|||||||
name: CI
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:all:
|
|
||||||
runs-on: native
|
|
||||||
steps:
|
|
||||||
- uses: https://gitea.com/ScMi1/checkout@v1.4
|
|
||||||
- run: nix build -L --no-link --print-out-paths .#bsc-ci.all
|
|
||||||
18
flake.nix
18
flake.nix
@@ -2,23 +2,17 @@
|
|||||||
inputs.nixpkgs.url = "nixpkgs";
|
inputs.nixpkgs.url = "nixpkgs";
|
||||||
|
|
||||||
outputs = { self, nixpkgs, ...}:
|
outputs = { self, nixpkgs, ...}:
|
||||||
let
|
let
|
||||||
|
pkgs = import nixpkgs {
|
||||||
# For now we only support x86
|
# For now we only support x86
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
pkgs = import nixpkgs {
|
overlays = [ self.overlays.default ];
|
||||||
inherit system;
|
};
|
||||||
overlays = [ self.overlays.default ];
|
in
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
bscOverlay = import ./overlay.nix;
|
bscOverlay = import ./overlay.nix;
|
||||||
overlays.default = self.bscOverlay;
|
overlays.default = self.bscOverlay;
|
||||||
# full nixpkgs with our overlay applied
|
legacyPackages.x86_64-linux = pkgs;
|
||||||
legacyPackages.${system} = pkgs;
|
|
||||||
|
|
||||||
hydraJobs = {
|
|
||||||
inherit (self.legacyPackages.${system}.bsc-ci) tests pkgs cross;
|
|
||||||
};
|
|
||||||
|
|
||||||
# propagate nixpkgs lib, so we can do bscpkgs.lib
|
# propagate nixpkgs lib, so we can do bscpkgs.lib
|
||||||
inherit (nixpkgs) lib;
|
inherit (nixpkgs) lib;
|
||||||
|
|||||||
111
overlay.nix
111
overlay.nix
@@ -6,6 +6,9 @@ with final.lib;
|
|||||||
let
|
let
|
||||||
callPackage = final.callPackage;
|
callPackage = final.callPackage;
|
||||||
|
|
||||||
|
mkDeps = name: pkgs: final.runCommand name { }
|
||||||
|
"printf '%s\n' ${toString (collect (x: x ? outPath) pkgs)} > $out";
|
||||||
|
|
||||||
bscPkgs = {
|
bscPkgs = {
|
||||||
bench6 = callPackage ./pkgs/bench6/default.nix { };
|
bench6 = callPackage ./pkgs/bench6/default.nix { };
|
||||||
bigotes = callPackage ./pkgs/bigotes/default.nix { };
|
bigotes = callPackage ./pkgs/bigotes/default.nix { };
|
||||||
@@ -46,74 +49,56 @@ let
|
|||||||
wxparaver = callPackage ./pkgs/paraver/default.nix { };
|
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;
|
|
||||||
|
|
||||||
crossTargets = [ "riscv64" ];
|
|
||||||
cross = prev.lib.genAttrs crossTargets (target:
|
|
||||||
final.pkgsCross.${target}.bsc-ci.pkgs
|
|
||||||
);
|
|
||||||
|
|
||||||
buildList = name: paths:
|
|
||||||
final.runCommandLocal name { } ''
|
|
||||||
printf '%s\n' ${toString paths} | tee $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;
|
|
||||||
|
|
||||||
pkgsList = buildList "ci-pkgs" (builtins.attrValues pkgs);
|
|
||||||
testList = buildList "ci-tests" (collect isDerivation tests);
|
|
||||||
|
|
||||||
all = buildList' "ci-all" [ pkgsList testList ];
|
|
||||||
|
|
||||||
in bscPkgs // {
|
in bscPkgs // {
|
||||||
# Prevent accidental usage of bsc attribute
|
# Prevent accidental usage of bsc attribute
|
||||||
bsc = throw "the bsc attribute is deprecated, packages are now in the root";
|
bsc = throw "the bsc attribute is deprecated, packages are now in the root";
|
||||||
|
|
||||||
# Internal for our CI tests
|
# Internal for our CI tests
|
||||||
bsc-ci = {
|
bsc-ci = {
|
||||||
inherit pkgs pkgsList;
|
test = rec {
|
||||||
inherit tests testList;
|
#hwloc = callPackage ./test/bugs/hwloc.nix { }; # Broken, no /sys
|
||||||
inherit cross crossList;
|
#sigsegv = callPackage ./test/reproducers/sigsegv.nix { };
|
||||||
inherit all;
|
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 = final.runCommand "ci-pkgs" { }
|
||||||
|
"printf '%s\n' ${toString (collect isDerivation bscPkgs)} > $out";
|
||||||
|
|
||||||
|
tests = final.runCommand "ci-tests" { }
|
||||||
|
"printf '%s\n' ${toString (collect isDerivation final.bsc-ci.test)} > $out";
|
||||||
|
|
||||||
|
all = final.runCommand "ci-all" { }
|
||||||
|
''
|
||||||
|
deps="${toString [ final.bsc-ci.pkgs final.bsc-ci.tests ]}"
|
||||||
|
cat $deps
|
||||||
|
printf '%s\n' $deps > $out
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,22 +43,20 @@ let
|
|||||||
|
|
||||||
source = if (useGit) then git else release;
|
source = if (useGit) then git else release;
|
||||||
|
|
||||||
in stdenv.mkDerivation {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "clang-ompss2";
|
pname = "clang-ompss2";
|
||||||
inherit (source) src version;
|
inherit (source) src version;
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
isClang = true;
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
CC = "clang";
|
CC = "clang";
|
||||||
CXX = "clang++";
|
CXX = "clang++";
|
||||||
|
|
||||||
isClang = true;
|
|
||||||
isClangWithOmpss = true;
|
|
||||||
|
|
||||||
inherit gcc zlib;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
isClangWithOmpss = true;
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bash
|
bash
|
||||||
cmake
|
cmake
|
||||||
|
|||||||
Reference in New Issue
Block a user