1
1
version : ' {branch}.{build}'
2
2
skip_tags : true
3
- image : Visual Studio 2017
3
+ image : Visual Studio 2019
4
4
configuration : Release
5
5
platform : x64
6
6
clone_depth : 5
7
7
environment :
8
8
APPVEYOR_SAVE_CACHE_ON_ERROR : true
9
9
CLCACHE_SERVER : 1
10
- PACKAGES : berkeleydb boost-filesystem boost-signals2 boost-test libevent openssl rapidcheck zeromq double-conversion
10
+ PACKAGES : berkeleydb boost-filesystem boost-multi-index boost- signals2 boost-test boost-thread libevent openssl rapidcheck zeromq double-conversion
11
11
PATH : ' C:\Python37-x64;C:\Python37-x64\Scripts;%PATH%'
12
12
PYTHONUTF8 : 1
13
- QT_DOWNLOAD_URL : ' https://github.com/sipsorcery/qt_win_binary/releases/download/v1.0/Qt5.9.7_ssl_x64_static_vs2017.zip'
14
- QT_DOWNLOAD_HASH : ' D4D35B8112302B67E5610A03421BB3E43FE13F14D9A5F637C22AE60DCEC0E0F5'
15
- QT_LOCAL_PATH : ' C:\Qt5.9.7_ssl_x64_static_vs2017'
13
+ QT_DOWNLOAD_URL : ' https://github.com/sipsorcery/qt_win_binary/releases/download/v1.4/Qt5.9.8_x64_static_vs2019.zip'
14
+ QT_DOWNLOAD_HASH : ' f285cbb02bec3b3f3cc2621e3fa7d5edf0d6a66fa30c57859e583acda954ea80'
15
+ QT_LOCAL_PATH : ' C:\Qt5.9.8_x64_static_vs2019'
16
+ VCPKG_INSTALL_PATH : ' C:\tools\vcpkg\installed'
16
17
cache :
17
18
- C:\tools\vcpkg\installed
18
19
- C:\Users\appveyor\clcache -> .appveyor.yml, build_msvc\**, **\Makefile.am, **\*.vcxproj.in
19
- - C:\Qt5.9.7_ssl_x64_static_vs2017
20
+ - C:\Qt5.9.8_x64_static_vs2019
20
21
install :
21
22
-
cmd :
pip install --quiet git+https://github.com/frerich/[email protected]
22
23
# Disable zmq test for now since python zmq library on Windows would cause Access violation sometimes.
23
24
# - cmd: pip install zmq
24
- - cmd : echo set(VCPKG_BUILD_TYPE release) >> C:\tools\vcpkg\triplets\%PLATFORM%-windows-static.cmake
25
- - cmd : vcpkg remove --outdated --recurse
26
- - cmd : vcpkg install --triplet %PLATFORM%-windows-static %PACKAGES% > NUL
25
+ # Powershell block below is to install the c++ dependencies via vcpkg. The pseudo code is:
26
+ # 1. If the vcpkg install directory exists assume dependencies are installed and do nothing. To
27
+ # force a fresh install of the packages delete the job's appveyor cache.
28
+ # 2. Otherwise:
29
+ # a. Update the vcpkg source (including port files) and build the vcpkg binary,
30
+ # b. Install the required packages.
31
+ - ps : |
32
+ cd c:\tools\vcpkg
33
+ if(!(Test-Path -Path ($env:VCPKG_INSTALL_PATH))) {
34
+ $env:GIT_REDIRECT_STDERR = '2>&1' # git is writing non-errors to STDERR when doing git pull. Send to STDOUT instead.
35
+ Add-Content "C:\tools\vcpkg\triplets\$env:PLATFORM-windows-static.cmake" "set(VCPKG_BUILD_TYPE release)"
36
+ git pull origin master
37
+ .\bootstrap-vcpkg.bat
38
+ .\vcpkg install --triplet $env:PLATFORM-windows-static $env:PACKAGES.split() > $null
39
+ }
40
+ else {
41
+ Write-Host "vcpkg packages already installed (to reinstall purge appveyor job's cache)."
42
+ }
43
+ .\vcpkg integrate install
44
+ cd "$env:APPVEYOR_BUILD_FOLDER"
27
45
before_build :
28
46
- ps : clcache -M 536870912
47
+ # Powershell block below is to download and extract the Qt static libraries. The pseudo code is:
48
+ # 1. If the Qt destination directory exists assume it is correct and do nothing. To
49
+ # force a fresh install of the packages delete the job's appveyor cache.
50
+ # 2. Otherwise:
51
+ # a. Download the zip file with the prebuilt Qt static libraries.
52
+ # b. Check that the downloaded file matches the expected hash.
53
+ # c. Extract the zip file to the specific destination path expected by the msbuild projects.
29
54
- ps : |
30
55
if(!(Test-Path -Path ($env:QT_LOCAL_PATH))) {
31
56
Write-Host "Downloading Qt binaries.";
@@ -44,17 +69,10 @@ before_build:
44
69
Write-Host "Qt binaries already present.";
45
70
}
46
71
- cmd : python build_msvc\msvc-autogen.py
47
- - ps : $files = (Get-ChildItem -Recurse | where {$_.extension -eq ".vcxproj"}).FullName
48
- - ps : for (${i} = 0; ${i} -lt ${files}.length; ${i}++) {
49
- ${content} = (Get-Content ${files}[${i}]);
50
- ${content} = ${content}.Replace("</RuntimeLibrary>", "</RuntimeLibrary><DebugInformationFormat>None</DebugInformationFormat>");
51
- ${content} = ${content}.Replace("<WholeProgramOptimization>true", "<WholeProgramOptimization>false");
52
- Set-Content ${files}[${i}] ${content};
53
- }
54
72
- ps : Start-Process clcache-server
55
73
- ps : fsutil behavior set disablelastaccess 0 # Enable Access time feature on Windows (for clcache)
56
74
build_script :
57
- - cmd : msbuild /p:TrackFileAccess=false /p:CLToolExe=clcache.exe build_msvc\bitcoin.sln /m /v:n /nologo
75
+ - cmd : msbuild /p:TrackFileAccess=false /p:CLToolExe=clcache.exe build_msvc\bitcoin.sln /m /v:q /nologo
58
76
after_build :
59
77
- ps : fsutil behavior set disablelastaccess 1 # Disable Access time feature on Windows (better performance)
60
78
- ps : clcache -z
@@ -64,7 +82,8 @@ test_script:
64
82
- cmd : src\bench_bitcoin.exe -evals=1 -scaling=0 > NUL
65
83
- ps : python test\util\bitcoin-util-test.py
66
84
- cmd : python test\util\rpcauth-test.py
67
- - cmd : python test\functional\test_runner.py --ci --quiet --combinedlogslen=4000 --failfast
85
+ # Fee estimation test failing on appveyor with: WinError 10048] Only one usage of each socket address (protocol/network address/port) is normally permitted.
86
+ - cmd : python test\functional\test_runner.py --ci --quiet --combinedlogslen=4000 --failfast --exclude feature_fee_estimation
68
87
artifacts :
69
88
# - path: bitcoin-%APPVEYOR_BUILD_VERSION%.zip
70
89
deploy : off
0 commit comments