2 # Using '-y' and 'refreshenv' as a workaround to:
3 # https://github.com/haskell/cabal/issues/3687
4 - choco install -y cabal
5 - choco install -y ghc --version 8.0.2
7 # See http://help.appveyor.com/discussions/problems/6312-curl-command-not-found#comment_42195491
8 # NB: Do this after refreshenv, otherwise it will be clobbered!
9 - set PATH=%APPDATA%\cabal\bin;C:\Program Files\Git\mingw64\bin;%PATH%
12 # Install parsec, text and mtl, also alex and happy
13 - echo "" | appveyor-retry cabal install parsec-3.1.13.0 text-1.2.3.0 mtl-2.2.2 alex-3.2.4 happy-1.19.9
17 - ghc --make -threaded -i -i. Setup.hs -Wall -Werror -XRank2Types -XFlexibleContexts
19 # 'echo "" |' works around an AppVeyor issue:
20 # https://github.com/commercialhaskell/stack/issues/1097#issuecomment-145747849
21 - echo "" | ..\appveyor-retry cabal install --only-dependencies --enable-tests
23 - Setup configure --user --ghc-option=-Werror --enable-tests
25 - Setup test --show-details=streaming --test-option=--hide-successes
27 - echo "" | cabal install hackage-repo-tool --allow-newer=Cabal,time --constraint="Cabal == 2.3.0.0"
28 - cd ..\cabal-testsuite
29 - ghc --make -threaded -i Setup.hs -package Cabal-2.3.0.0
30 - echo "" | ..\appveyor-retry cabal install --only-dependencies --enable-tests
31 - Setup configure --user --ghc-option=-Werror --enable-tests
33 # Must install the test suite, so that our GHCi invocation picks it up
35 # Copy the setup script into the spot cabal-tests expects it
37 - cp Setup.exe dist\setup
38 - dist\build\cabal-tests\cabal-tests.exe -j3
39 # - Setup test --show-details=streaming --test-option=--hide-successes
41 - ghc --make -threaded -i -i. Setup.hs -Wall -Werror
42 - echo "" | ..\appveyor-retry cabal install --only-dependencies --enable-tests -flib
43 - cabal configure --user --ghc-option=-Werror --enable-tests -flib
45 # update package index again, this time for the cabal under test
46 - dist\build\cabal\cabal.exe --http-transport=powershell update -v
47 # run cabal-testsuite first as it has better logging
48 - cd ..\cabal-testsuite
49 - dist\build\cabal-tests\cabal-tests.exe -j3 --skip-setup-tests --with-cabal=..\cabal-install\dist\build\cabal\cabal.exe
51 - cabal test unit-tests --show-details=streaming --test-option="--pattern=! /FileMonitor/" --test-option=--hide-successes
52 - cabal test integration-tests2 --show-details=streaming --test-option=--hide-successes
53 - cabal test solver-quickcheck --show-details=streaming --test-option=--quickcheck-tests=1000
54 - cabal test memory-usage-tests --show-details=streaming