aboutsummaryrefslogtreecommitdiff
path: root/.travis.yml
blob: 10fb2bd37efc125a8dc11cd569748d1862950ea3 (plain) (blame)
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
language: haskell
ghc:
  - 7.4
  - 7.6
  - 7.8

sudo: false

addons:
  apt:
    packages:
    - zlib1g-dev

cache:
  apt: true
  directories:
  - ~/.cabal
  - ~/.ghc
  - ~/.ghc-mod
  - ~/.stack

install:
  - export HOME=/tmp
  - cabal update
  - echo $PATH
  - which cabal
  - cabal install -j --only-dependencies --enable-tests
  - git clone --depth=1 https://github.com/haskell/cabal.git /tmp/cabal
  - if [ -n "$(ghc --version | awk '{ print $8 }' | sed -n '/^7.4/p')" ]; then cabal install Cabal --constraint "Cabal == 1.16.*"; fi


before_script:
  - rm -f ~/.ghc-mod cabal-helper-*-Cabal-*

script:
  - touch ChangeLog # Create ChangeLog if we're not on the release branch
  - cabal check

  - cabal sdist
  - export SRC_TGZ="$PWD/dist/$(cabal info . | awk '{print $2 ".tar.gz";exit}')"
  - rm -rf /tmp/cabal-helper* && cd /tmp
  - tar -xf $SRC_TGZ && cd cabal-helper*/

  - if [ -n "$(ghc --version | awk '{ print $8 }' | sed -n '/^7.8/p')" ]; then export WERROR="--ghc-option=-Werror"; fi
  - cabal configure --enable-tests $WERROR
  - cabal build
  - ./dist/build/cabal-helper-wrapper/cabal-helper-wrapper . dist "compiler-version" "entrypoints" "source-dirs" "ghc-options" "ghc-src-options" "ghc-pkg-options" "ghc-lang-options"
  - ./dist/build/spec/spec
  # At least try to compile with Cabal HEAD
  - ghc -i -i/tmp/cabal/Cabal -i. CabalHelper/Main.hs -odir /tmp/cabal/Cabal -DCABAL_MAJOR=1 -DCABAL_MINOR=1000