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