aboutsummaryrefslogtreecommitdiffstats
path: root/.gitlab-ci.yml
blob: 30794ef4d77ddd048ab244abd3568217f6cbb29d (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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
.ubuntu: &ubuntu
  image: crondaemon/wireshark
  retry: 1
  before_script:
    - rm -rf /etc/apt/sources.list.d/*
    - echo "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial main" > /etc/apt/sources.list.d/clang.list
    - echo "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-6.0 main" > /etc/apt/sources.list.d/clang6.list
    - echo "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main" > /etc/apt/sources.list.d/clang7.list
    - apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 15CF4D18AF4F7421
    - echo "deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial main" > /etc/apt/sources.list.d/gcc.list
    - apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1E9377A2BA9EF27F
    - apt-get update -qq
    - mkdir build
    - cd build
.rpm: &rpm
  artifacts:
    paths:
      - build/packaging/rpm/RPMS
    expire_in: 3 days
gcc-4:
  <<: *ubuntu
  script:
    - ../tools/debian-setup.sh --install-optional gcc-4.9 g++-4.9 -y
    - cmake -GNinja -DCMAKE_C_COMPILER=gcc-4.9 -DCMAKE_CXX_COMPILER=g++-4.9 ..
    - ninja
gcc-5:
  <<: *ubuntu
  script:
    - ../tools/debian-setup.sh --install-optional gcc-5 g++-5 -y
    - cmake -GNinja -DCMAKE_C_COMPILER=gcc-5 -DCMAKE_CXX_COMPILER=g++-5 ..
    - ninja
gcc-6:
  <<: *ubuntu
  script:
    - ../tools/debian-setup.sh --install-optional gcc-6 g++-6 -y
    - cmake -GNinja -DCMAKE_C_COMPILER=gcc-6 -DCMAKE_CXX_COMPILER=g++-6 ..
    - ninja
gcc-7:
  <<: *ubuntu
  script:
    - ../tools/debian-setup.sh --install-optional gcc-7 g++-7 -y
    - cmake -GNinja -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7 ..
    - ninja
gcc-8:
  <<: *ubuntu
  script:
    - ../tools/debian-setup.sh --install-optional gcc-8 g++-8 -y
    - cmake -GNinja -DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER=g++-8 ..
    - ninja
gcc-8-nopcap:
  <<: *ubuntu
  script:
    - ../tools/debian-setup.sh --install-optional gcc-8 g++-8 -y
    - cmake -GNinja -DENABLE_PCAP=OFF -DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER=g++-8 ..
    - ninja
clang-5:
  <<: *ubuntu
  script:
    - ../tools/debian-setup.sh --install-optional clang-5.0 -y
    - cmake -GNinja -DCMAKE_C_COMPILER=clang-5.0 -DCMAKE_CXX_COMPILER=clang++-5.0 -DCMAKE_C_FLAGS=-Wframe-larger-than=20000 ..
    - ninja
clang-6:
  <<: *ubuntu
  script:
    - ../tools/debian-setup.sh --install-optional clang-6.0 -y
    - cmake -GNinja -DCMAKE_C_COMPILER=clang-6.0 -DCMAKE_CXX_COMPILER=clang++-6.0 -DCMAKE_C_FLAGS=-Wframe-larger-than=20000 ..
    - ninja
clang-7:
  <<: *ubuntu
  script:
     - ../tools/debian-setup.sh --install-optional clang-7 -y
     - cmake -GNinja -DCMAKE_C_COMPILER=clang-7 -DCMAKE_CXX_COMPILER=clang++-7 -DCMAKE_C_FLAGS=-Wframe-larger-than=20000 ..
     - ninja
clang-7-nopcap:
  <<: *ubuntu
  script:
    - ../tools/debian-setup.sh --install-optional clang-7 -y
    - cmake -GNinja -DENABLE_PCAP=OFF -DCMAKE_C_COMPILER=clang-7 -DCMAKE_CXX_COMPILER=clang++-7 -DCMAKE_C_FLAGS=-Wframe-larger-than=20000 ..
    - ninja
rpm-centos-7:
  <<: *rpm
  image: centos:7
  script:
    - yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    - tools/rpm-setup.sh --install-optional -y
    - mkdir build
    - cd build
    - cmake3 -GNinja ..
    - ninja-build rpm-package
rpm-opensuse-42.3:
  <<: *rpm
  image: opensuse:42.3
  script:
    - zypper --non-interactive install update-desktop-files
    - tools/rpm-setup.sh --install-optional ruby
    - gem install asciidoctor -v 1.5.8 --no-ri --no-rdoc
    - mkdir build
    - cd build
    - cmake -GNinja ..
    - ninja rpm-package
rpm-fedora-28:
  <<: *rpm
  image: fedora:28
  script:
    - dnf upgrade -y
    - tools/rpm-setup.sh --install-optional -y
    - mkdir build
    - cd build
    - cmake3 -GNinja ..
    - ninja-build rpm-package
after_script:
  - for builddir in build/packaging/rpm/BUILD/wireshark-*/build build/packaging/rpm/BUILD/wireshark-* build; do [ ! -d "$builddir" ] || break; done
  - if [ "$CI_JOB_NAME" = "rpm-opensuse-42.3" ]; then export LD_LIBRARY_PATH=$builddir/run; fi
  - if [ -f $builddir/run/tshark ]; then $builddir/run/tshark --version; fi