Speed up AppVeyor build
[hadrian.git] / appveyor.yml
1 clone_folder: "c:\\new-hadrian"
2 environment:
3   global:
4     STACK_ROOT: "c:\\sr"
5
6 cache:
7     - "c:\\sr -> appveyor.yml"
8
9 install:
10     # Get Stack
11     - curl -ostack.zip -LsS --insecure https://www.stackage.org/stack/windows-x86_64
12     - 7z x stack.zip stack.exe
13
14     # Note: AppVeyor has already cloned Hadrian into c:\new-hadrian
15     # Fetch GHC sources into c:\ghc
16     - cd ..
17     - git clone --recursive git://git.haskell.org/ghc.git
18     # GHC comes with an older version of Hadrian, so we delete it
19     - rm -rf ghc\hadrian
20     # Copy new Hadrian into ./ghc/hadrian
21     - cp -r new-hadrian ghc\hadrian
22
23     # Install Alex and Happy
24     - set PATH=C:\Users\appveyor\AppData\Roaming\local\bin;%PATH%
25     - ghc\hadrian\stack install --install-ghc alex happy > nul
26
27     # Install all Hadrian and GHC build dependencies
28     - cd ghc\hadrian
29     - stack setup > nul
30     - appveyor-retry stack exec -- pacman -S autoconf automake-wrapper make patch python3 tar --noconfirm
31
32 build_script:
33     # Boot and configure ghc source tree
34     - cd ..
35     - hadrian\stack exec -- python3 boot
36     - hadrian\stack exec -- bash configure --enable-distro-toolchain
37     - cd hadrian
38
39     # Build GHC
40     - build -j --flavour=quickest --integer-simple --no-progress --progress-colour=never --profile=-
41
42     # Test GHC binary
43     - cd ..
44     - _build/stage1/bin/ghc -e 1+2