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