Skip to content

Commit d39d23f

Browse files
committed
Fix .travis.yml
1 parent ab897f7 commit d39d23f

File tree

1 file changed

+72
-7
lines changed

1 file changed

+72
-7
lines changed

.travis.yml

Lines changed: 72 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,76 @@
1-
language: haskell
1+
# This file has been generated -- see https://github.com/hvr/multi-ghc-travis
2+
language: c
3+
sudo: false
24

3-
ghc:
4-
- "7.6"
5-
- "7.8"
5+
cache:
6+
directories:
7+
- $HOME/.cabsnap
8+
- $HOME/.cabal/packages
69

7-
addons:
8-
postgresql: "9.3"
10+
before_cache:
11+
- rm -fv $HOME/.cabal/packages/hackage.haskell.org/build-reports.log
12+
- rm -fv $HOME/.cabal/packages/hackage.haskell.org/00-index.tar
13+
14+
matrix:
15+
include:
16+
- env: CABALVER=1.16 GHCVER=7.6.3
17+
compiler: ": #GHC 7.6.3"
18+
addons: {apt: {packages: [cabal-install-1.16,ghc-7.6.3], sources: [hvr-ghc]}, postgresql: "9.3"}
19+
- env: CABALVER=1.18 GHCVER=7.8.4
20+
compiler: ": #GHC 7.8.4"
21+
addons: { apt: {packages: [cabal-install-1.18,ghc-7.8.4], sources: [hvr-ghc]}, postgresql: "9.3"}
22+
- env: CABALVER=1.22 GHCVER=7.10.2
23+
compiler: ": #GHC 7.10.2"
24+
addons: {apt: {packages: [cabal-install-1.22,ghc-7.10.2], sources: [hvr-ghc]}, postgresql: "9.3"}
25+
- env: CABALVER=1.24 GHCVER=8.0.1
26+
compiler: ": #GHC 8.0.1"
27+
addons: {apt: {packages: [cabal-install-1.24,ghc-8.0.1], sources: [hvr-ghc]}, postgresql: "9.3"}
928

1029
before_install:
11-
- createdb `whoami` || true
30+
- unset CC
31+
- export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH
32+
- createdb `whoami` || true
33+
34+
install:
35+
- cabal --version
36+
- echo "$(ghc --version) [$(ghc --print-project-git-commit-id 2> /dev/null || echo '?')]"
37+
- if [ -f $HOME/.cabal/packages/hackage.haskell.org/00-index.tar.gz ];
38+
then
39+
zcat $HOME/.cabal/packages/hackage.haskell.org/00-index.tar.gz >
40+
$HOME/.cabal/packages/hackage.haskell.org/00-index.tar;
41+
fi
42+
- travis_retry cabal update -v
43+
- sed -i 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config
44+
- cabal install --only-dependencies --enable-tests --enable-benchmarks --dry -v > installplan.txt
45+
- sed -i -e '1,/^Resolving /d' installplan.txt; cat installplan.txt
46+
47+
# check whether current requested install-plan matches cached package-db snapshot
48+
- if diff -u installplan.txt $HOME/.cabsnap/installplan.txt;
49+
then
50+
echo "cabal build-cache HIT";
51+
rm -rfv .ghc;
52+
cp -a $HOME/.cabsnap/ghc $HOME/.ghc;
53+
cp -a $HOME/.cabsnap/lib $HOME/.cabsnap/share $HOME/.cabsnap/bin $HOME/.cabal/;
54+
else
55+
echo "cabal build-cache MISS";
56+
rm -rf $HOME/.cabsnap;
57+
mkdir -p $HOME/.ghc $HOME/.cabal/lib $HOME/.cabal/share $HOME/.cabal/bin;
58+
cabal install --only-dependencies --enable-tests --enable-benchmarks;
59+
fi
60+
61+
# snapshot package-db on cache miss
62+
- if [ ! -d $HOME/.cabsnap ];
63+
then
64+
echo "snapshotting package-db to build-cache";
65+
mkdir $HOME/.cabsnap;
66+
cp -a $HOME/.ghc $HOME/.cabsnap/ghc;
67+
cp -a $HOME/.cabal/lib $HOME/.cabal/share $HOME/.cabal/bin installplan.txt $HOME/.cabsnap/;
68+
fi
69+
70+
# Here starts the actual work to be performed for the package under test;
71+
# any command which exits with a non-zero exit code causes the build to fail.
72+
script:
73+
- if [ -f configure.ac ]; then autoreconf -i; fi
74+
- cabal configure --enable-tests --enable-benchmarks -v2 # -v2 provides useful information for debugging
75+
- cabal build # this builds all libraries and executables (including tests/benchmarks)
76+
- cabal test

0 commit comments

Comments
 (0)