51 lines
1.7 KiB
Bash
Executable File
51 lines
1.7 KiB
Bash
Executable File
|
|
OUTDIR="ci-out"
|
|
SUMMARY="$OUTDIR/0-summary"
|
|
CABAL_CHECK_ATTRPATH="hackage-8.10"
|
|
|
|
set -x
|
|
|
|
mkdir -p "$OUTDIR"
|
|
echo "# test summary" > "$SUMMARY"
|
|
|
|
function build-one {
|
|
local ATTRPATH=$1
|
|
# nix-build --no-out-link nix/all.nix -A "\"$ATTRPATH\".butcher.components.library"\
|
|
# 2> >(tee "$OUTDIR/$ATTRPATH-1-build-lib.txt" >&2)
|
|
# (($? == 0)) || { echo "$ATTRPATH: build src failed" >> "$SUMMARY"; return 1; }
|
|
# 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))
|
|
(($? == 0)) || { echo "$ATTRPATH: run test failed" >> "$SUMMARY"; return 1; }
|
|
echo "$ATTRPATH: $(grep examples "$OUTDIR/$ATTRPATH-test-result.txt")" >> "$SUMMARY"
|
|
}
|
|
|
|
function cabal-check {
|
|
nix-build --no-out-link nix/all.nix -A "\"$CABAL_CHECK_ATTRPATH\".checks.cabal-check"\
|
|
2> >(tee "$OUTDIR/cabal-check.txt" >&2)
|
|
(($? == 0)) || { echo "cabal-check: failed" >> "$SUMMARY"; return 1; }
|
|
echo "cabal-check: success" >> "$SUMMARY"
|
|
}
|
|
|
|
find "$OUTDIR" -name "stackage*" -delete
|
|
find "$OUTDIR" -name "hackage*" -delete
|
|
rm "$OUTDIR/cabal-check.txt"
|
|
CLEANEDSOURCE=$(nix-instantiate --eval --read-write-mode nix/all.nix -A "cleanedSource.outPath")
|
|
(($? == 0)) || exit 1
|
|
( eval "cd $CLEANEDSOURCE; find" ) > "$OUTDIR/1-cleanedSource.txt"
|
|
|
|
build-one "stackage-8.4"
|
|
build-one "stackage-8.6"
|
|
build-one "stackage-8.8"
|
|
|
|
build-one "hackage-8.4"
|
|
build-one "hackage-8.6"
|
|
build-one "hackage-8.8"
|
|
build-one "hackage-8.10"
|
|
|
|
cabal-check
|
|
|
|
cat "$SUMMARY"
|