forked from raaz-crypto/raaz
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
104 lines (99 loc) · 3.25 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
notifications:
irc: "irc.freenode.net#haskell-raaz"
env:
# Variables.
# 1. GHC_VERSION: The version of ghc to build against. If not set
# the default version of haskell on travis build system in used.
#
# 2. CABAL_VERSION: The version of cabal install command to use. If
# not set the default version available is used.
#
# 3. PARALLEL_BUILDS: Whether the version of cabal install supports
# parallel builds. Set it to "yes" if the version of cabal
# install supports parallel builds.
#
# 4. PACKAGE_CONSTRAINTS: The constraints to put on packages.
#
# 5. HASKELL_PLATFORM: You can build against a give platform. The
# corresponding makefile:
# ./platform/${HASKELL_PLATFORM}/Makefile.configure should
# exist. The platform makefile should usually set the GHC_VERSION
# and PACKAGE_CONSTRAINTS
#
# 6. ADDITIONAL_CONSTRAINTS: Set additional constraints on certain
# problematic packages.
global:
# To be included in all the jobs of the build.
- ADDITIONAL_CONSTRAINTS=
- PARALLEL_BUILDS="yes"
matrix:
- GHC_VERSION=7.8.3 CABAL_VERSION=1.20
- HASKELL_PLATFORM=2013.2.0.0 GHC_VERSION=7.6.3 CABAL_VERSION=1.20
- HASKELL_PLATFORM=2012.4.0.0 GHC_VERSION=7.4.2 CABAL_VERSION=1.20
- HASKELL_PLATFORM=2012.2.0.0 GHC_VERSION=7.4.1 CABAL_VERSION=1.20
- HLINT="yes"
matrix:
# To notify immediately about it when a job of a build fails.
fast_finish: true
allow_failures:
- env: HLINT="yes"
before_install:
- if [ "$HLINT" == "yes" ]; then
sudo apt-get install hlint;
hlint .;
exit $?;
fi
- echo `uname -a`
- travis_retry sudo add-apt-repository -y ppa:hvr/ghc
- travis_retry sudo apt-get update
# Install default version of GHC if GHC_VERSION
# environment variable is not set.
- if [ "$GHC_VERSION" == "" ]; then
travis_retry sudo apt-get install ghc happy haddock;
else
travis_retry sudo apt-get install ghc-$GHC_VERSION happy haddock;
export PATH=/opt/ghc/$GHC_VERSION/bin:$PATH;
fi
# Install default version of CABAL if CABAL_VERSION
# environment variable is not set.
- if [ "$CABAL_VERSION" == "" ]; then
travis_retry sudo apt-get install cabal-install;
cabal update;
else
travis_retry sudo apt-get install cabal-install-$CABAL_VERSION;
export PATH=/opt/cabal/$CABAL_VERSION/bin:$PATH;
cabal-$CABAL_VERSION update;
fi
# Output the version of GHC installed in the system.
- ghc --version
# Output the version of CABAL installed in the system.
- cabal --version
# Output other variables.
- echo HASKELL_PLATFORM=${HASKELL_PLATFORM}
- echo PARALLEL_BUILDS=${PARALLEL_BUILDS}
# Compile the script which will be used to install, build and test
# raaz packages.
- ghc -o travis scripts/travis-build.hs
install:
# Installing
- ./travis install
before_script:
# Configuring raaz packages.
- ./travis configure --enable-tests
# Building raaz packages.
- ./travis build;
# Running test suites of raaz packages.
script:
- ./travis test --show-details=failures;
after_script:
- ./travis sdist;
# Make source tarball of all raaz packages.
after_success:
- echo "All is well."
after_failure:
- echo "Build failed."
branches:
only:
- master
- x-travis
- x-length