2019-04-10 10:52:52 +00:00
|
|
|
.build: &build
|
|
|
|
stage: build
|
|
|
|
after_script:
|
2020-03-11 22:18:21 +00:00
|
|
|
- for builddir in build/packaging/rpm/BUILD/wireshark-*/build build/packaging/rpm/BUILD/wireshark-* build obj-*; do [ ! -d "$builddir/run" ] || break; done
|
|
|
|
- if [[ "$CI_JOB_NAME" == "build:rpm-opensuse-"* ]]; then export LD_LIBRARY_PATH=$builddir/run; fi
|
2019-04-10 10:52:52 +00:00
|
|
|
- if [ -f $builddir/run/tshark ]; then $builddir/run/tshark --version; fi
|
2019-05-04 21:02:33 +00:00
|
|
|
|
|
|
|
# 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
|
2019-04-10 10:52:52 +00:00
|
|
|
.build-ubuntu: &build-ubuntu
|
|
|
|
<<: *build
|
2019-05-04 21:02:33 +00:00
|
|
|
image: wireshark/wireshark-ubuntu-dev
|
2018-06-08 08:36:16 +00:00
|
|
|
retry: 1
|
2020-09-01 21:41:02 +00:00
|
|
|
# https://gould.cx/ted/blog/2017/06/10/ccache-for-Gitlab-CI/
|
|
|
|
cache:
|
|
|
|
# XXX Use ${CI_JOB_NAME}-${CI_MERGE_REQUEST_TARGET_BRANCH_NAME} instead?
|
|
|
|
key: ${CI_JOB_NAME}-master
|
|
|
|
paths:
|
|
|
|
- ccache/
|
2018-06-08 08:36:16 +00:00
|
|
|
before_script:
|
|
|
|
- apt-get update -qq
|
2019-05-10 08:49:17 +00:00
|
|
|
- ./tools/debian-setup.sh --install-optional --install-test-deps -y
|
2019-04-12 14:32:32 +00:00
|
|
|
- useradd user
|
|
|
|
- locale-gen en_US.UTF-8
|
|
|
|
- export LANG=en_US.UTF-8
|
|
|
|
- export PYTEST_ADDOPTS=--skip-missing-programs=dumpcap,rawshark
|
2020-09-01 21:41:02 +00:00
|
|
|
- mkdir -p ccache
|
|
|
|
- apt-get install -y ccache
|
|
|
|
- export CCACHE_BASEDIR=${PWD}
|
|
|
|
- export CCACHE_DIR=${PWD}/ccache
|
|
|
|
- ccache --show-stats
|
|
|
|
- export DEB_BUILD_OPTIONS=nocheck
|
2020-09-09 20:20:46 +00:00
|
|
|
- export DH_QUIET=1
|
|
|
|
- export MAKEFLAGS=--silent
|
2018-06-08 08:36:16 +00:00
|
|
|
- mkdir build
|
|
|
|
- cd build
|
2019-05-12 20:33:34 +00:00
|
|
|
script:
|
|
|
|
- cmake -GNinja $CMAKE_ARGS ..
|
|
|
|
- ninja
|
|
|
|
- ninja test-programs
|
|
|
|
- chown -R user .
|
2019-05-13 07:06:35 +00:00
|
|
|
- if [ -f run/dumpcap ]; then setcap cap_net_raw,cap_net_admin+eip run/dumpcap; fi
|
2019-05-12 20:33:34 +00:00
|
|
|
- su user -c pytest-3
|
|
|
|
|
2019-04-10 10:52:52 +00:00
|
|
|
.build-rpm: &build-rpm
|
|
|
|
<<: *build
|
2019-01-17 09:13:09 +00:00
|
|
|
artifacts:
|
|
|
|
paths:
|
|
|
|
- build/packaging/rpm/RPMS
|
|
|
|
expire_in: 3 days
|
2019-05-12 20:33:34 +00:00
|
|
|
|
gitlab-ci: remove unnecessary jobs, upgrade versions
The point of testing multiple compiler versions is to catch bugs that
only occur in one particular version. After an analysis of 800+ failed
builds, it appears that a lot of the checks are redundant. Changes:
* Drop GCC 6 and keep GCC 5, Ubuntu 16.04 default GCC is 5.3. Fixes for
warnings in old compilers: commit 829d2c3752 (GCC 5 + 6), commit
e451ea0a4d (Clang 5, GCC 4 + 5). Maybe GCC 5 can also be dropped since
Ubuntu 18.04 is around for a while.
* Drop clang-nopcap, all errors caught by Clang were also caught by GCC.
One change caught by gcc-8-nopcap but not Clang: commit 036c3d6bc7.
* Remove Clang 5: even though it triggers some unique failures, no major
distro ships with it so remove it.
* Drop old Clang versions, newer versions catch all warnings from older.
* Upgrade to Clang 8 which is already installed in the Docker image.
* Remove EOL Fedora 28 and 29, use latest (31).
* Remove EOL openSUSE Leap 42.3, keep 15.1 as the latest.
Reduces from 20 jobs (15 build, 5 test) to 10 jobs (7 build, 3 test).
Change-Id: I4a355dd1a90cbbef9525bd63a8544fa3e22369a2
Reviewed-on: https://code.wireshark.org/review/36281
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2020-03-05 01:54:04 +00:00
|
|
|
# Rely on fedora:latest and debian-stable jobs for testing a recent GCC version.
|
2020-08-18 23:00:32 +00:00
|
|
|
clang-10: &clang-10
|
2019-04-10 10:52:52 +00:00
|
|
|
<<: *build-ubuntu
|
2019-05-12 20:33:34 +00:00
|
|
|
variables:
|
2020-03-05 03:21:41 +00:00
|
|
|
CC: clang-10
|
|
|
|
CXX: clang++-10
|
gitlab-ci: remove unnecessary jobs, upgrade versions
The point of testing multiple compiler versions is to catch bugs that
only occur in one particular version. After an analysis of 800+ failed
builds, it appears that a lot of the checks are redundant. Changes:
* Drop GCC 6 and keep GCC 5, Ubuntu 16.04 default GCC is 5.3. Fixes for
warnings in old compilers: commit 829d2c3752 (GCC 5 + 6), commit
e451ea0a4d (Clang 5, GCC 4 + 5). Maybe GCC 5 can also be dropped since
Ubuntu 18.04 is around for a while.
* Drop clang-nopcap, all errors caught by Clang were also caught by GCC.
One change caught by gcc-8-nopcap but not Clang: commit 036c3d6bc7.
* Remove Clang 5: even though it triggers some unique failures, no major
distro ships with it so remove it.
* Drop old Clang versions, newer versions catch all warnings from older.
* Upgrade to Clang 8 which is already installed in the Docker image.
* Remove EOL Fedora 28 and 29, use latest (31).
* Remove EOL openSUSE Leap 42.3, keep 15.1 as the latest.
Reduces from 20 jobs (15 build, 5 test) to 10 jobs (7 build, 3 test).
Change-Id: I4a355dd1a90cbbef9525bd63a8544fa3e22369a2
Reviewed-on: https://code.wireshark.org/review/36281
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2020-03-05 01:54:04 +00:00
|
|
|
|
2019-04-10 10:52:52 +00:00
|
|
|
build:rpm-centos-7:
|
|
|
|
<<: *build-rpm
|
2018-06-08 09:49:50 +00:00
|
|
|
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
|
2019-04-10 10:52:52 +00:00
|
|
|
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
|
2020-10-31 11:14:18 +00:00
|
|
|
build:rpm-centos-8:
|
|
|
|
<<: *build-rpm
|
|
|
|
image: centos:8
|
|
|
|
script:
|
|
|
|
- dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
|
|
|
|
- dnf -y install dnf-plugins-core
|
|
|
|
# PowerTools is the CentOS name for CodeReady, where -devel packages live
|
|
|
|
- dnf config-manager --enable PowerTools
|
|
|
|
# Devel is a CentOS repository with some extra -devel packages not (yet?) in RHEL
|
|
|
|
- dnf config-manager --enable Devel
|
|
|
|
- tools/rpm-setup.sh --install-optional -y
|
|
|
|
- mkdir build
|
|
|
|
- cd build
|
|
|
|
- cmake -GNinja ..
|
|
|
|
- ninja-build rpm-package
|
|
|
|
test:rpm-centos-8:
|
|
|
|
stage: test
|
|
|
|
image: centos:8
|
|
|
|
script:
|
|
|
|
- dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
|
|
|
|
- dnf --nogpgcheck localinstall -y build/packaging/rpm/RPMS/x86_64/*.rpm
|
|
|
|
- tshark --version
|
|
|
|
dependencies:
|
|
|
|
- build:rpm-centos-8
|
|
|
|
variables:
|
|
|
|
GIT_STRATEGY: none
|
gitlab-ci: remove unnecessary jobs, upgrade versions
The point of testing multiple compiler versions is to catch bugs that
only occur in one particular version. After an analysis of 800+ failed
builds, it appears that a lot of the checks are redundant. Changes:
* Drop GCC 6 and keep GCC 5, Ubuntu 16.04 default GCC is 5.3. Fixes for
warnings in old compilers: commit 829d2c3752 (GCC 5 + 6), commit
e451ea0a4d (Clang 5, GCC 4 + 5). Maybe GCC 5 can also be dropped since
Ubuntu 18.04 is around for a while.
* Drop clang-nopcap, all errors caught by Clang were also caught by GCC.
One change caught by gcc-8-nopcap but not Clang: commit 036c3d6bc7.
* Remove Clang 5: even though it triggers some unique failures, no major
distro ships with it so remove it.
* Drop old Clang versions, newer versions catch all warnings from older.
* Upgrade to Clang 8 which is already installed in the Docker image.
* Remove EOL Fedora 28 and 29, use latest (31).
* Remove EOL openSUSE Leap 42.3, keep 15.1 as the latest.
Reduces from 20 jobs (15 build, 5 test) to 10 jobs (7 build, 3 test).
Change-Id: I4a355dd1a90cbbef9525bd63a8544fa3e22369a2
Reviewed-on: https://code.wireshark.org/review/36281
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2020-03-05 01:54:04 +00:00
|
|
|
build:rpm-opensuse-15.1:
|
|
|
|
image: opensuse/leap:15.1
|
2019-04-10 10:52:52 +00:00
|
|
|
<<: *build-rpm
|
2018-06-08 11:53:24 +00:00
|
|
|
script:
|
2019-01-14 13:20:20 +00:00
|
|
|
- zypper --non-interactive install update-desktop-files
|
2019-01-13 09:18:39 +00:00
|
|
|
- tools/rpm-setup.sh --install-optional ruby
|
2019-03-23 22:11:14 +00:00
|
|
|
- gem install asciidoctor -v 1.5.8 --no-ri --no-rdoc
|
2018-06-08 11:53:24 +00:00
|
|
|
- mkdir build
|
|
|
|
- cd build
|
2019-01-17 13:08:07 +00:00
|
|
|
- cmake -GNinja ..
|
|
|
|
- ninja rpm-package
|
gitlab-ci: remove unnecessary jobs, upgrade versions
The point of testing multiple compiler versions is to catch bugs that
only occur in one particular version. After an analysis of 800+ failed
builds, it appears that a lot of the checks are redundant. Changes:
* Drop GCC 6 and keep GCC 5, Ubuntu 16.04 default GCC is 5.3. Fixes for
warnings in old compilers: commit 829d2c3752 (GCC 5 + 6), commit
e451ea0a4d (Clang 5, GCC 4 + 5). Maybe GCC 5 can also be dropped since
Ubuntu 18.04 is around for a while.
* Drop clang-nopcap, all errors caught by Clang were also caught by GCC.
One change caught by gcc-8-nopcap but not Clang: commit 036c3d6bc7.
* Remove Clang 5: even though it triggers some unique failures, no major
distro ships with it so remove it.
* Drop old Clang versions, newer versions catch all warnings from older.
* Upgrade to Clang 8 which is already installed in the Docker image.
* Remove EOL Fedora 28 and 29, use latest (31).
* Remove EOL openSUSE Leap 42.3, keep 15.1 as the latest.
Reduces from 20 jobs (15 build, 5 test) to 10 jobs (7 build, 3 test).
Change-Id: I4a355dd1a90cbbef9525bd63a8544fa3e22369a2
Reviewed-on: https://code.wireshark.org/review/36281
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2020-03-05 01:54:04 +00:00
|
|
|
test:rpm-opensuse-15.1:
|
|
|
|
image: opensuse/leap:15.1
|
2019-04-10 10:52:52 +00:00
|
|
|
stage: test
|
|
|
|
script:
|
|
|
|
- zypper --no-gpg-checks install -y build/packaging/rpm/RPMS/x86_64/*.rpm
|
|
|
|
- tshark --version
|
|
|
|
variables:
|
|
|
|
GIT_STRATEGY: none
|
|
|
|
dependencies:
|
2019-11-04 00:27:44 +00:00
|
|
|
- build:rpm-opensuse-15.1
|
2020-10-31 11:14:18 +00:00
|
|
|
build:rpm-opensuse-15.2:
|
|
|
|
image: opensuse/leap:15.2
|
|
|
|
<<: *build-rpm
|
|
|
|
script:
|
|
|
|
- zypper --non-interactive install update-desktop-files
|
|
|
|
- tools/rpm-setup.sh --install-optional ruby
|
|
|
|
- gem install asciidoctor -v 2.0.10 --no-ri --no-rdoc
|
|
|
|
- mkdir build
|
|
|
|
- cd build
|
|
|
|
- cmake -GNinja ..
|
|
|
|
- ninja rpm-package
|
|
|
|
test:rpm-opensuse-15.2:
|
|
|
|
image: opensuse/leap:15.2
|
|
|
|
stage: test
|
|
|
|
script:
|
|
|
|
- zypper --no-gpg-checks install -y build/packaging/rpm/RPMS/x86_64/*.rpm
|
|
|
|
- tshark --version
|
|
|
|
variables:
|
|
|
|
GIT_STRATEGY: none
|
|
|
|
dependencies:
|
|
|
|
- build:rpm-opensuse-15.2
|
|
|
|
build:rpm-fedora:
|
2019-04-10 10:52:52 +00:00
|
|
|
<<: *build-rpm
|
gitlab-ci: remove unnecessary jobs, upgrade versions
The point of testing multiple compiler versions is to catch bugs that
only occur in one particular version. After an analysis of 800+ failed
builds, it appears that a lot of the checks are redundant. Changes:
* Drop GCC 6 and keep GCC 5, Ubuntu 16.04 default GCC is 5.3. Fixes for
warnings in old compilers: commit 829d2c3752 (GCC 5 + 6), commit
e451ea0a4d (Clang 5, GCC 4 + 5). Maybe GCC 5 can also be dropped since
Ubuntu 18.04 is around for a while.
* Drop clang-nopcap, all errors caught by Clang were also caught by GCC.
One change caught by gcc-8-nopcap but not Clang: commit 036c3d6bc7.
* Remove Clang 5: even though it triggers some unique failures, no major
distro ships with it so remove it.
* Drop old Clang versions, newer versions catch all warnings from older.
* Upgrade to Clang 8 which is already installed in the Docker image.
* Remove EOL Fedora 28 and 29, use latest (31).
* Remove EOL openSUSE Leap 42.3, keep 15.1 as the latest.
Reduces from 20 jobs (15 build, 5 test) to 10 jobs (7 build, 3 test).
Change-Id: I4a355dd1a90cbbef9525bd63a8544fa3e22369a2
Reviewed-on: https://code.wireshark.org/review/36281
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2020-03-05 01:54:04 +00:00
|
|
|
image: fedora
|
2018-06-17 21:01:01 +00:00
|
|
|
script:
|
2019-01-12 22:33:18 +00:00
|
|
|
- dnf upgrade -y
|
2018-06-17 21:01:01 +00:00
|
|
|
- tools/rpm-setup.sh --install-optional -y
|
|
|
|
- mkdir build
|
|
|
|
- cd build
|
|
|
|
- cmake3 -GNinja ..
|
2020-10-31 11:14:18 +00:00
|
|
|
- ninja rpm-package
|
|
|
|
test:rpm-fedora:
|
gitlab-ci: remove unnecessary jobs, upgrade versions
The point of testing multiple compiler versions is to catch bugs that
only occur in one particular version. After an analysis of 800+ failed
builds, it appears that a lot of the checks are redundant. Changes:
* Drop GCC 6 and keep GCC 5, Ubuntu 16.04 default GCC is 5.3. Fixes for
warnings in old compilers: commit 829d2c3752 (GCC 5 + 6), commit
e451ea0a4d (Clang 5, GCC 4 + 5). Maybe GCC 5 can also be dropped since
Ubuntu 18.04 is around for a while.
* Drop clang-nopcap, all errors caught by Clang were also caught by GCC.
One change caught by gcc-8-nopcap but not Clang: commit 036c3d6bc7.
* Remove Clang 5: even though it triggers some unique failures, no major
distro ships with it so remove it.
* Drop old Clang versions, newer versions catch all warnings from older.
* Upgrade to Clang 8 which is already installed in the Docker image.
* Remove EOL Fedora 28 and 29, use latest (31).
* Remove EOL openSUSE Leap 42.3, keep 15.1 as the latest.
Reduces from 20 jobs (15 build, 5 test) to 10 jobs (7 build, 3 test).
Change-Id: I4a355dd1a90cbbef9525bd63a8544fa3e22369a2
Reviewed-on: https://code.wireshark.org/review/36281
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2020-03-05 01:54:04 +00:00
|
|
|
image: fedora
|
2019-04-10 10:52:52 +00:00
|
|
|
stage: test
|
|
|
|
script:
|
|
|
|
- dnf install -y build/packaging/rpm/RPMS/x86_64/*.rpm
|
|
|
|
- tshark --version
|
|
|
|
variables:
|
|
|
|
GIT_STRATEGY: none
|
|
|
|
dependencies:
|
gitlab-ci: remove unnecessary jobs, upgrade versions
The point of testing multiple compiler versions is to catch bugs that
only occur in one particular version. After an analysis of 800+ failed
builds, it appears that a lot of the checks are redundant. Changes:
* Drop GCC 6 and keep GCC 5, Ubuntu 16.04 default GCC is 5.3. Fixes for
warnings in old compilers: commit 829d2c3752 (GCC 5 + 6), commit
e451ea0a4d (Clang 5, GCC 4 + 5). Maybe GCC 5 can also be dropped since
Ubuntu 18.04 is around for a while.
* Drop clang-nopcap, all errors caught by Clang were also caught by GCC.
One change caught by gcc-8-nopcap but not Clang: commit 036c3d6bc7.
* Remove Clang 5: even though it triggers some unique failures, no major
distro ships with it so remove it.
* Drop old Clang versions, newer versions catch all warnings from older.
* Upgrade to Clang 8 which is already installed in the Docker image.
* Remove EOL Fedora 28 and 29, use latest (31).
* Remove EOL openSUSE Leap 42.3, keep 15.1 as the latest.
Reduces from 20 jobs (15 build, 5 test) to 10 jobs (7 build, 3 test).
Change-Id: I4a355dd1a90cbbef9525bd63a8544fa3e22369a2
Reviewed-on: https://code.wireshark.org/review/36281
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2020-03-05 01:54:04 +00:00
|
|
|
- build:rpm-fedora
|
2019-05-10 19:25:54 +00:00
|
|
|
|
|
|
|
# Job to generate packages for Debian stable
|
|
|
|
build:debian-stable:
|
2020-03-11 22:18:21 +00:00
|
|
|
<<: *build
|
2019-05-10 19:25:54 +00:00
|
|
|
image: debian:stable
|
|
|
|
before_script:
|
|
|
|
- ./tools/debian-setup.sh --install-optional --install-test-deps -y --install-deb-deps
|
|
|
|
script:
|
|
|
|
# Shared GitLab runners limit the log size to 4M, so reduce verbosity. See
|
|
|
|
# https://gitlab.com/gitlab-com/support-forum/issues/2790
|
2020-09-09 20:20:46 +00:00
|
|
|
- dpkg-buildpackage -b --no-sign -jauto
|
2019-05-10 19:25:54 +00:00
|
|
|
- mkdir debian-packages
|
|
|
|
- mv ../*.deb debian-packages/
|
|
|
|
artifacts:
|
|
|
|
paths:
|
|
|
|
- debian-packages/*.deb
|
|
|
|
expire_in: 3 days
|
2020-05-31 21:34:00 +00:00
|
|
|
test:debian-stable:
|
|
|
|
image: debian:stable
|
|
|
|
stage: test
|
|
|
|
script:
|
|
|
|
- apt-get update
|
|
|
|
- DEBIAN_FRONTEND=noninteractive apt-get install ./debian-packages/*.deb -y
|
|
|
|
- tshark --version
|
|
|
|
variables:
|
|
|
|
GIT_STRATEGY: none
|
|
|
|
dependencies:
|
|
|
|
- build:debian-stable
|
2020-08-18 23:00:32 +00:00
|
|
|
|
2020-09-03 15:40:05 +00:00
|
|
|
# Build Wireshark manuals
|
|
|
|
# Note: Need ubuntu:focal with `ruby-coderay` and `ruby-asciidoctor-pdf` packages to build PDF docs
|
|
|
|
docbook:
|
|
|
|
stage: build
|
|
|
|
image: wireshark/wireshark-ubuntu-dev
|
|
|
|
rules:
|
|
|
|
- changes:
|
|
|
|
- "docbook/**"
|
|
|
|
- "epan/wslua/**"
|
|
|
|
before_script:
|
|
|
|
- DEBIAN_FRONTEND="noninteractive" ./tools/debian-setup.sh --install-optional -y g++
|
|
|
|
script:
|
|
|
|
- mkdir build
|
|
|
|
- cd build
|
|
|
|
- cmake -GNinja ..
|
|
|
|
- ninja all_guides
|
|
|
|
after_script:
|
|
|
|
- mv build/docbook/wsug_html/ .
|
|
|
|
- mv build/docbook/wsug_html_chunked/ .
|
|
|
|
- mv build/docbook/wsdg_html/ .
|
|
|
|
- mv build/docbook/wsdg_html_chunked/ .
|
|
|
|
artifacts:
|
|
|
|
paths:
|
|
|
|
- wsug_html/
|
|
|
|
- wsug_html_chunked/
|
|
|
|
- wsdg_html/
|
|
|
|
- wsdg_html_chunked/
|
|
|
|
|
2020-10-18 03:40:28 +00:00
|
|
|
|
|
|
|
# Build all doxygen docs
|
|
|
|
doxygen_all:
|
|
|
|
stage: build
|
|
|
|
image: wireshark/wireshark-ubuntu-dev
|
|
|
|
before_script:
|
|
|
|
- ./tools/debian-setup.sh -y doxygen graphviz
|
|
|
|
script:
|
|
|
|
- mkdir build
|
|
|
|
- cd build
|
|
|
|
- cmake -GNinja ..
|
|
|
|
- ninja wsar_html 2>&1 > doxygen_output.txt | tee doxygen_errors.txt
|
|
|
|
after_script:
|
|
|
|
- mv build/wsar_html .
|
|
|
|
- mv build/doxygen_output.txt .
|
|
|
|
- mv build/doxygen_errors.txt .
|
|
|
|
artifacts:
|
|
|
|
when: always
|
|
|
|
paths:
|
|
|
|
- doxygen_errors.txt
|
|
|
|
- doxygen_output.txt
|
|
|
|
- wsar_html
|
|
|
|
|
2020-08-18 23:00:32 +00:00
|
|
|
# https://docs.gitlab.com/ee/user/gitlab_com/index.html#linux-shared-runners
|
2020-09-15 23:55:41 +00:00
|
|
|
|
|
|
|
merge-req:commit-checks:
|
2020-08-18 23:00:32 +00:00
|
|
|
<<: *build-ubuntu
|
|
|
|
tags:
|
|
|
|
- docker
|
2020-09-07 16:22:01 +00:00
|
|
|
rules:
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
2020-08-18 23:00:32 +00:00
|
|
|
script:
|
|
|
|
# build-ubuntu puts us in `build`.
|
|
|
|
- cd ..
|
|
|
|
- bash ./tools/pre-commit 'HEAD^1'
|
2020-09-15 23:55:41 +00:00
|
|
|
- tools/validate-commit.py
|
|
|
|
|
|
|
|
merge-req:ubuntu-dpkg:
|
|
|
|
<<: *build-ubuntu
|
|
|
|
tags:
|
|
|
|
- docker
|
|
|
|
rules:
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
|
|
|
script:
|
|
|
|
- apt-get install -y lintian
|
|
|
|
# build-ubuntu puts us in `build`.
|
|
|
|
- cd ..
|
2020-09-09 20:20:46 +00:00
|
|
|
- CC=/usr/lib/ccache/gcc CXX=/usr/lib/ccache/g++ dpkg-buildpackage -us -uc -rfakeroot -jauto -Zgzip -zfast
|
2020-08-18 23:00:32 +00:00
|
|
|
- lintian --suppress-tags library-not-linked-against-libc --display-experimental --display-info --pedantic --profile debian
|
|
|
|
|
2020-09-15 23:55:41 +00:00
|
|
|
merge-req:ubuntu-gcc-ctest:
|
2020-08-18 23:00:32 +00:00
|
|
|
<<: *build-ubuntu
|
|
|
|
tags:
|
|
|
|
- docker
|
2020-09-07 16:22:01 +00:00
|
|
|
rules:
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
2020-08-18 23:00:32 +00:00
|
|
|
script:
|
|
|
|
# build-ubuntu puts us in `build`.
|
|
|
|
- perl ../tools/make-version.pl --set-release || ../perl make-version.pl --set-release
|
2020-09-01 21:41:02 +00:00
|
|
|
- CC=gcc CXX=g++ cmake -DENABLE_EXTRA_COMPILER_WARNINGS=on -DCMAKE_EXPORT_COMPILE_COMMANDS=on -DENABLE_CCACHE=ON -G Ninja ..
|
2020-08-18 23:00:32 +00:00
|
|
|
- ninja
|
|
|
|
- ninja test-programs
|
|
|
|
- chown -R user .
|
|
|
|
- su user -c "ctest --parallel 3 --force-new-ctest-process --verbose"
|
|
|
|
|
2020-09-15 23:55:41 +00:00
|
|
|
merge-req:ubuntu-clang-other-tests:
|
2020-08-18 23:00:32 +00:00
|
|
|
extends: clang-10
|
|
|
|
tags:
|
|
|
|
- docker
|
2020-09-07 16:22:01 +00:00
|
|
|
rules:
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
2020-08-18 23:00:32 +00:00
|
|
|
script:
|
2020-08-24 18:47:20 +00:00
|
|
|
- apt-get install -y cppcheck clang-tools python-pygments
|
2020-08-18 23:00:32 +00:00
|
|
|
# build-ubuntu puts us in `build`.
|
|
|
|
- cd ..
|
|
|
|
- python3 tools/checklicenses.py
|
2020-08-24 18:47:20 +00:00
|
|
|
- ./tools/cppcheck/cppcheck.sh -l 1 -x | tee cppcheck_report.xml
|
|
|
|
- if [[ -s "cppcheck_report.xml" ]]; then cppcheck-htmlreport --file cppcheck_report.xml --report-dir . ; fi
|
2020-08-18 23:00:32 +00:00
|
|
|
- cd build
|
2020-09-01 21:41:02 +00:00
|
|
|
- cmake -DENABLE_EXTRA_COMPILER_WARNINGS=on -DENABLE_CHECKHF_CONFLICT=on -DCMAKE_EXPORT_COMPILE_COMMANDS=on -DENABLE_CCACHE=ON -G Ninja ..
|
2020-08-18 23:00:32 +00:00
|
|
|
- ninja
|
|
|
|
- ./run/tshark -v
|
2020-08-24 12:26:23 +00:00
|
|
|
- sh -c '[ ! -e ../tools/validate-clang-check.sh ] || ../tools/validate-clang-check.sh'
|
2020-08-18 23:00:32 +00:00
|
|
|
- ninja checkAPI
|
2020-08-24 18:47:20 +00:00
|
|
|
artifacts:
|
|
|
|
paths:
|
|
|
|
- cppcheck_report.xml
|
2020-10-27 17:09:40 +00:00
|
|
|
- cppcheck_report.html
|
2020-08-18 23:00:32 +00:00
|
|
|
|
2020-09-02 17:24:27 +00:00
|
|
|
# XXX This is still beta:
|
2020-08-18 23:00:32 +00:00
|
|
|
# https://docs.gitlab.com/ee/user/gitlab_com/index.html#windows-shared-runners-beta
|
2020-09-02 17:24:27 +00:00
|
|
|
# Dockerfile at https://github.com/wireshark/wireshark-windows-dev-docker.
|
|
|
|
# XXX We currently depend on Qt being installed in C:\Qt on the host. We should
|
|
|
|
# find a more independent way of installing Qt, e.g. via a download+cache.
|
2020-09-15 23:55:41 +00:00
|
|
|
merge-req:windows:
|
2020-08-18 23:00:32 +00:00
|
|
|
tags:
|
|
|
|
- wireshark-windows-dev
|
|
|
|
stage: build
|
2020-09-07 16:22:01 +00:00
|
|
|
rules:
|
|
|
|
# The Windows Docker image is currently only available via a dedicated runner.
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_PROJECT_URL == "https://gitlab.com/wireshark/wireshark"'
|
2020-08-18 23:00:32 +00:00
|
|
|
before_script:
|
|
|
|
# XXX Find a better location.
|
|
|
|
- mkdir c:\Development
|
|
|
|
- $env:WIRESHARK_BASE_DIR = "C:\Development"
|
|
|
|
- $env:Configuration = "RelWithDebInfo"
|
|
|
|
- $env:Path += ";C:\Program Files\CMake\bin"
|
|
|
|
- $env:Path += ";C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin"
|
2020-09-22 22:19:18 +00:00
|
|
|
- $env:Path += ";C:\qt\5.15.1\msvc2019_64\bin"
|
2020-08-18 23:00:32 +00:00
|
|
|
# https://help.appveyor.com/discussions/questions/18777-how-to-use-vcvars64bat-from-powershell
|
|
|
|
- cmd.exe /c "call `"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat`" && set > %temp%\vcvars.txt"
|
|
|
|
- Get-Content "$env:temp\vcvars.txt" | Foreach-Object { if ($_ -match "^(.*?)=(.*)$") { Set-Content "env:\$($matches[1])" $matches[2] } }
|
|
|
|
# Testing / debugging only.
|
2020-09-02 17:24:27 +00:00
|
|
|
#- dir c:\
|
|
|
|
#- dir c:\qt
|
|
|
|
#- $env:path.split(";")
|
|
|
|
#- cmd.exe /c "set"
|
|
|
|
#- Get-Location
|
2020-08-18 23:00:32 +00:00
|
|
|
script:
|
|
|
|
- perl tools/make-version.pl --set-release
|
|
|
|
- mkdir build
|
|
|
|
- cd build
|
|
|
|
- cmake -G "Visual Studio 16 2019" -A x64 ..
|
|
|
|
- msbuild "/consoleloggerparameters:PerformanceSummary;NoSummary" /maxcpucount Wireshark.sln
|
|
|
|
- msbuild "/consoleloggerparameters:PerformanceSummary;NoSummary" test-programs.vcxproj
|
|
|
|
- ctest -C RelWithDebInfo --parallel 3 --force-new-ctest-process --verbose
|