Compare commits

..

13 Commits

3 changed files with 51 additions and 79 deletions

View File

@@ -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

View File

@@ -17,7 +17,7 @@
legacyPackages.${system} = pkgs; legacyPackages.${system} = pkgs;
hydraJobs = { hydraJobs = {
inherit (self.legacyPackages.${system}.bsc-ci) tests pkgs cross; inherit (self.legacyPackages.${system}.bsc-ci) test pkgs;
}; };
# propagate nixpkgs lib, so we can do bscpkgs.lib # propagate nixpkgs lib, so we can do bscpkgs.lib

View File

@@ -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,7 +49,13 @@ let
wxparaver = callPackage ./pkgs/paraver/default.nix { }; wxparaver = callPackage ./pkgs/paraver/default.nix { };
}; };
tests = rec { in bscPkgs // {
# Prevent accidental usage of bsc attribute
bsc = throw "the bsc attribute is deprecated, packages are now in the root";
# Internal for our CI tests
bsc-ci = {
test = rec {
#hwloc = callPackage ./test/bugs/hwloc.nix { }; # Broken, no /sys #hwloc = callPackage ./test/bugs/hwloc.nix { }; # Broken, no /sys
#sigsegv = callPackage ./test/reproducers/sigsegv.nix { }; #sigsegv = callPackage ./test/reproducers/sigsegv.nix { };
hello-c = callPackage ./test/compilers/hello-c.nix { }; hello-c = callPackage ./test/compilers/hello-c.nix { };
@@ -81,39 +90,17 @@ let
pkgs = filterAttrs (_: isDerivation) bscPkgs; pkgs = filterAttrs (_: isDerivation) bscPkgs;
crossTargets = [ "riscv64" ]; pkgsList = final.runCommand "ci-pkgs" { }
cross = prev.lib.genAttrs crossTargets (target: "printf '%s\n' ${toString (collect isDerivation bscPkgs)} > $out";
final.pkgsCross.${target}.bsc-ci.pkgs
);
buildList = name: paths: tests = final.runCommand "ci-tests" { }
final.runCommandLocal name { } '' "printf '%s\n' ${toString (collect isDerivation final.bsc-ci.test)} > $out";
printf '%s\n' ${toString paths} | tee $out
'';
buildList' = name: paths: all = final.runCommand "ci-all" { }
final.runCommandLocal name { } '' ''
deps="${toString paths}" deps="${toString [ final.bsc-ci.pkgsList final.bsc-ci.tests ]}"
cat $deps cat $deps
printf '%s\n' $deps > $out 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 // {
# Prevent accidental usage of bsc attribute
bsc = throw "the bsc attribute is deprecated, packages are now in the root";
# Internal for our CI tests
bsc-ci = {
inherit pkgs pkgsList;
inherit tests testList;
inherit cross crossList;
inherit all;
}; };
} }