-
Notifications
You must be signed in to change notification settings - Fork 0
/
appveyor.yml
95 lines (88 loc) · 5.27 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
environment:
AUTOMATED_CI_TESTING: 1
matrix:
- perl: default
- perl: default
myBits: --FORCEx86
- perl: default
W32MNPP_FORCE_VER: v8.1.4
# this tests the oldest logic
- perl: 5.20.3.3
W32MNPP_FORCE_VER: v8.3.3
# this tests the intermediate logic, as well as an older perl
#W32MNPP_FORCE_GEDCOM: https://sourceforge.net/projects/gedcomlexer/files/GedcomLexer-0.4.0-r140/GedcomLexer-0.4.0-r140-x64.zip
#W32MNPP_FORCE_GEDCOM: https://pryrt.com/nppxml/GedcomLexer-0.4.0-r140-x64.zip
#- perl: 5.32.0.1
#- perl: 5.30.3.1
#- perl: 5.28.2.1
#- perl: 5.26.3.1
#- perl: 5.24.4.1
#- perl: 5.22.3.1
#- perl: 5.20.3.3
# 5.18 and older are having trouble on AppVeyor after strawberry changed its servers.
#- perl: 5.18.4.1
##failed##- perl: 5.16.3.1 # choco package points to outdated download URL
#- perl: 5.16.3.20170202
#- perl: 5.14.4.1
##failed##- perl: 5.12.3.0 # choco package points to outdated download URL
##failed##- perl: 5.12.3.1 # choco package points to outdated download URL
#- perl: 5.12.3.20180709 # predates cpanm
#- perl: 5.10.1.5 # predates cpanm # see if the cpan -i App::cpanminus will overcome that
skip_tags: true
cache:
#- C:\strawberry -> appveyor.yml
install:
- IF NOT DEFINED myBits ( set myBits= & echo myBits equals space )
- echo myBits=_%myBits%_
#- cinst %myBits% notepadplusplus
- IF NOT DEFINED perl set perl=default
- echo install Perl v%perl%...
- IF /I %perl%==default (cinst %myBits% strawberryperl) ELSE (cinst %myBits% strawberryperl --version %perl%)
- IF NOT EXIST "chocologs" MKDIR chocologs
- IF EXIST "c:\ProgramData\chocolatey\logs" COPY /Y "c:\ProgramData\chocolatey\logs" "chocologs"
- set PATH=C:\strawberry\perl\bin;C:\strawberry\perl\site\bin;C:\strawberry\c\bin;%PATH%
- cd %APPVEYOR_BUILD_FOLDER%
- perl -le "print qq(installed perl v$])"
- IF NOT EXIST c:\strawberry\perl\bin\cpanm.bat ( cpan -i App::cpanminus )
# update cpanm to make sure it's new enough for installdeps to work
- cpanm App::cpanminus
- IF EXIST "C:\Users\appveyor\.cpanm\build.log" ( (TYPE "C:\Users\appveyor\.cpanm\build.log" >> cpanm.build.log ) & (DEL "C:\Users\appveyor\.cpanm\build.log") )
# make sure MakeMaker is new enough on v5.10, but not too new to install; unfortunately, test suite fails, so use --notest
- echo "%perl%" LSS "5.12"
- IF /I %perl% LSS 5.12 ( perl "-MExtUtils::MakeMaker" -le "print $ExtUtils::MakeMaker::VERSION" & cpanm "--notest" "ExtUtils::[email protected]" & perl "-MExtUtils::MakeMaker" -le "print $ExtUtils::MakeMaker::VERSION" )
- IF EXIST "C:\Users\appveyor\.cpanm\build.log" ( (TYPE "C:\Users\appveyor\.cpanm\build.log" >> cpanm.build.log ) & (DEL "C:\Users\appveyor\.cpanm\build.log") )
# these need a particular order, so do them manually; Encode::compat hangs in test suite, so run all these with --notest for speed
# use --verbose --no-interactive if I want to debug cpanm logs even without
#- set VERBOSE=--verbose --no-interactive
- set VERBOSE= &echo empty
- IF /I %perl% LSS 5.14 ( cpanm --notest %VERBOSE% Config::Perl::V Encode::compat & echo ordered install done, no bombout )
- IF EXIST "C:\Users\appveyor\.cpanm\build.log" ( (TYPE "C:\Users\appveyor\.cpanm\build.log" >> cpanm.build.log ) & (DEL "C:\Users\appveyor\.cpanm\build.log") )
- IF /I %perl% LSS 5.14 ( cpanm %VERBOSE% Math::Int64 & echo ordered install 2 done, no bombout )
- IF EXIST "C:\Users\appveyor\.cpanm\build.log" ( (TYPE "C:\Users\appveyor\.cpanm\build.log" >> cpanm.build.log ) & (DEL "C:\Users\appveyor\.cpanm\build.log") )
- IF /I %perl% LSS 5.14 ( cpanm %VERBOSE% Win32::API & echo ordered install 3 done, no bombout )
- IF EXIST "C:\Users\appveyor\.cpanm\build.log" ( (TYPE "C:\Users\appveyor\.cpanm\build.log" >> cpanm.build.log ) & (DEL "C:\Users\appveyor\.cpanm\build.log") )
# _now_ install the dependencies (--notest for speed)
- cpanm --installdeps --notest %VERBOSE% . & echo no bombout
- IF EXIST "C:\Users\appveyor\.cpanm\build.log" ( (TYPE "C:\Users\appveyor\.cpanm\build.log" >> cpanm.build.log ) & (DEL "C:\Users\appveyor\.cpanm\build.log") )
build_script:
- echo build using Perl=%perl%...
- perl -le "print qq(build with perl v$])"
## make: but don't want to have to know whether strawberry is using dmake, gmake, or futuremake
## ->doesn't actually matter; if you use cpanm --test-only for running the test suite, cpanm will handle the right make for the build process
## ->keep the commented version for future reference
#- if exist "Makefile.PL" (perl Makefile.PL)
#- if exist "Makefile" (perl -MConfig -le "system $Config{make}")
#- if exist "Makefile" (perl -MConfig -le "print qq($Config{make} test)" > mytest.bat) ELSE ( echo prove -l t > mytest.bat)
- echo build done
after_build:
- IF EXIST "c:\users\appveyor\.cpanm\work\" (MOVE /Y c:\users\appveyor\.cpanm\work .)
test_script:
- echo .....................................................
- echo test Perl=%perl%...
- perl -le "print qq(test with perl v$])"
- perl -V:ptrsize -V:ivsize -V:myuname
#- perl Makefile.PL && prove -l t
- cpanm --test-only --verbose --no-interactive .
artifacts:
- path: cpanm.build.log
- path: work\**\*.log