aboutsummaryrefslogtreecommitdiffstats
path: root/appveyor.yml
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2018-08-03 20:51:20 +0200
committerPeter Wu <peter@lekensteyn.nl>2018-08-20 05:28:17 +0000
commit2ec1d363aa8a23718b704abca756d7d880359c2d (patch)
tree5fe4691eca4ebde109b355e3a403fef67c44c2f1 /appveyor.yml
parent4e6a80f3e31a5bce8b162abd1a1069ca1e923ed1 (diff)
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>
Diffstat (limited to 'appveyor.yml')
-rw-r--r--appveyor.yml64
1 files changed, 64 insertions, 0 deletions
diff --git a/appveyor.yml b/appveyor.yml
new file mode 100644
index 0000000000..2c6fa45502
--- /dev/null
+++ b/appveyor.yml
@@ -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