Merge pull request #5171 from bgamari/master
[cabal.git] / appveyor.yml
blob30f485b387bd4c53971ddd922bfc989209c92157
1 install:
2   # Using '-y' and 'refreshenv' as a workaround to:
3   # https://github.com/haskell/cabal/issues/3687
4   - choco install -y ghc --version 8.0.2
5   - refreshenv
6   # See http://help.appveyor.com/discussions/problems/6312-curl-command-not-found#comment_42195491
7   # NB: Do this after refreshenv, otherwise it will be clobbered!
8   - set PATH=%APPDATA%\cabal\bin;C:\Program Files\Git\mingw64\bin;%PATH%
9   # TODO: remove --insecure, this is to workaround haskell.org
10   # failing to send intermediate cert; see https://github.com/haskell/cabal/pull/4172
11   - curl -o cabal.zip --insecure --progress-bar https://www.haskell.org/cabal/release/cabal-install-2.0.0.0/cabal-install-2.0.0.0-x86_64-unknown-mingw32.zip
12   - 7z x -bd cabal.zip
13   - cabal --version
14   - cabal update
15   # Install parsec, text and mtl, also alex and happy
16   - echo "" | appveyor-retry cabal install parsec-3.1.11 text-1.2.2.2 mtl-2.2.1 alex-3.1.7 happy-1.19.5
18 build_script:
19   - cd Cabal
20   - ghc --make -threaded -i -i. Setup.hs -Wall -Werror -XRank2Types -XFlexibleContexts
22   # 'echo "" |' works around an AppVeyor issue:
23   # https://github.com/commercialhaskell/stack/issues/1097#issuecomment-145747849
24   - echo "" | ..\appveyor-retry ..\cabal install --only-dependencies --enable-tests
26   - Setup configure --user --ghc-option=-Werror --enable-tests
27   - Setup build
28   - Setup test --show-details=streaming --test-option=--hide-successes
29   - Setup install
30   # hackage-repo-tool doesn't build on Windows:
31   # https://github.com/well-typed/hackage-security/issues/175
32   # - echo "" | ..\cabal install hackage-repo-tool --allow-newer=Cabal,time --constraint="Cabal == 2.3.0.0"
33   - cd ..\cabal-testsuite
34   - ghc --make -threaded -i Setup.hs -package Cabal-2.3.0.0
35   - echo "" | ..\appveyor-retry ..\cabal install --only-dependencies --enable-tests
36   - Setup configure --user --ghc-option=-Werror --enable-tests
37   - Setup build
38   # Must install the test suite, so that our GHCi invocation picks it up
39   - Setup install
40   # Copy the setup script into the spot cabal-tests expects it
41   - mkdir dist\setup
42   - cp Setup.exe dist\setup
43   - dist\build\cabal-tests\cabal-tests.exe -j3
44   # - Setup test --show-details=streaming --test-option=--hide-successes
45   - cd ..\cabal-install
46   - ghc --make -threaded -i -i. Setup.hs -Wall -Werror
47   - echo "" | ..\appveyor-retry ..\cabal install --only-dependencies --enable-tests -flib
48   - ..\cabal configure --user --ghc-option=-Werror --enable-tests -flib
49   - ..\cabal build
50   # update package index again, this time for the cabal under test
51   - dist\build\cabal\cabal.exe update
52   # run cabal-testsuite first as it has better logging
53   - cd ..\cabal-testsuite
54   - dist\build\cabal-tests\cabal-tests.exe -j3 --skip-setup-tests --with-cabal=..\cabal-install\dist\build\cabal\cabal.exe
55   - cd ..\cabal-install
56   - ..\cabal test unit-tests --show-details=streaming --test-option="--pattern=! /FileMonitor/" --test-option=--hide-successes
57   - ..\cabal test integration-tests2 --show-details=streaming --test-option=--hide-successes
58   - ..\cabal test solver-quickcheck --show-details=streaming --test-option=--hide-successes --test-option=--quickcheck-tests=1000
59   - ..\cabal test memory-usage-tests --show-details=streaming