-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
110 lines (100 loc) · 2.8 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
language: c
sudo: false
notifications:
irc: "irc.freenode.net#haskell-raaz"
# Setting up caches
before-cache:
- rm -fv $HOME/.cabal/packages/hackage.haskell.org/build-reports.log
- rm -fv $HOME/.cabal/packages/hackage.haskell.org/00-index.tar
cache:
directories:
- $HOME/.cabsnap
- $HOME/.cabal/packages
fast_finish: true
matrix:
include:
#
# Linux builds
#
# Most recent LTS for 7.8.4 series.
# Stackage LTS-2, with 7.8.4 and cabal version-1.18
#
- os: linux
env: STACKVER=lts-2 GHCVER=7.8.4 CABALVER=1.18
addons:
apt:
packages: [ghc-7.8.4, cabal-install-1.18]
sources: [hvr-ghc]
#
# Latest Stackage LTS
#
- os: linux
env: STACKVER=lts GHCVER=7.10.3 CABALVER=1.22
addons:
apt:
packages: [ghc-7.10.3, cabal-install-1.22]
sources: [hvr-ghc]
#
# Stackage nightly
#
- os: linux
env: STACKVER=nightly GHCVER=8.0.1 CABALVER=1.24
addons:
apt:
packages: [ghc-8.0.1, cabal-install-1.24]
sources: [hvr-ghc]
#
# Build against GHC-Head
#
- os: linux
env: GHCVER=head CABALVER=head
addons:
apt:
packages: [ghc-head, cabal-install-head]
sources: [hvr-ghc]
- os: linux
env: HLINT="yes"
addons:
apt: { packages: [hlint] }
# Other builds
- os: osx
allow_failures:
- env: HLINT="yes"
- env: GHCVER=head CABALVER=head
- env: STACKVER=nightly GHCVER=8.0.1 CABALVER=1.24
- env: STACKVER=lts-2 GHCVER=7.8.4 CABALVER=1.18
- os: osx
before_install:
- if [ "$HLINT" == "yes" ]; then
hlint "--ignore=Parse error" Raaz;
exit $?;
fi
- export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH
- if [ "$STACKVER" != "" ]; then
echo getting the stackage cabal.config;
wget "https://www.stackage.org/$STACKVER/cabal.config";
fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install ghc cabal-install; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew info ghc cabal-install; fi
install:
- cabal --version
- echo "$(ghc --version) [$(ghc --print-project-git-commit-id 2> /dev/null || echo '?')]"
- travis_retry cabal update
- cabal install --only-dependencies --enable-tests --enable-benchmarks
script:
- cabal configure --enable-tests --enable-benchmarks -v2
- cabal build
- cabal test
- cabal check
- cabal sdist # tests that a source-distribution can be generated
- cabal install --force-reinstalls dist/*-*.tar.gz
# - SRC_TGZ=$(cabal info . | awk '{print $2;exit}').tar.gz &&
# (cd dist && cabal install --force-reinstalls "$SRC_TGZ")
after_success:
- echo "All is well."
after_failure:
- echo "Build failed."
branches:
only:
- master