|
| 1 | +version: '{branch}.{build}' |
| 2 | +skip_tags: true |
| 3 | +image: Visual Studio 2019 |
| 4 | +configuration: Release |
| 5 | +platform: x64 |
| 6 | +clone_depth: 5 |
| 7 | +environment: |
| 8 | + PATH: 'C:\Python37-x64;C:\Python37-x64\Scripts;%PATH%' |
| 9 | + PYTHONUTF8: 1 |
| 10 | + QT_DOWNLOAD_URL: 'https://github.com/sipsorcery/qt_win_binary/releases/download/v1.6/Qt5.9.8_x64_static_vs2019.zip' |
| 11 | + QT_DOWNLOAD_HASH: '9a8c6eb20967873785057fdcd329a657c7f922b0af08c5fde105cc597dd37e21' |
| 12 | + QT_LOCAL_PATH: 'C:\Qt5.9.8_x64_static_vs2019' |
| 13 | + VCPKG_INSTALL_PATH: 'C:\tools\vcpkg\installed' |
| 14 | + VCPKG_COMMIT_ID: '40230b8e3f6368dcb398d649331be878ca1e9007' |
| 15 | +install: |
| 16 | +# Disable zmq test for now since python zmq library on Windows would cause Access violation sometimes. |
| 17 | +# - cmd: pip install zmq |
| 18 | +# Powershell block below is to install the c++ dependencies via vcpkg. The pseudo code is: |
| 19 | +# a. Checkout the vcpkg source (including port files) for the specific checkout and build the vcpkg binary, |
| 20 | +# b. Install the missing packages. |
| 21 | +- ps: | |
| 22 | + $env:PACKAGES = Get-Content -Path build_msvc\vcpkg-packages.txt |
| 23 | + Write-Host "vcpkg installing packages: $env:PACKAGES" |
| 24 | + cd c:\tools\vcpkg |
| 25 | + $env:GIT_REDIRECT_STDERR = '2>&1' # git is writing non-errors to STDERR when doing git pull. Send to STDOUT instead. |
| 26 | + git pull origin master > $null |
| 27 | + git checkout $env:VCPKG_COMMIT_ID |
| 28 | + git -c advice.detachedHead=false checkout $env:VCPKG_COMMIT_ID |
| 29 | + .\bootstrap-vcpkg.bat > $null |
| 30 | + Add-Content "C:\tools\vcpkg\triplets\$env:PLATFORM-windows-static.cmake" "set(VCPKG_BUILD_TYPE release)" |
| 31 | + .\vcpkg install --triplet $env:PLATFORM-windows-static $env:PACKAGES.split() > $null |
| 32 | + Write-Host "vcpkg packages installed successfully." |
| 33 | + .\vcpkg integrate install |
| 34 | + cd "$env:APPVEYOR_BUILD_FOLDER" |
| 35 | +before_build: |
| 36 | +# Powershell block below is to download and extract the Qt static libraries. The pseudo code is: |
| 37 | +# a. Download the zip file with the prebuilt Qt static libraries. |
| 38 | +# b. Check that the downloaded file matches the expected hash. |
| 39 | +# c. Extract the zip file to the specific destination path expected by the msbuild projects. |
| 40 | +- ps: | |
| 41 | + Write-Host "Downloading Qt binaries."; |
| 42 | + Invoke-WebRequest -Uri $env:QT_DOWNLOAD_URL -Out qtdownload.zip; |
| 43 | + Write-Host "Qt binaries successfully downloaded, checking hash against $env:QT_DOWNLOAD_HASH..."; |
| 44 | + if((Get-FileHash qtdownload.zip).Hash -eq $env:QT_DOWNLOAD_HASH) { |
| 45 | + Expand-Archive qtdownload.zip -DestinationPath $env:QT_LOCAL_PATH; |
| 46 | + Write-Host "Qt binary download matched the expected hash."; |
| 47 | + } |
| 48 | + else { |
| 49 | + Write-Host "ERROR: Qt binary download did not match the expected hash."; |
| 50 | + Exit-AppveyorBuild; |
| 51 | + } |
| 52 | +- cmd: python build_msvc\msvc-autogen.py |
| 53 | +build_script: |
| 54 | +- cmd: msbuild /p:TrackFileAccess=false build_msvc\bitcoin.sln /m /v:q /nologo |
| 55 | +after_build: |
| 56 | +#- 7z a bitcoin-%APPVEYOR_BUILD_VERSION%.zip %APPVEYOR_BUILD_FOLDER%\build_msvc\%platform%\%configuration%\*.exe |
| 57 | +test_script: |
| 58 | +- cmd: src\test_bitcoin.exe -k stdout -e stdout 2> NUL |
| 59 | +- cmd: src\bench_bitcoin.exe -evals=1 -scaling=0 > NUL |
| 60 | +- ps: python test\util\bitcoin-util-test.py |
| 61 | +- cmd: python test\util\rpcauth-test.py |
| 62 | +# Fee estimation test failing on appveyor with: WinError 10048] Only one usage of each socket address (protocol/network address/port) is normally permitted. |
| 63 | +- cmd: python test\functional\test_runner.py --ci --quiet --combinedlogslen=4000 --failfast --exclude feature_fee_estimation |
| 64 | +artifacts: |
| 65 | +#- path: bitcoin-%APPVEYOR_BUILD_VERSION%.zip |
| 66 | +deploy: off |
0 commit comments