summaryrefslogtreecommitdiff
path: root/appveyor.yml
blob: 53cbde578a52c0cf779720cfa57de83db44108c9 (plain)
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#
# Appveyor configuration file for CI build of hiredis-happ on Windows (under Cygwin)
#
# For further details see http://www.appveyor.com
#

#
# Custom environment variables
#
environment:
    matrix:
        - CYG_ROOT: C:\cygwin64
          CYG_SETUP: setup-x86_64.exe
          CYG_MIRROR: http://cygwin.mirror.constant.com
          CYG_CACHE: C:\cygwin64\var\cache\setup
          CYG_BASH: C:\cygwin64\bin\bash
          CC: gcc
#          CFLAGS: -Werror
        - CYG_ROOT: C:\cygwin
          CYG_SETUP: setup-x86.exe
          CYG_MIRROR: http://cygwin.mirror.constant.com
          CYG_CACHE: C:\cygwin\var\cache\setup
          CYG_BASH: C:\cygwin\bin\bash
          CC: gcc
          TARGET: 32bit
          TARGET_VARS: 32bit-vars
#          CFLAGS: -Werror
#        - CC: clang
#          CFLAGS: -Werror
#          LDFLAGS:
#        - CC: clang
#          TARGET: 32bit
#          TARGET_VARS: 32bit-vars
#          CFLAGS: -Werror
#          LDFLAGS:
#
# Cache Cygwin files to speed up build
#
cache:
    - '%CYG_CACHE%'

#
# Do a shallow clone of the repo to speed up build
#
clone_depth: 1

#
# Initialisation prior to pulling the Mono repository
# Attempt to ensure we don't try to convert line endings to Win32 CRLF as this will cause build to fail
#
init:
    - git config --global core.autocrlf input

#
# Install needed build dependencies
#
install:
    - ps: 'Start-FileDownload "http://cygwin.com/$env:CYG_SETUP" -FileName "$env:CYG_SETUP"'
    - '%CYG_SETUP% --quiet-mode --no-shortcuts --only-site --root "%CYG_ROOT%" --site "%CYG_MIRROR%" --local-package-dir "%CYG_CACHE%" --packages automake,bison,gcc-core,libtool,make,gettext-devel,gettext,intltool,pkg-config,clang,llvm > NUL 2>&1'
    - '%CYG_BASH% -lc "cygcheck -dc cygwin"'

# Cygwin build script
#
# NOTES:
#
# The stdin/stdout file descriptor appears not to be valid for the Appveyor
# build which causes failures as certain functions attempt to redirect
# default file handles. Ensure a dummy file descriptor is opened with 'exec'.
#
build_script:
    - 'echo building...'
    - '%CYG_BASH% -lc "cd $APPVEYOR_BUILD_FOLDER; exec 0</dev/null; make LDFLAGS=$LDFLAGS CC=$CC $TARGET CFLAGS=$CFLAGS && make LDFLAGS=$LDFLAGS CC=$CC $TARGET_VARS hiredis-example"'
#
# Run unit test
# there is no valgrind in cygwin, so skipped
# test_script:
    #- '%CYG_BASH% -lc "cd $APPVEYOR_BUILD_FOLDER; exec 0</dev/null; <test command here>"'

#
# Only build the master branch
#
branches:
  only:
    - master

# no need artifacts