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