appveyor.yml: add integration with AppVeyor CI

Many dependencies (Git, MSVC2015, etc.) are already installed. The only
missing ones are HTMLHelp and Doxygen, but these are not used.

The AppVeyor free plan has one concurrent job with 2 cores, starting
with the first item in the test matrix. As everyone likely develops on
64-bit, 32-bit is more likely to break, thus prioritize it for VS2015.
For testing artifacts, do create a VS2017 x64 build before that though.

Cloning git and installing deps takes about 2-3 minutes. cmake takes
2-3 minutes. Wireshark.sln and test-programs build in about 11-12
minutes, tests run in about 3 minutes, nsis packages in 3-4 minutes.
A single job takes 21-28 minutes (depending on environment).

Change-Id: If0c738743ce3ccd7ddfb5d9e77cdb2d3a5354ac7
Reviewed-on: https://code.wireshark.org/review/28967
Reviewed-by: Dario Lombardo <lomato@gmail.com>
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
This commit is contained in:
Peter Wu 2018-08-03 20:51:20 +02:00
parent 4e6a80f3e3
commit 2ec1d363aa
1 changed files with 64 additions and 0 deletions

64
appveyor.yml Normal file
View File

@ -0,0 +1,64 @@
version: build{build}
image: Visual Studio 2015
environment:
WIRESHARK_BASE_DIR: C:\wireshark-libs
matrix:
# Note: if VS2017 win32 is added, just use Qt msvc2015 (binary compatible).
- PLATFORM: x64
CMAKE_GENERATOR: Visual Studio 15 2017 Win64
QT5_BASE_DIR: C:\Qt\5.11\msvc2017_64
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
# x86 does not work here, cmake expects win32/Win32 (case insensitive?)
- PLATFORM: win32
CMAKE_GENERATOR: Visual Studio 14 2015
QT5_BASE_DIR: C:\Qt\5.11\msvc2015
- PLATFORM: x64
CMAKE_GENERATOR: Visual Studio 14 2015 Win64
QT5_BASE_DIR: C:\Qt\5.11\msvc2015_64
cache:
- '%WIRESHARK_BASE_DIR%'
- C:\ProgramData\chocolatey\bin
- C:\ProgramData\chocolatey\lib
install:
- choco install winflexbison
# Java is already installed, prevent an expensive upgrade (102 seconds).
- choco install --ignore-dependencies asciidoctorj docbook-bundle xsltproc
# Py2 fails the test_tshark_unicode_display_filter test, so use Py3.
- set PATH=C:\Python37-x64;C:\Python37-x64\Scripts;%PATH%
- pip install pytest pytest-xdist
# Note: the NSIS installer lacks debug dlls for Debug builds.
configuration: RelWithDebInfo
build:
parallel: true
project: build\Wireshark.sln
before_build:
# Write ASCII (not UTF-16). Cannot use cmd due to repeated '%' unescapes.
- ps: echo "pkg_format=-%#-AppVeyor" | Out-File -Encoding ASCII version.conf
- perl make-version.pl --set-release
- mkdir build
- cd build
- cmake -E time cmake -G "%CMAKE_GENERATOR%" ..
after_build:
- msbuild /m nsis_package_prep.vcxproj
- msbuild /m nsis_package.vcxproj
# Relocate the installer such that the artifact URL looks nicer.
- move packaging\nsis\*.exe ..
before_test:
- msbuild /m test-programs.vcxproj
test_script:
- set WS_BIN_PATH=%CD%\run\%CONFIGURATION%
- pytest -nauto -ra ..\test
artifacts:
- path: Wireshark-*.exe
deploy: off