forked from fpco/streaming-commons
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
155 lines (137 loc) · 6.04 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
language: c
sudo: false
cache:
directories:
- $HOME/.ghc
- $HOME/.cabal
- $HOME/.stack
matrix:
include:
- env: BUILD=cabal GHCVER=7.4.1 CABALVER=1.24
compiler: ": #GHC 7.4.1"
addons: {apt: {packages: [cabal-install-1.24,ghc-7.4.1], sources: [hvr-ghc]}}
- env: BUILD=cabal GHCVER=7.4.2 CABALVER=1.24
compiler: ": #GHC 7.4.2"
addons: {apt: {packages: [cabal-install-1.24,ghc-7.4.2], sources: [hvr-ghc]}}
# we have to use CABALVER=1.16 for GHC<7.6 as well, as there's
# no package for earlier cabal versions in the PPA
#- env: BUILD=cabal GHCVER=7.6.1 CABALVER=1.16
# compiler: ": #GHC 7.6.1"
# addons: {apt: {packages: [cabal-install-1.16,ghc-7.6.1], sources: [hvr-ghc]}}
- env: BUILD=cabal GHCVER=7.6.2 CABALVER=1.24
compiler: ": #GHC 7.6.2"
addons: {apt: {packages: [cabal-install-1.24,ghc-7.6.2], sources: [hvr-ghc]}}
- env: BUILD=cabal GHCVER=7.6.3 CABALVER=1.24
compiler: ": #GHC 7.6.3"
addons: {apt: {packages: [cabal-install-1.24,ghc-7.6.3], sources: [hvr-ghc]}}
- env: BUILD=cabal GHCVER=7.8.4 CABALVER=1.24
compiler: ": #GHC 7.8.4"
addons: {apt: {packages: [cabal-install-1.24,ghc-7.8.4], sources: [hvr-ghc]}}
- env: BUILD=cabal GHCVER=7.10.1 CABALVER=1.24
compiler: ": #GHC 7.10.1"
addons: {apt: {packages: [cabal-install-1.24,ghc-7.10.1], sources: [hvr-ghc]}}
- env: BUILD=cabal GHCVER=7.10.2 CABALVER=1.24
compiler: ": #GHC 7.10.2"
addons: {apt: {packages: [cabal-install-1.24,ghc-7.10.2], sources: [hvr-ghc]}}
- env: BUILD=cabal GHCVER=7.10.3 CABALVER=1.24
compiler: ": #GHC 7.10.3"
addons: {apt: {packages: [cabal-install-1.24,ghc-7.10.3], sources: [hvr-ghc]}}
- env: BUILD=cabal GHCVER=head CABALVER=head
compiler: ": #GHC HEAD"
addons: {apt: {packages: [cabal-install-head,ghc-head], sources: [hvr-ghc]}}
- env: BUILD=stack ARGS="--resolver lts-2"
compiler: ": #stack 7.8.4"
addons: {apt: {packages: [ghc-7.8.4], sources: [hvr-ghc]}}
- env: BUILD=stack ARGS="--resolver lts-3"
compiler: ": #stack 7.10.2"
addons: {apt: {packages: [ghc-7.10.2], sources: [hvr-ghc]}}
- env: BUILD=stack ARGS="--resolver lts-5"
compiler: ": #stack 7.10.3"
addons: {apt: {packages: [ghc-7.10.3], sources: [hvr-ghc]}}
- env: BUILD=stack ARGS="--resolver nightly"
compiler: ": #stack nightly"
addons: {apt: {packages: [libgmp-dev]}}
- env: BUILD=stack ARGS="--resolver lts-2"
compiler: ": #stack 7.8.4 osx"
os: osx
- env: BUILD=stack ARGS="--resolver lts-3"
compiler: ": #stack 7.10.2 osx"
os: osx
- env: BUILD=stack ARGS="--resolver lts-5"
compiler: ": #stack 7.10.3 osx"
os: osx
- env: BUILD=stack ARGS="--resolver nightly"
compiler: ": #stack nightly osx"
os: osx
allow_failures:
- env: BUILD=cabal GHCVER=head CABALVER=head
- env: BUILD=stack ARGS="--resolver nightly"
before_install:
- unset CC
- export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$HOME/.local/bin:$PATH
- mkdir -p ~/.local/bin
- |
if [ `uname` = "Darwin" ];
then
curl --insecure -L https://www.stackage.org/stack/osx-x86_64 | tar xz --strip-components=1 --include '*/stack' -C ~/.local/bin;
else
curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack';
fi
- |
echo 'remote-repo: hackage.haskell.org:http://hackage.fpcomplete.com/' > $HOME/.cabal/config
echo 'remote-repo-cache: $HOME/.cabal/packages' >> $HOME/.cabal/config
if [ "$CABALVER" != "1.16" ]
then
echo 'jobs: $ncpus' >> $HOME/.cabal/config
fi
echo 'constraint: Cabal installed' >> $HOME/.cabal/config
echo 'constraint: array installed' >> $HOME/.cabal/config
echo 'constraint: base installed' >> $HOME/.cabal/config
echo 'constraint: bin-package-db installed' >> $HOME/.cabal/config
echo 'constraint: binary installed' >> $HOME/.cabal/config
echo 'constraint: bytestring installed' >> $HOME/.cabal/config
echo 'constraint: containers installed' >> $HOME/.cabal/config
echo 'constraint: deepseq installed' >> $HOME/.cabal/config
echo 'constraint: directory installed' >> $HOME/.cabal/config
echo 'constraint: filepath installed' >> $HOME/.cabal/config
echo 'constraint: ghc installed' >> $HOME/.cabal/config
echo 'constraint: ghc-prim installed' >> $HOME/.cabal/config
echo 'constraint: haskeline installed' >> $HOME/.cabal/config
echo 'constraint: hoopl installed' >> $HOME/.cabal/config
echo 'constraint: hpc installed' >> $HOME/.cabal/config
echo 'constraint: integer-gmp installed' >> $HOME/.cabal/config
echo 'constraint: integer-simple installed' >> $HOME/.cabal/config
echo 'constraint: pretty installed' >> $HOME/.cabal/config
echo 'constraint: process installed' >> $HOME/.cabal/config
echo 'constraint: rts installed' >> $HOME/.cabal/config
echo 'constraint: template-haskell installed' >> $HOME/.cabal/config
echo 'constraint: terminfo installed' >> $HOME/.cabal/config
echo 'constraint: time installed' >> $HOME/.cabal/config
echo 'constraint: unix installed' >> $HOME/.cabal/config
echo 'constraint: xhtml installed' >> $HOME/.cabal/config
install:
- echo "$(ghc --version) [$(ghc --print-project-git-commit-id 2> /dev/null || echo '?')]"
- if [ -f configure.ac ]; then autoreconf -i; fi
- |
case "$BUILD" in
stack)
stack --no-terminal --install-ghc $ARGS test --bench --only-dependencies;;
cabal)
cabal --version;
travis_retry cabal update;
cabal install --only-dependencies --enable-tests --enable-benchmarks --force-reinstalls --ghc-options=-O0 --reorder-goals --max-backjumps=-1;;
esac
script:
- case "$BUILD" in
stack)
stack --no-terminal $ARGS test --bench --no-run-benchmarks --haddock --no-haddock-deps;;
cabal)
cabal configure --enable-tests --enable-benchmarks -v2 --ghc-options="-O0 -Werror";
cabal build;
cabal check || [ "$CABALVER" == "1.16" ];
cabal test;
cabal sdist;
cabal copy;
SRC_TGZ=$(cabal info . | awk '{print $2;exit}').tar.gz &&
(cd dist && cabal install --force-reinstalls "$SRC_TGZ");;
esac