-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy path.travis.yml
67 lines (55 loc) · 2.03 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
# NB: don't set `language: haskell` here
sudo: false
cache:
directories:
- $HOME/.stack/
# Here we test both stackage builds, which offer a controlled package
# set, and "bleeding edge" builds which use the GHC resolver to grab
# the latest off hackage.
matrix:
include:
# Default: Use an LTS w/7.10, as embedded in stack.yaml currently:
- env: STACK_RESOLVER=
# Test with an older GHC, 7.8.4:
- env: STACK_RESOLVER=lts-2.22
STACK_YAML=stack-lts-2.22.yaml
# Test with GHC 8.0, not yet in LTS:
- env: STACK_RESOLVER=nightly-2016-05-31
# This is nondeterministic; the latest nightly:
- env: STACK_RESOLVER=nightly
# Try to use the very latest packages here, so that we catch
# failures before they get to stackage:
- env: STACK_RESOLVER=ghc-7.8
- env: STACK_RESOLVER=ghc-7.10
- env: STACK_RESOLVER=ghc-8.0
allow_failures:
# We should track these failures, but they don't represent a
# change or regression in our code:
- env: STACK_RESOLVER=ghc-7.8
- env: STACK_RESOLVER=ghc-7.10
- env: STACK_RESOLVER=ghc-8.0
- env: STACK_RESOLVER=nightly
# Not worrying about this yet, but we will:
- env: STACK_RESOLVER=nightly-2016-05-31
addons:
apt:
packages:
- libgmp-dev
# Note: the distinction between `before_install` and `install` is not important.
# This just sets up stack and paths
before_install:
- mkdir -p ~/.local/bin
- mkdir -p ./bin/
- export PATH=${PWD}/bin:~/.local/bin:${PATH}
- export STACKVER=1.1.2
- wget https://github.com/commercialhaskell/stack/releases/download/v${STACKVER}/stack-${STACKVER}-linux-x86_64.tar.gz
- tar xvf stack-${STACKVER}-linux-x86_64.tar.gz
- mv -f stack-${STACKVER}-linux-x86_64/stack ~/.local/bin/
- chmod a+x ~/.local/bin/stack
# This sets up GHC and builds our packages:
install:
- source .build_tests.sh
# Here starts the actual work to be performed for the package under test;
# any command which exits with a non-zero exit code causes the build to fail.
script:
- source .run_tests.sh