forked from radiator-software/p5-net-ssleay
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.appveyor.yml
128 lines (114 loc) · 3.91 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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# .appveyor.yml
#
# AppVeyor configuration to test Net::SSLeay on Windows
#
# If old Perls start to fail, consider skipping the build tests
# completely or see how to test just the distribution package. What we
# do now is to test build environment. What's actually needed,
# especially with older Perls, is just to see if the distribution
# Net::SSLeay package compiles and passes 'make test' successfully.
#
# Various parts collected from:
# cache, install and build_script sections thanks to blogs.perl.org
# entries by eserte and mauke.
#
# 64bit/32bit Strawberry Perl selection thanks to pali's
# github/Email-Address-XS
#
# Using $Config{make} for not needing to know if make is called dmake,
# gmake, etc. from a PerlMonks posting by pyrt.
# 2017 is Windows Server 2016, earlier are 2012R2
image:
- Visual Studio 2017
- Visual Studio 2015
# There's also Any CPU. Note: this does not select 32bit or 64bit
# OS. Both server versions are 64bit and this seems to be related to
# Visual Studio configuration. We use this to choose either 64bit or
# 32bit Strawberry Perl.
platform:
- x64
- x86
# Environment variables need to:
# - use defaults for external tests and other Makefile.PL prompts
# - make sure that we use OpenSSL from Strawberry Perl instead of, for
# example, c:\OpenSSL-Win32 that comes pre-installed on the VM.
# Additional variables in matrix are needed because:
# - old Strawberry Perls don't have cpanm
# - on server 2012R2 image's MinGW was causing linking problems with
# Strawberry Perl's MinGW.
# - See 1.86 developer builds for config that did more with cpanm.
environment:
AUTOMATED_TESTING: 1
PERL_MM_USE_DEFAULT: 1
RELEASE_TESTING: 0
OPENSSL_PREFIX: C:\strawberry\c
matrix:
- perl: 5.28.0.1
- perl: 5.26.2.1
- perl: 5.24.4.1
- perl: 5.22.3.1
- perl: 5.20.3.3
- perl: 5.18.4.1
- perl: 5.16.3.20170202
- perl: 5.14.4.1
- perl: 5.12.3.20180709
ssleay_need_cpanm: 1
- perl: 5.10.1.5
ssleay_need_cpanm: 1
ssleay_rename_mingw: 1
- perl: 5.8.9.5
ssleay_need_cpanm: 1
ssleay_rename_mingw: 1
# 64 bit Strawberry Perl is not built for all versions
matrix:
exclude:
- perl: 5.10.1.5
platform: x64
- perl: 5.8.9.5
platform: x64
# Skip build for every push on most branches
branches:
only:
- master
- /appveyor/
# Tags need not to trigger builds
skip_tags: true
# Skip duplicate builds when pull request is open
skip_branch_with_pr: true
# Speed up things: just get this specific gommit, not entire repo
shallow_clone: true
# Our build size exceeds cache storage size: save resources by
# skipping compress and failing upload
#cache:
# - C:\strawberry
# Need to be careful to get quotes right
install:
- if /I "%PLATFORM%" == "x86" (set x86=--forcex86) else (set x86="")
- set sp_install_cmd=choco install strawberryperl --yes %x86% --version %perl%
- echo "Using perl %perl% on image %APPVEYOR_BUILD_WORKER_IMAGE%, platform %PLATFORM%"
- echo "Install command %sp_install_cmd%"
- if not exist "C:\strawberry" %sp_install_cmd%
- set PATH=C:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin;%PATH%
- cd %APPVEYOR_BUILD_FOLDER%
- if /I "%ssleay_need_cpanm%" == "1" cpan App::cpanminus
- if /I "%ssleay_rename_mingw%" == "1" if exist C:\MinGW move C:\MinGW C:\MinGW-image
- if /I "%ssleay_rename_mingw%" == "1" if exist C:\MinGW-W64 move C:\MinGW-W64 C:\MinGW-W64-image
- cpanm --no-man-pages --installdeps --with-develop --notest .
- perl -V
# Run make
build_script:
- perl Makefile.PL
- perl -MConfig -e "system $Config{make}"
# Run make test
test_script:
- perl -MConfig -e "system $Config{make}, 'test'"
# Build some artifacts
after_test:
- tar zcvf Net-SSLeay.tar.gz blib
- perl -MConfig -e "system $Config{make}, 'ppd'"
# Make Net-SSLeay-a.bb.tar.gz available for closer looking
artifacts:
- path: Net-SSLeay.tar.gz
name: PPM file
- path: Net-SSLeay.ppd
name: PPD file for PPM