wireshark/.gitlab-ci.yml

188 lines
5.3 KiB
YAML
Raw Normal View History

.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
# The custom Ubuntu image pre-installs dependencies and compilers to speed up the build:
# https://hub.docker.com/r/wireshark/wireshark-ubuntu-dev
# https://github.com/wireshark/wireshark-ubuntu-dev-docker
.build-ubuntu: &build-ubuntu
<<: *build
image: wireshark/wireshark-ubuntu-dev
retry: 1
before_script:
- apt-get update -qq
- ./tools/debian-setup.sh --install-optional --install-test-deps -y
- 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-5:
<<: *build-ubuntu
script:
- cmake -GNinja -DCMAKE_C_COMPILER=gcc-5 -DCMAKE_CXX_COMPILER=g++-5 ..
- ninja
- ninja test-programs
- chown -R user .
- su user -c pytest-3
gcc-6:
<<: *build-ubuntu
script:
- cmake -GNinja -DCMAKE_C_COMPILER=gcc-6 -DCMAKE_CXX_COMPILER=g++-6 ..
- ninja
- ninja test-programs
- chown -R user .
- su user -c pytest-3
gcc-7:
<<: *build-ubuntu
script:
- cmake -GNinja -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7 ..
- ninja
- ninja test-programs
- chown -R user .
- su user -c pytest-3
gcc-8:
<<: *build-ubuntu
script:
- cmake -GNinja -DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER=g++-8 ..
- ninja
- ninja test-programs
- chown -R user .
- su user -c pytest-3
gcc-8-nopcap:
<<: *build-ubuntu
script:
- 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-3
clang-5:
<<: *build-ubuntu
script:
- 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-3
clang-6:
<<: *build-ubuntu
script:
- 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-3
clang-7:
<<: *build-ubuntu
script:
- 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-3
clang-7-nopcap:
<<: *build-ubuntu
script:
- 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-3
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