Rearrange unix build scripts. (#430)
[ghc.git] / circle.yml
1 machine:
2   xcode:
3     version: 8.0
4   environment:
5     MODE: --flavour=quickest --integer-simple
6
7 dependencies:
8   override:
9     - brew update
10     - brew install ghc cabal-install python3
11     - cabal update
12     - cabal install alex happy ansi-terminal mtl shake quickcheck
13   cache_directories:
14     - $HOME/.cabal
15     - $HOME/.ghc
16
17 compile:
18   override:
19     # Fetch GHC sources into ./ghc
20     - git --version
21     - git config --global url."git://github.com/ghc/packages-".insteadOf git://github.com/ghc/packages/
22     - git clone --depth 1 --recursive git://github.com/ghc/ghc
23
24     - mkdir ghc/hadrian
25     # move hadrian's .git into ./ghc/hadrian and perform a hard reset in order to regenerate Hadrian files
26     - mv .git ghc/hadrian
27     # NOTE: we must write them in the same line because each line
28     # in CircleCI is a separate process, thus you can't "cd" for the other lines
29     - cd ghc/hadrian; git reset --hard HEAD
30
31     # XXX: export PATH doesn't work well either, so we use inline env
32     # Self test
33     - PATH=$HOME/.cabal/bin:$PATH ghc/hadrian/build.sh selftest
34
35     # Build GHC
36     - PATH=$HOME/.cabal/bin:$PATH ghc/hadrian/build.sh -j $MODE --no-progress --progress-colour=never --profile=-
37
38 test:
39   override:
40     # Test GHC binary
41     - ghc/inplace/bin/ghc-stage2 -e 1+2