-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
85 lines (74 loc) · 2.17 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
language: c
# TODO: ensure that a source distribution
# (made with stack sdist) also builds properly,
# not just that a "git clone" does.
git:
depth: 5
cache:
directories:
- $HOME/.ghc
- $HOME/.cabal
- $HOME/.stack
- $HOME/.local
- $TRAVIS_BUILD_DIR/.stack-work
matrix:
include:
# Cabal
- env: BUILD=cabal GHCVER=8.0.1 CABALVER=2.2 HAPPYVER=1.19.5 ALEXVER=3.1.7
compiler: ": #GHC 8.0.1"
addons:
{apt: {packages: [cabal-install-2.2,ghc-8.0.1,happy-1.19.5,alex-3.1.7], sources: [hvr-ghc]}}
# Stack lts-6
- env: BUILD=stack STACK_RESOLVER="lts-6"
compiler: ": #stack"
addons:
# ghc not used, but handy to ensure we have all deps
{apt: {packages: [libgmp-dev,ghc-8.0.1], sources: [hvr-ghc]}}
# Stack lts-14
- env: BUILD=stack STACK_RESOLVER="lts-14"
compiler: ": #stack"
addons:
# ghc not used, but handy to ensure we have all deps
{apt: {packages: [libgmp-dev,ghc-8.0.1], sources: [hvr-ghc]}}
before_install:
- |
# Using compiler above sets CC to an invalid value, so unset it
#set -x
unset CC
# stack prep
mkdir -p "$HOME/.local/bin"
export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$HOME/.local/bin:/opt/alex/$ALEXVER/bin:/opt/happy/$HAPPYVER/bin:$HOME/.cabal/bin:$PATH
export LINUX64_STACK="https://github.com/commercialhaskell/stack/releases/download/v2.1.3/stack-2.1.3-linux-x86_64.tar.gz"
travis_retry curl -L "${LINUX64_STACK}" | tar xz --wildcards --strip-components=1 -C $HOME/.local/bin '*/stack'
install:
- |
#set -x
case "$BUILD" in
cabal)
./.circleci/cabal-build.sh
;;
stack)
# build project with stack
stack --version
stack --resolver="$STACK_RESOLVER" ghc -- --version
stack --resolver="$STACK_RESOLVER" setup
stack build --test --no-run-tests
;;
*)
echo unknown build tool!!
exit 1
;;
esac
script:
- |
case "$BUILD" in
cabal)
echo "You're still here? It's over. Go home."
;;
stack)
stack --resolver="${STACK_RESOLVER}" test --flag assumpta:stack-based-tests
;;
*)
esac
notifications:
email: false