Merge branch 'master' of https://github.com/snowleopard/hadrian
[ghc.git] / .travis.yml
1 sudo: true
2
3 matrix:
4     include:
5         - os: linux
6           env: MODE="--flavour=quickest"
7           addons:
8               apt:
9                   packages:
10                       - ghc-7.10.3
11                       - cabal-install-1.22
12                       - zlib1g-dev
13                   sources: hvr-ghc
14           before_install:
15               - PATH="/opt/ghc/7.10.3/bin:$PATH"
16               - PATH="/opt/cabal/1.22/bin:$PATH"
17
18         - os: osx
19           env: MODE="--flavour=quickest --integer-simple"
20           before_install:
21               - brew update
22               - brew install ghc cabal-install
23               -
24
25 install:
26     # Add Cabal to PATH
27     - PATH="$HOME/.cabal/bin:$PATH"
28     - export PATH
29     - env
30
31     # Fetch GHC sources into ./ghc
32     - git --version
33     - git config --global url."git://github.com/ghc/packages-".insteadOf git://github.com/ghc/packages/
34     - git clone --depth 1 --recursive git://github.com/ghc/ghc
35     # --shallow-submodules is not supported on travis standard git 1.8 (linux), but it is supported
36     # on Travis Mac OS X machines. But it does not work with github mirrors because it cannot
37     # find commits.
38
39     # Install all Hadrian and GHC build dependencies
40     - cabal update
41     - cabal install alex happy ansi-terminal mtl shake quickcheck
42
43
44     # Travis has already cloned Hadrian into ./ and we need to move it
45     # to ./ghc/hadrian -- one way to do it is to move the .git directory
46     # and perform a hard reset in order to regenerate Hadrian files
47     - mkdir ghc/hadrian
48     - mv .git ghc/hadrian
49     - cd ghc/hadrian
50     - git reset --hard HEAD
51
52 script:
53     # Run internal Hadrian tests
54     - ./build.sh selftest
55
56     # Build GHC
57     - ./build.sh -j $MODE --verbose --no-progress --progress-colour=never --progress-info=brief --profile=-
58
59     # Test GHC binary
60     - cd ..
61     - inplace/bin/ghc-stage2 -e 1+2
62
63 cache:
64     directories:
65         - $HOME/.cabal
66         - $HOME/.ghc