Do we need tabs?
[hadrian.git] / .travis.yml
1 sudo: false
2
3 os:
4     - linux
5     - osx
6
7 matrix:
8     include:
9         - env:
10             CABALVER=1.22
11             GHCVER=7.10.3
12
13           addons: {
14               apt: {
15                   packages: [
16                       ghc-7.10.3,
17                       alex-3.1.4,
18                       happy-1.19.5,
19                       cabal-install-1.22,
20                       zlib1g-dev
21                   ],
22                   sources: [hvr-ghc]
23               }
24           }
25
26 before_install:
27
28     - PATH="$HOME/.cabal/bin:$PATH"
29     - PATH="/opt/ghc/$GHCVER/bin:$PATH"
30     - PATH="/opt/cabal/$CABALVER/bin:$PATH"
31     - export PATH
32
33     - env
34     - ghc --version
35     - cabal --version
36     - alex --version
37     - happy --version
38     - cabal update
39
40 install:
41
42     - travis_retry git clone git://git.haskell.org/ghc --recurse-submodules
43
44     # Travis clones the project into ".", but we need it as a child directory
45     # of "ghc/". For this reason, we - rather hackily - move the GHC-Shake
46     # ".git"  directory into the appropriate location, and perform a hard reset
47     # in order to regenerate the GHC-Shake files.
48     - mkdir ghc/shake-build
49     - mv .git ghc/shake-build
50     - ( cd ghc/shake-build && git reset --hard HEAD )
51
52     - ( cd ghc/shake-build && cabal install --only-dependencies )
53
54     - ( cd ghc && ./boot )
55     - ( cd ghc && ./configure )
56
57 script:
58     - ./ghc/shake-build/build.sh -j --no-progress
59
60 cache:
61     directories:
62         - $HOME/.cabal