-before_script:
- - apt-get update -qq
- - apt-get install ninja-build -y
- - ./tools/debian-setup.sh --install-optional -y
- - mkdir build
- - cd build
+.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:
- image: gcc:4
+ <<: *ubuntu
script:
- - cmake -GNinja ..
- - ninja
-gcc-4-noextcap:
- image: gcc:4
- script:
- - cmake -GNinja -DENABLE_EXTCAP=OFF ..
- - ninja
-gcc-4-nopcap:
- image: gcc:4
- script:
- - cmake -GNinja -DENABLE_PCAP=OFF ..
+ - ../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:
- image: gcc:5
- script:
- - cmake -GNinja ..
- - ninja
-gcc-5-noextcap:
- image: gcc:5
+ <<: *ubuntu
script:
- - cmake -GNinja -DENABLE_EXTCAP=OFF ..
- - ninja
-gcc-5-nopcap:
- image: gcc:5
- script:
- - cmake -GNinja -DENABLE_PCAP=OFF ..
+ - ../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:
- image: gcc:6
- script:
- - cmake -GNinja ..
- - ninja
-gcc-6-noextcap:
- image: gcc:6
- script:
- - cmake -GNinja -DENABLE_EXTCAP=OFF ..
- - ninja
-gcc-6-nopcap:
- image: gcc:6
+ <<: *ubuntu
script:
- - cmake -GNinja -DENABLE_PCAP=OFF ..
+ - ../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:
- image: gcc:7
+ <<: *ubuntu
script:
- - cmake -GNinja ..
- - ninja
-gcc-7-noextcap:
- image: gcc:7
- script:
- - cmake -GNinja -DENABLE_EXTCAP=OFF ..
- - ninja
-gcc-7-nopcap:
- image: gcc:7
- script:
- - cmake -GNinja -DENABLE_PCAP=OFF ..
- - ninja
-clang-3.5:
- image: ubuntu:16.04
- script:
- - apt install clang-3.5 -y
- - cmake -GNinja -DCMAKE_C_COMPILER=clang-3.5 -DCMAKE_CXX_COMPILER=clang++-3.5 ..
+ - ../tools/debian-setup.sh --install-optional gcc-7 g++-7 -y
+ - cmake -GNinja -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7 ..
- ninja
-clang-3.6:
- image: ubuntu:16.04
+gcc-8:
+ <<: *ubuntu
script:
- - apt install clang-3.6 -y
- - cmake -GNinja -DCMAKE_C_COMPILER=clang-3.6 -DCMAKE_CXX_COMPILER=clang++-3.6 ..
+ - ../tools/debian-setup.sh --install-optional gcc-8 g++-8 -y
+ - cmake -GNinja -DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER=g++-8 ..
- ninja
-clang-3.7:
- image: ubuntu:16.04
+gcc-8-nopcap:
+ <<: *ubuntu
script:
- - apt install clang-3.7 -y
- - cmake -GNinja -DCMAKE_C_COMPILER=clang-3.7 -DCMAKE_CXX_COMPILER=clang++-3.7 ..
+ - ../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-3.8:
- image: ubuntu:16.04
+clang-5:
+ <<: *ubuntu
script:
- - apt install clang-3.8 -y
- - cmake -GNinja -DCMAKE_C_COMPILER=clang-3.8 -DCMAKE_CXX_COMPILER=clang++-3.8 ..
- - ninja
-clang-3.9:
- image: ubuntu:16.04
- script:
- - apt install clang-3.9 -y
- - cmake -GNinja -DCMAKE_C_COMPILER=clang-3.9 -DCMAKE_CXX_COMPILER=clang++-3.9 ..
- - ninja
-clang-4.0:
- image: ubuntu:16.04
- script:
- - apt install clang-4.0 -y
- - cmake -GNinja -DCMAKE_C_COMPILER=clang-4.0 -DCMAKE_CXX_COMPILER=clang++-4.0 -DCMAKE_C_FLAGS=-Wframe-larger-than=20000 ..
- - ninja
-clang-5.0:
- image: ubuntu:16.04
- script:
- - echo "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-5.0 main" > /etc/apt/sources.list.d/clang5.list
- - curl -s https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
- - apt update -qq
- - apt install clang-5.0 -y
+ - ../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.0:
- image: ubuntu:16.04
+clang-6:
+ <<: *ubuntu
script:
- - echo "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial main" > /etc/apt/sources.list.d/clang6.list
- - curl -s https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
- - apt update -qq
- - apt install clang-6.0 -y
+ - ../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
+ - 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