-
Notifications
You must be signed in to change notification settings - Fork 1
/
appveyor.yml
65 lines (58 loc) · 2.96 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
59
60
61
62
63
64
65
# See https://github.com/harendra-kumar/packcheck for all options and their
# explanation.
environment:
global:
# ------------------------------------------------------------------------
# Global options used for all CI tests
# ------------------------------------------------------------------------
# GHC_OPTIONS: "-Werror"
# ------------------------------------------------------------------------
# Options for builds that need stack (note, cabal builds can use stack)
# ------------------------------------------------------------------------
# Note requiring a specific version of stack using STACKVER may fail due to
# github API limit while checking and upgrading/downgrading to the specific
# version.
#STACKVER: "1.6.5"
STACK_UPGRADE: "y"
RESOLVER: "lts-11.0"
# ------------------------------------------------------------------------
# Normally you would not need to customize these params
# ------------------------------------------------------------------------
CABAL_REINIT_CONFIG: "y"
CABAL_CHECK_RELAX: "y"
CABAL_NO_SANDBOX: "y"
CABAL_HACKAGE_MIRROR: "hackage.haskell.org:http://hackage.fpcomplete.com"
TEST_INSTALL: "y"
LC_ALL: "C.UTF-8"
PATH: "%PATH%;%APPDATA%\\local\\bin"
STACK_ROOT: "c:\\sr"
LOCAL_BIN: "%APPDATA%\\local\\bin"
# ------------------------------------------------------------------------
# Location of packcheck.sh (the shell script invoked to perform CI tests ).
# ------------------------------------------------------------------------
# You can either commit the packcheck.sh script at this path in your repo or
# you can use it by specifying the PACKCHECK_REPO_URL option below in which
# case it will be automatically copied from the packcheck repo to this path
# during CI tests. In any case it is finally invoked from this path.
PACKCHECK_LOCAL_PATH: "./packcheck.sh"
# If you have not committed packcheck.sh in your repo at PACKCHECK_LOCAL_PATH
# then it is automatically pulled from this URL.
PACKCHECK_GITHUB_URL: "https://raw.githubusercontent.com/harendra-kumar/packcheck"
PACKCHECK_GITHUB_COMMIT: "64d6963e6fdd5d7847d0bf70d1ae29b96273a1b0"
cache:
- "%STACK_ROOT%"
- "%LOCAL_BIN%"
- "%APPDATA%\\cabal"
- "%APPDATA%\\ghc"
# - "%LOCALAPPDATA%\\Programs\\stack"
clone_folder: "c:\\pkg"
build: off
before_test:
- if not exist %PACKCHECK_LOCAL_PATH% curl -sSkL -o%PACKCHECK_LOCAL_PATH% %PACKCHECK_GITHUB_URL%/%PACKCHECK_GITHUB_COMMIT%/packcheck.sh
- if not exist %LOCAL_BIN% mkdir %LOCAL_BIN%
- where stack.exe || curl -sSkL -ostack.zip http://www.stackage.org/stack/windows-x86_64 && 7z x stack.zip stack.exe && move stack.exe %LOCAL_BIN%
- if defined STACKVER (stack upgrade --binary-only --binary-version %STACKVER%) else (stack upgrade --binary-only || ver > nul)
- stack --version
test_script:
- stack setup > nul
- chcp 65001 && stack exec bash -- -c "chmod +x %PACKCHECK_LOCAL_PATH%; %PACKCHECK_LOCAL_PATH% stack"