forked from osmocom/wireshark
210 lines
6.7 KiB
YAML
210 lines
6.7 KiB
YAML
.build: &build
|
|
stage: build
|
|
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
|
|
.build-ubuntu: &build-ubuntu
|
|
<<: *build
|
|
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
|
|
- apt-get install -y python3-pip locales
|
|
- pip3 install pytest pytest-xdist
|
|
- useradd user
|
|
- locale-gen en_US.UTF-8
|
|
- export LANG=en_US.UTF-8
|
|
- export PYTEST_ADDOPTS=--skip-missing-programs=dumpcap,rawshark
|
|
- mkdir build
|
|
- cd build
|
|
.build-rpm: &build-rpm
|
|
<<: *build
|
|
artifacts:
|
|
paths:
|
|
- build/packaging/rpm/RPMS
|
|
expire_in: 3 days
|
|
gcc-4:
|
|
<<: *build-ubuntu
|
|
script:
|
|
- ../tools/debian-setup.sh --install-optional --install-test-deps gcc-4.9 g++-4.9 -y
|
|
- cmake -GNinja -DCMAKE_C_COMPILER=gcc-4.9 -DCMAKE_CXX_COMPILER=g++-4.9 ..
|
|
- ninja
|
|
- ninja test-programs
|
|
- chown -R user .
|
|
- su user -c pytest
|
|
gcc-5:
|
|
<<: *build-ubuntu
|
|
script:
|
|
- ../tools/debian-setup.sh --install-optional --install-test-deps gcc-5 g++-5 -y
|
|
- cmake -GNinja -DCMAKE_C_COMPILER=gcc-5 -DCMAKE_CXX_COMPILER=g++-5 ..
|
|
- ninja
|
|
- ninja test-programs
|
|
- chown -R user .
|
|
- su user -c pytest
|
|
gcc-6:
|
|
<<: *build-ubuntu
|
|
script:
|
|
- ../tools/debian-setup.sh --install-optional --install-test-deps gcc-6 g++-6 -y
|
|
- cmake -GNinja -DCMAKE_C_COMPILER=gcc-6 -DCMAKE_CXX_COMPILER=g++-6 ..
|
|
- ninja
|
|
- ninja test-programs
|
|
- chown -R user .
|
|
- su user -c pytest
|
|
gcc-7:
|
|
<<: *build-ubuntu
|
|
script:
|
|
- ../tools/debian-setup.sh --install-optional --install-test-deps gcc-7 g++-7 -y
|
|
- cmake -GNinja -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7 ..
|
|
- ninja
|
|
- ninja test-programs
|
|
- chown -R user .
|
|
- su user -c pytest
|
|
gcc-8:
|
|
<<: *build-ubuntu
|
|
script:
|
|
- ../tools/debian-setup.sh --install-optional --install-test-deps gcc-8 g++-8 -y
|
|
- cmake -GNinja -DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER=g++-8 ..
|
|
- ninja
|
|
- ninja test-programs
|
|
- chown -R user .
|
|
- su user -c pytest
|
|
gcc-8-nopcap:
|
|
<<: *build-ubuntu
|
|
script:
|
|
- ../tools/debian-setup.sh --install-optional --install-test-deps gcc-8 g++-8 -y
|
|
- cmake -GNinja -DENABLE_PCAP=OFF -DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER=g++-8 ..
|
|
- ninja
|
|
- ninja test-programs
|
|
- chown -R user .
|
|
- su user -c pytest
|
|
clang-5:
|
|
<<: *build-ubuntu
|
|
script:
|
|
- ../tools/debian-setup.sh --install-optional --install-test-deps 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
|
|
- ninja test-programs
|
|
- chown -R user .
|
|
- su user -c pytest
|
|
clang-6:
|
|
<<: *build-ubuntu
|
|
script:
|
|
- ../tools/debian-setup.sh --install-optional --install-test-deps 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
|
|
- ninja test-programs
|
|
- chown -R user .
|
|
- su user -c pytest
|
|
clang-7:
|
|
<<: *build-ubuntu
|
|
script:
|
|
- ../tools/debian-setup.sh --install-optional --install-test-deps clang-7 -y
|
|
- cmake -GNinja -DCMAKE_C_COMPILER=clang-7 -DCMAKE_CXX_COMPILER=clang++-7 -DCMAKE_C_FLAGS=-Wframe-larger-than=20000 ..
|
|
- ninja
|
|
- ninja test-programs
|
|
- chown -R user .
|
|
- su user -c pytest
|
|
clang-7-nopcap:
|
|
<<: *build-ubuntu
|
|
script:
|
|
- ../tools/debian-setup.sh --install-optional --install-test-deps 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
|
|
- ninja test-programs
|
|
- chown -R user .
|
|
- su user -c pytest
|
|
build:rpm-centos-7:
|
|
<<: *build-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
|
|
test:rpm-centos-7:
|
|
stage: test
|
|
image: centos:7
|
|
script:
|
|
- yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
|
|
- yum --nogpgcheck localinstall -y build/packaging/rpm/RPMS/x86_64/*.rpm
|
|
- tshark --version
|
|
dependencies:
|
|
- build:rpm-centos-7
|
|
variables:
|
|
GIT_STRATEGY: none
|
|
.build-rpm-opensuse: &build-rpm-opensuse
|
|
<<: *build-rpm
|
|
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
|
|
.test-rpm-opensuse: &test-rpm-opensuse
|
|
stage: test
|
|
script:
|
|
- zypper --no-gpg-checks install -y build/packaging/rpm/RPMS/x86_64/*.rpm
|
|
- tshark --version
|
|
variables:
|
|
GIT_STRATEGY: none
|
|
build:rpm-opensuse-42.3:
|
|
<<: *build-rpm-opensuse
|
|
image: opensuse:42.3
|
|
test:rpm-opensuse-42.3:
|
|
<<: *test-rpm-opensuse
|
|
image: opensuse:42.3
|
|
dependencies:
|
|
- build:rpm-opensuse-42.3
|
|
build:rpm-opensuse-15.0:
|
|
<<: *build-rpm-opensuse
|
|
image: opensuse/leap:15.0
|
|
test:rpm-opensuse-15.0:
|
|
<<: *test-rpm-opensuse
|
|
image: opensuse/leap:15.0
|
|
dependencies:
|
|
- build:rpm-opensuse-15.0
|
|
.build-rpm-fedora: &build-rpm-fedora
|
|
<<: *build-rpm
|
|
script:
|
|
- dnf upgrade -y
|
|
- tools/rpm-setup.sh --install-optional -y
|
|
- mkdir build
|
|
- cd build
|
|
- cmake3 -GNinja ..
|
|
- ninja-build rpm-package
|
|
.test-rpm-fedora: &test-rpm-fedora
|
|
stage: test
|
|
script:
|
|
- dnf install -y build/packaging/rpm/RPMS/x86_64/*.rpm
|
|
- tshark --version
|
|
variables:
|
|
GIT_STRATEGY: none
|
|
build:rpm-fedora-28:
|
|
<<: *build-rpm-fedora
|
|
image: fedora:28
|
|
test:rpm-fedora-28:
|
|
<<: *test-rpm-fedora
|
|
image: fedora:28
|
|
dependencies:
|
|
- build:rpm-fedora-28
|
|
build:rpm-fedora-29:
|
|
<<: *build-rpm-fedora
|
|
image: fedora:29
|
|
test:rpm-fedora-29:
|
|
<<: *test-rpm-fedora
|
|
image: fedora:29
|
|
dependencies:
|
|
- build:rpm-fedora-29
|