Use xcode8 image
[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           osx_image: xcode8
20           env: MODE="--flavour=quickest --integer-simple"
21           before_install:
22               - brew update
23               - brew install ghc cabal-install
24               -
25
26 install:
27     # Add Cabal to PATH
28     - PATH="$HOME/.cabal/bin:$PATH"
29     - export PATH
30     - env
31
32     # Fetch GHC sources into ./ghc
33     - git --version
34     - git config --global url."git://github.com/ghc/packages-".insteadOf git://github.com/ghc/packages/
35     - git clone --depth 1 --recursive git://github.com/ghc/ghc
36     # --shallow-submodules is not supported on travis standard git 1.8 (linux), but it is supported
37     # on Travis Mac OS X machines. But it does not work with github mirrors because it cannot
38     # find commits.
39
40     # Install all Hadrian and GHC build dependencies
41     - cabal update
42     - cabal install alex happy ansi-terminal mtl shake quickcheck
43
44
45     # Travis has already cloned Hadrian into ./ and we need to move it
46     # to ./ghc/hadrian -- one way to do it is to move the .git directory
47     # and perform a hard reset in order to regenerate Hadrian files
48     - mkdir ghc/hadrian
49     - mv .git ghc/hadrian
50     - cd ghc/hadrian
51     - git reset --hard HEAD
52
53 script:
54     # Run internal Hadrian tests
55     - ./build.sh selftest
56
57     # Build GHC
58     - ./build.sh -j $MODE --verbose --no-progress --progress-colour=never --progress-info=brief --profile=-
59
60     # Test GHC binary
61     - cd ..
62     - inplace/bin/ghc-stage2 -e 1+2
63
64 cache:
65     directories:
66         - $HOME/.cabal
67         - $HOME/.ghc