sq krb_pa_supported_enctypes
[metze/wireshark/wip.git] / .gitlab-ci.yml
index 74b4121028441ca1b23f38c5d80e15410f97a3a0..d328ad832fdff5e2ebc41d08de709bf552caaf84 100644 (file)
-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