Make shell.nix less broken (#510)
[hadrian.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 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     # GHC comes with an older version of Hadrian, so we delete it
25     - rm -rf ghc/hadrian/.git
26     # move hadrian's .git into ./ghc/hadrian and perform a hard reset in order to regenerate Hadrian files
27     - mv .git ghc/hadrian
28     # NOTE: we must write them in the same line because each line
29     # in CircleCI is a separate process, thus you can't "cd" for the other lines
30     - cd ghc/hadrian; git reset --hard HEAD
31
32     # XXX: export PATH doesn't work well either, so we use inline env
33     # Self test
34     - PATH=$HOME/.cabal/bin:$PATH ghc/hadrian/build.sh -c selftest
35
36     # Build GHC
37     - PATH=$HOME/.cabal/bin:$PATH ghc/hadrian/build.sh -j -c $MODE --no-progress --progress-colour=never --profile=-
38
39 test:
40   override:
41     # Test GHC binary
42     - ghc/inplace/bin/ghc-stage2 -e 1+2