@@ -13,67 +13,71 @@ before_cache:
13
13
14
14
matrix :
15
15
include :
16
- - env : CABALVER=1.16 GHCVER=7.0.1
16
+ - env : CABALVER=1.24 GHCVER=7.0.1
17
17
compiler : " : #GHC 7.0.1"
18
- addons : {apt: {packages: [cabal-install-1.16 ,ghc-7.0.1], sources: [hvr-ghc]}}
19
- - env : CABALVER=1.16 GHCVER=7.0.2
18
+ addons : {apt: {packages: [cabal-install-1.24 ,ghc-7.0.1], sources: [hvr-ghc]}}
19
+ - env : CABALVER=1.24 GHCVER=7.0.2
20
20
compiler : " : #GHC 7.0.2"
21
- addons : {apt: {packages: [cabal-install-1.16 ,ghc-7.0.2], sources: [hvr-ghc]}}
22
- - env : CABALVER=1.16 GHCVER=7.0.3
21
+ addons : {apt: {packages: [cabal-install-1.24 ,ghc-7.0.2], sources: [hvr-ghc]}}
22
+ - env : CABALVER=1.24 GHCVER=7.0.3
23
23
compiler : " : #GHC 7.0.3"
24
- addons : {apt: {packages: [cabal-install-1.16 ,ghc-7.0.3], sources: [hvr-ghc]}}
25
- - env : CABALVER=1.16 GHCVER=7.0.4
24
+ addons : {apt: {packages: [cabal-install-1.24 ,ghc-7.0.3], sources: [hvr-ghc]}}
25
+ - env : CABALVER=1.24 GHCVER=7.0.4
26
26
compiler : " : #GHC 7.0.4"
27
- addons : {apt: {packages: [cabal-install-1.16 ,ghc-7.0.4], sources: [hvr-ghc]}}
28
- - env : CABALVER=1.16 GHCVER=7.2.1
27
+ addons : {apt: {packages: [cabal-install-1.24 ,ghc-7.0.4], sources: [hvr-ghc]}}
28
+ - env : CABALVER=1.24 GHCVER=7.2.1
29
29
compiler : " : #GHC 7.2.1"
30
- addons : {apt: {packages: [cabal-install-1.16 ,ghc-7.2.1], sources: [hvr-ghc]}}
31
- - env : CABALVER=1.16 GHCVER=7.2.2
30
+ addons : {apt: {packages: [cabal-install-1.24 ,ghc-7.2.1], sources: [hvr-ghc]}}
31
+ - env : CABALVER=1.24 GHCVER=7.2.2
32
32
compiler : " : #GHC 7.2.2"
33
- addons : {apt: {packages: [cabal-install-1.16 ,ghc-7.2.2], sources: [hvr-ghc]}}
34
- - env : CABALVER=1.16 GHCVER=7.4.1
33
+ addons : {apt: {packages: [cabal-install-1.24 ,ghc-7.2.2], sources: [hvr-ghc]}}
34
+ - env : CABALVER=1.24 GHCVER=7.4.1
35
35
compiler : " : #GHC 7.4.1"
36
- addons : {apt: {packages: [cabal-install-1.16 ,ghc-7.4.1], sources: [hvr-ghc]}}
37
- - env : CABALVER=1.16 GHCVER=7.4.2
36
+ addons : {apt: {packages: [cabal-install-1.24 ,ghc-7.4.1], sources: [hvr-ghc]}}
37
+ - env : CABALVER=1.24 GHCVER=7.4.2
38
38
compiler : " : #GHC 7.4.2"
39
- addons : {apt: {packages: [cabal-install-1.16 ,ghc-7.4.2], sources: [hvr-ghc]}}
40
- - env : CABALVER=1.16 GHCVER=7.6.1
39
+ addons : {apt: {packages: [cabal-install-1.24 ,ghc-7.4.2], sources: [hvr-ghc]}}
40
+ - env : CABALVER=1.24 GHCVER=7.6.1
41
41
compiler : " : #GHC 7.6.1"
42
- addons : {apt: {packages: [cabal-install-1.16 ,ghc-7.6.1], sources: [hvr-ghc]}}
43
- - env : CABALVER=1.16 GHCVER=7.6.2
42
+ addons : {apt: {packages: [cabal-install-1.24 ,ghc-7.6.1], sources: [hvr-ghc]}}
43
+ - env : CABALVER=1.24 GHCVER=7.6.2
44
44
compiler : " : #GHC 7.6.2"
45
- addons : {apt: {packages: [cabal-install-1.16 ,ghc-7.6.2], sources: [hvr-ghc]}}
46
- - env : CABALVER=1.16 GHCVER=7.6.3
45
+ addons : {apt: {packages: [cabal-install-1.24 ,ghc-7.6.2], sources: [hvr-ghc]}}
46
+ - env : CABALVER=1.24 GHCVER=7.6.3
47
47
compiler : " : #GHC 7.6.3"
48
- addons : {apt: {packages: [cabal-install-1.16 ,ghc-7.6.3], sources: [hvr-ghc]}}
49
- - env : CABALVER=1.18 GHCVER=7.8.1
48
+ addons : {apt: {packages: [cabal-install-1.24 ,ghc-7.6.3], sources: [hvr-ghc]}}
49
+ - env : CABALVER=1.24 GHCVER=7.8.1
50
50
compiler : " : #GHC 7.8.1"
51
- addons : {apt: {packages: [cabal-install-1.18 ,ghc-7.8.1], sources: [hvr-ghc]}}
52
- - env : CABALVER=1.18 GHCVER=7.8.2
51
+ addons : {apt: {packages: [cabal-install-1.24 ,ghc-7.8.1], sources: [hvr-ghc]}}
52
+ - env : CABALVER=1.24 GHCVER=7.8.2
53
53
compiler : " : #GHC 7.8.2"
54
- addons : {apt: {packages: [cabal-install-1.18 ,ghc-7.8.2], sources: [hvr-ghc]}}
55
- - env : CABALVER=1.18 GHCVER=7.8.3
54
+ addons : {apt: {packages: [cabal-install-1.24 ,ghc-7.8.2], sources: [hvr-ghc]}}
55
+ - env : CABALVER=1.24 GHCVER=7.8.3
56
56
compiler : " : #GHC 7.8.3"
57
- addons : {apt: {packages: [cabal-install-1.18 ,ghc-7.8.3], sources: [hvr-ghc]}}
58
- - env : CABALVER=1.18 GHCVER=7.8.4
57
+ addons : {apt: {packages: [cabal-install-1.24 ,ghc-7.8.3], sources: [hvr-ghc]}}
58
+ - env : CABALVER=1.24 GHCVER=7.8.4
59
59
compiler : " : #GHC 7.8.4"
60
- addons : {apt: {packages: [cabal-install-1.18 ,ghc-7.8.4], sources: [hvr-ghc]}}
61
- - env : CABALVER=1.22 GHCVER=7.10.1
60
+ addons : {apt: {packages: [cabal-install-1.24 ,ghc-7.8.4], sources: [hvr-ghc]}}
61
+ - env : CABALVER=1.24 GHCVER=7.10.1
62
62
compiler : " : #GHC 7.10.1"
63
- addons : {apt: {packages: [cabal-install-1.22 ,ghc-7.10.1], sources: [hvr-ghc]}}
64
- - env : CABALVER=1.22 GHCVER=7.10.2
63
+ addons : {apt: {packages: [cabal-install-1.24 ,ghc-7.10.1], sources: [hvr-ghc]}}
64
+ - env : CABALVER=1.24 GHCVER=7.10.2
65
65
compiler : " : #GHC 7.10.2"
66
- addons : {apt: {packages: [cabal-install-1.22 ,ghc-7.10.2], sources: [hvr-ghc]}}
67
- - env : CABALVER=1.22 GHCVER=7.10.3
66
+ addons : {apt: {packages: [cabal-install-1.24 ,ghc-7.10.2], sources: [hvr-ghc]}}
67
+ - env : CABALVER=1.24 GHCVER=7.10.3
68
68
compiler : " : #GHC 7.10.3"
69
- addons : {apt: {packages: [cabal-install-1.22 ,ghc-7.10.3], sources: [hvr-ghc]}}
69
+ addons : {apt: {packages: [cabal-install-1.24 ,ghc-7.10.3], sources: [hvr-ghc]}}
70
70
- env : CABALVER=1.24 GHCVER=8.0.1
71
71
compiler : " : #GHC 8.0.1"
72
72
addons : {apt: {packages: [cabal-install-1.24,ghc-8.0.1], sources: [hvr-ghc]}}
73
73
74
74
before_install :
75
75
- unset CC
76
76
- export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH
77
+ - if [ "$GHCVER" != "7.2.1" ];
78
+ then
79
+ export TEST_OPTS="--enable-tests --enable-benchmarks";
80
+ fi
77
81
78
82
install :
79
83
- cabal --version
@@ -85,7 +89,13 @@ install:
85
89
fi
86
90
- travis_retry cabal update -v
87
91
- sed -i 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config
88
- - cabal install --only-dependencies --dry -v > installplan.txt
92
+ # can't use "cabal install --only-dependencies --enable-tests" due to dep-cycle
93
+ - if [ -n "$TEST_OPTS" ];
94
+ then
95
+ cabal install 'test-framework == 0.8.*' 'test-framework-hunit == 0.3.*' 'HUnit >= 1.2 && < 1.6' --dry -v > installplan.txt;
96
+ else
97
+ cabal install --only-dependencies --dry -v > installplan.txt;
98
+ fi
89
99
- sed -i -e '1,/^Resolving /d' installplan.txt; cat installplan.txt
90
100
91
101
# check whether current requested install-plan matches cached package-db snapshot
@@ -99,9 +109,14 @@ install:
99
109
echo "cabal build-cache MISS";
100
110
rm -rf $HOME/.cabsnap;
101
111
mkdir -p $HOME/.ghc $HOME/.cabal/lib $HOME/.cabal/share $HOME/.cabal/bin;
102
- cabal install --only-dependencies;
112
+ if [ -n "$TEST_OPTS" ];
113
+ then
114
+ cabal install -j 'test-framework == 0.8.*' 'test-framework-hunit == 0.3.*' 'HUnit >= 1.2 && < 1.6';
115
+ else
116
+ cabal install -j --only-dependencies;
117
+ fi
103
118
fi
104
-
119
+
105
120
# snapshot package-db on cache miss
106
121
- if [ ! -d $HOME/.cabsnap ];
107
122
then
@@ -115,9 +130,13 @@ install:
115
130
# any command which exits with a non-zero exit code causes the build to fail.
116
131
script :
117
132
- if [ -f configure.ac ]; then autoreconf -i; fi
118
- - cabal configure -v2 # -v2 provides useful information for debugging
133
+ - cabal configure $TEST_OPTS -v2 # -v2 provides useful information for debugging
119
134
- cabal build # this builds all libraries and executables (including tests/benchmarks)
120
135
- cabal sdist # tests that a source-distribution can be generated
136
+ - if [ -n "$TEST_OPTS" ];
137
+ then
138
+ cabal test --show-details=always;
139
+ fi
121
140
122
141
# Check that the resulting source distribution can be built & installed.
123
142
# If there are no other `.tar.gz` files in `dist`, this can be even simpler:
0 commit comments