Update CI script to build examples too
parent
9901a2240a
commit
7ffad18fd2
|
@ -1,3 +1,4 @@
|
|||
#!/bin/bash
|
||||
|
||||
OUTDIR="ci-out"
|
||||
SUMMARY="$OUTDIR/0-summary"
|
||||
|
@ -16,8 +17,10 @@ function build-one {
|
|||
# nix-build --no-out-link nix/all.nix -A "\"$ATTRPATH\".butcher.components.tests"\
|
||||
# 2> >(tee "$OUTDIR/$ATTRPATH-2-build-test.txt" >&2)
|
||||
# (($? == 0)) || { echo "$ATTRPATH: build test failed" >> "$SUMMARY"; return 1; }
|
||||
OUT=$(nix-build -o "$OUTDIR/$ATTRPATH-test-result.txt" nix/all.nix -A "\"$ATTRPATH\".butcher.checks.tests"\
|
||||
2> >(tee "$OUTDIR/$ATTRPATH-build.txt" >&2))
|
||||
nix-build -o "$OUTDIR/$ATTRPATH-build" nix/all.nix -A "\"$ATTRPATH\".allComponents"\
|
||||
2> >(tee "$OUTDIR/$ATTRPATH-build.txt" >&2)
|
||||
(($? == 0)) || { echo "$ATTRPATH: all-component build failed" >> "$SUMMARY"; return 1; }
|
||||
nix-build -o "$OUTDIR/$ATTRPATH-test-result.txt" nix/all.nix -A "\"$ATTRPATH\".butcher.checks.tests"
|
||||
(($? == 0)) || { echo "$ATTRPATH: run test failed" >> "$SUMMARY"; return 1; }
|
||||
echo "$ATTRPATH: $(grep examples "$OUTDIR/$ATTRPATH-test-result.txt")" >> "$SUMMARY"
|
||||
}
|
||||
|
|
|
@ -11,7 +11,8 @@
|
|||
let
|
||||
butcher-nix = pkgs.haskell-nix.callCabalProjectToNix {
|
||||
src = cleanedSource;
|
||||
inherit index-state index-sha256 plan-sha256 materialized configureArgs;
|
||||
inherit index-state index-sha256 plan-sha256 materialized;
|
||||
configureArgs = configureArgs + " -fbutcher-examples";
|
||||
# ghc = pkgs.haskell-nix.compiler.${ghc-ver};
|
||||
compiler-nix-name = ghc-ver;
|
||||
};
|
||||
|
@ -26,12 +27,20 @@ in rec {
|
|||
pkg-def-extras = pkg-def-extras;
|
||||
modules = [
|
||||
{ ghc.package = pkgs.haskell-nix.compiler.${ghc-ver}; }
|
||||
# (pkgs.haskell-nix.mkCacheModule generatedCache)
|
||||
{ packages.butcher.flags.butcher-examples = true; }
|
||||
];
|
||||
};
|
||||
in pkg-set.config.hsPkgs;
|
||||
|
||||
inherit (hsPkgs) butcher;
|
||||
inherit (hsPkgs.butcher) checks;
|
||||
allComponents = pkgs.linkFarm
|
||||
"allComponents"
|
||||
(builtins.map
|
||||
(x: { name = x.name; path = x; })
|
||||
(pkgs.haskell-nix.haskellLib.getAllComponents butcher));
|
||||
|
||||
shell = hsPkgs.shellFor {
|
||||
# Include only the *local* packages of your project.
|
||||
packages = ps: with ps; [
|
||||
|
|
|
@ -50,12 +50,20 @@ let
|
|||
hsPkgs = (pkgs.haskell-nix.mkStackPkgSet {
|
||||
stack-pkgs = butcher-plan;
|
||||
pkg-def-extras = pkg-def-extras;
|
||||
modules = pkgs.lib.singleton (pkgs.haskell-nix.mkCacheModule generatedCache);
|
||||
modules = [ (pkgs.haskell-nix.mkCacheModule generatedCache)
|
||||
{ packages.butcher.flags.butcher-examples = true; }
|
||||
];
|
||||
}).config.hsPkgs;
|
||||
in {
|
||||
in rec {
|
||||
inherit butcher-nix butcher-plan hsPkgs pkgs;
|
||||
inherit (hsPkgs) butcher;
|
||||
inherit (hsPkgs.butcher) checks;
|
||||
allComponents = pkgs.linkFarm
|
||||
"allComponents"
|
||||
(builtins.map
|
||||
(x: { name = x.name; path = x; })
|
||||
(pkgs.haskell-nix.haskellLib.getAllComponents butcher));
|
||||
|
||||
shell = hsPkgs.shellFor {
|
||||
# Include only the *local* packages of your project.
|
||||
packages = ps: with ps; [
|
||||
|
|
Loading…
Reference in New Issue