TODO ... pkinit win2k
[metze/wireshark/wip.git] / .gitlab-ci.yml
1 .ubuntu: &ubuntu
2   image: crondaemon/wireshark
3   retry: 1
4   before_script:
5     - rm -rf /etc/apt/sources.list.d/*
6     - echo "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial main" > /etc/apt/sources.list.d/clang.list
7     - echo "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-6.0 main" > /etc/apt/sources.list.d/clang6.list
8     - echo "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main" > /etc/apt/sources.list.d/clang7.list
9     - apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 15CF4D18AF4F7421
10     - echo "deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial main" > /etc/apt/sources.list.d/gcc.list
11     - apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1E9377A2BA9EF27F
12     - apt-get update -qq
13     - mkdir build
14     - cd build
15 .rpm: &rpm
16   artifacts:
17     paths:
18       - build/packaging/rpm/RPMS
19     expire_in: 3 days
20 gcc-4:
21   <<: *ubuntu
22   script:
23     - ../tools/debian-setup.sh --install-optional gcc-4.9 g++-4.9 -y
24     - cmake -GNinja -DCMAKE_C_COMPILER=gcc-4.9 -DCMAKE_CXX_COMPILER=g++-4.9 ..
25     - ninja
26 gcc-5:
27   <<: *ubuntu
28   script:
29     - ../tools/debian-setup.sh --install-optional gcc-5 g++-5 -y
30     - cmake -GNinja -DCMAKE_C_COMPILER=gcc-5 -DCMAKE_CXX_COMPILER=g++-5 ..
31     - ninja
32 gcc-6:
33   <<: *ubuntu
34   script:
35     - ../tools/debian-setup.sh --install-optional gcc-6 g++-6 -y
36     - cmake -GNinja -DCMAKE_C_COMPILER=gcc-6 -DCMAKE_CXX_COMPILER=g++-6 ..
37     - ninja
38 gcc-7:
39   <<: *ubuntu
40   script:
41     - ../tools/debian-setup.sh --install-optional gcc-7 g++-7 -y
42     - cmake -GNinja -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7 ..
43     - ninja
44 gcc-8:
45   <<: *ubuntu
46   script:
47     - ../tools/debian-setup.sh --install-optional gcc-8 g++-8 -y
48     - cmake -GNinja -DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER=g++-8 ..
49     - ninja
50 gcc-8-nopcap:
51   <<: *ubuntu
52   script:
53     - ../tools/debian-setup.sh --install-optional gcc-8 g++-8 -y
54     - cmake -GNinja -DENABLE_PCAP=OFF -DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER=g++-8 ..
55     - ninja
56 clang-5:
57   <<: *ubuntu
58   script:
59     - ../tools/debian-setup.sh --install-optional clang-5.0 -y
60     - cmake -GNinja -DCMAKE_C_COMPILER=clang-5.0 -DCMAKE_CXX_COMPILER=clang++-5.0 -DCMAKE_C_FLAGS=-Wframe-larger-than=20000 ..
61     - ninja
62 clang-6:
63   <<: *ubuntu
64   script:
65     - ../tools/debian-setup.sh --install-optional clang-6.0 -y
66     - cmake -GNinja -DCMAKE_C_COMPILER=clang-6.0 -DCMAKE_CXX_COMPILER=clang++-6.0 -DCMAKE_C_FLAGS=-Wframe-larger-than=20000 ..
67     - ninja
68 clang-7:
69   <<: *ubuntu
70   script:
71      - ../tools/debian-setup.sh --install-optional clang-7 -y
72      - cmake -GNinja -DCMAKE_C_COMPILER=clang-7 -DCMAKE_CXX_COMPILER=clang++-7 -DCMAKE_C_FLAGS=-Wframe-larger-than=20000 ..
73      - ninja
74 clang-7-nopcap:
75   <<: *ubuntu
76   script:
77     - ../tools/debian-setup.sh --install-optional clang-7 -y
78     - cmake -GNinja -DENABLE_PCAP=OFF -DCMAKE_C_COMPILER=clang-7 -DCMAKE_CXX_COMPILER=clang++-7 -DCMAKE_C_FLAGS=-Wframe-larger-than=20000 ..
79     - ninja
80 rpm-centos-7:
81   <<: *rpm
82   image: centos:7
83   script:
84     - yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
85     - tools/rpm-setup.sh --install-optional -y
86     - mkdir build
87     - cd build
88     - cmake3 -GNinja ..
89     - ninja-build rpm-package
90 rpm-opensuse-42.3:
91   <<: *rpm
92   image: opensuse:42.3
93   script:
94     - zypper --non-interactive install update-desktop-files
95     - tools/rpm-setup.sh --install-optional ruby
96     - gem install asciidoctor
97     - mkdir build
98     - cd build
99     - cmake -GNinja ..
100     - ninja rpm-package
101 rpm-fedora-28:
102   <<: *rpm
103   image: fedora:28
104   script:
105     - dnf upgrade -y
106     - tools/rpm-setup.sh --install-optional -y
107     - mkdir build
108     - cd build
109     - cmake3 -GNinja ..
110     - ninja-build rpm-package
111 after_script:
112   - for builddir in build/packaging/rpm/BUILD/wireshark-*/build build/packaging/rpm/BUILD/wireshark-* build; do [ ! -d "$builddir" ] || break; done
113   - if [ "$CI_JOB_NAME" = "rpm-opensuse-42.3" ]; then export LD_LIBRARY_PATH=$builddir/run; fi
114   - if [ -f $builddir/run/tshark ]; then $builddir/run/tshark --version; fi