Move checkApiAnnotations, compareSizes and ghcTags to Stage0
[hadrian.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     # Install all Hadrian and GHC build dependencies
32     - cabal update
33     - cabal install alex happy ansi-terminal mtl shake quickcheck
34
35     # Fetch GHC sources into ./ghc
36     - git clone --recursive git://git.haskell.org/ghc.git --quiet
37
38     # Travis has already cloned Hadrian into ./ and we need to move it
39     # to ./ghc/hadrian -- one way to do it is to move the .git directory
40     # and perform a hard reset in order to regenerate Hadrian files
41     - mkdir ghc/hadrian
42     - mv .git ghc/hadrian
43     - cd ghc/hadrian
44     - git reset --hard HEAD
45
46 script:
47     # Run internal Hadrian tests
48     - ./build.sh selftest
49
50     # Build GHC
51     - ./build.sh -j $MODE --verbose --no-progress --progress-colour=never --progress-info=brief --profile=-
52
53     # Test GHC binary
54     - cd ..
55     - inplace/bin/ghc-stage2 -e 1+2
56
57 cache:
58     directories:
59         - $HOME/.cabal
60         - $HOME/.ghc