@@ -30,38 +30,13 @@ before_install:
3030install :
3131 - cabal --version
3232 - echo "$(ghc --version) [$(ghc --print-project-git-commit-id 2> /dev/null || echo '?')]"
33- - if [ -f $HOME/.cabal/packages/hackage.haskell.org/00-index.tar.gz ];
33+ - if [ -d $HOME/.cabsnap ];
3434 then
35- zcat $HOME/.cabal/packages/hackage.haskell.org/00-index.tar.gz >
36- $HOME/.cabal/packages/hackage.haskell.org/00-index.tar ;
35+ cp -a $HOME/.cabsnap/ghc $HOME/.ghc;
36+ cp -a $HOME/.cabsnap/lib $HOME/.cabsnap/share $HOME/.cabsnap/bin $HOME/.cabal/ ;
3737 fi
3838 - travis_retry cabal update -v
3939 - sed -i 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config
40- - cabal install --only-dependencies --enable-tests --enable-benchmarks --dry -v > installplan.txt
41- - sed -i -e '1,/^Resolving /d' installplan.txt; cat installplan.txt
42-
43- # check whether current requested install-plan matches cached package-db snapshot
44- - if diff -u installplan.txt $HOME/.cabsnap/installplan.txt;
45- then
46- echo "cabal build-cache HIT";
47- rm -rfv .ghc;
48- cp -a $HOME/.cabsnap/ghc $HOME/.ghc;
49- cp -a $HOME/.cabsnap/lib $HOME/.cabsnap/share $HOME/.cabsnap/bin $HOME/.cabal/;
50- else
51- echo "cabal build-cache MISS";
52- rm -rf $HOME/.cabsnap;
53- mkdir -p $HOME/.ghc $HOME/.cabal/lib $HOME/.cabal/share $HOME/.cabal/bin;
54- cabal install --only-dependencies --enable-tests --enable-benchmarks;
55- fi
56-
57- # snapshot package-db on cache miss
58- - if [ ! -d $HOME/.cabsnap ];
59- then
60- echo "snapshotting package-db to build-cache";
61- mkdir $HOME/.cabsnap;
62- cp -a $HOME/.ghc $HOME/.cabsnap/ghc;
63- cp -a $HOME/.cabal/lib $HOME/.cabal/share $HOME/.cabal/bin installplan.txt $HOME/.cabsnap/;
64- fi
6540
6641# Here starts the actual work to be performed for the package under test;
6742# any command which exits with a non-zero exit code causes the build to fail.
@@ -78,4 +53,9 @@ script:
7853 - SRC_TGZ=$(cabal info . | awk '{print $2;exit}').tar.gz &&
7954 (cd dist && cabal install --force-reinstalls "$SRC_TGZ")
8055
56+ - rm -rf $HOME/.cabsnap
57+ - mkdir $HOME/.cabsnap;
58+ - cp -a $HOME/.ghc $HOME/.cabsnap/ghc;
59+ - cp -a $HOME/.cabal $HOME/.cabsnap/;
60+
8161# EOF
0 commit comments