aboutsummaryrefslogtreecommitdiffstats
path: root/appveyor.yml
blob: 501e15aa905a9312d69ea0a6fa1296143d303561 (plain)
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
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

on_finish:
  - ps: |
      $Tshark = "run\\$Env:CONFIGURATION\\tshark.exe"
      if (Test-Path $Tshark) { & $Tshark --version }

# AppVeyor prevents to store artifacts exceeding 50 GB. Commenting out
# their upload for now. They can be re-enabled on your own repo from the
# configuration page:
# https://ci.appveyor.com/project/<username>/wireshark/settings/artifacts
# artifacts:
#  - path: Wireshark-*.exe

deploy: off