Commit Graph

63 Commits

Author SHA1 Message Date
Moshe Kaplan a9f6bfff62 gitlab-ci: Add docbook job for WSUG and WSDG
Adds job of building the HTML versions of the
Wireshark User Guide and Wireshark Developer Guide.
PDF versions are not built because it would take significantly longer
(~10 mins instead of ~5 minutes)
2020-10-13 18:58:48 +00:00
Gerald Combs d3c1f31439 Windows: Switch to Qt 5.15.1.
Switch the Windows GitLab runner and Buildbot builders to Qt 5.15.1. Qt
5.15 includes HiDPI and dark mode improvements that we might find
useful.
2020-09-22 16:35:55 -07:00
Gerald Combs ece76abdd3 GitLab CI: Move commit validation to its own job.
Move the pre-commit and validate-commit checks to their own job. This
lets us quickly re-run validate-commit in case the submitter forgets to
check "Allow commits from members who can merge to the target branch"

Shorten the "merge-request" prefix to "merge-req" in order to make it
easier to distinguish between each job in the GitLab UI.
2020-09-16 01:04:34 +00:00
Gerald Combs 9e2cbb995e GitLab CI: Set MAKEFLAGS=--silent
Set MAKEFLAGS=--silent in order to reduce the size of our log output.
2020-09-09 13:20:46 -07:00
Gerald Combs 322f6f3988 GitLab CI: Restrict the Windows build to wireshark/wireshark.
The Windows runners are constrained by the following:

* We require quite a bit of software not present in the stanadard
runner[1] which takes a long time to install, including Python, Perl,
and Qt.

* You can't specify an arbitrary Docker image like you can with Linux
runners.

As a result we have a project-specific runner for wireshark/wireshark
that runs a custom Windows Docker image. Update the CI rules so that
merge-request:windows only runs for gitlab.com/wireshark/wireshark. The
GitLab documentation recommends rules over only/except, so switch to
them.

Fixup .editorconfig while we're here.

[1]https://gitlab.com/gitlab-org/ci-cd/shared-runners/images/gcp/windows-containers/blob/master/cookbooks/preinstalled-software/README.md
2020-09-07 19:35:45 +00:00
Gerald Combs 0e6027313d gitlab-ci: Enable the Windows MR build.
Git is currently broken in gitlab-runner 13.3.0 + Windows + Docker...

https://gitlab.com/gitlab-org/gitlab/-/issues/239013

...but it appears to work fine in gitlab-runner 13.2.0. I reverted the build machine to that version, so we can enable the merge-request:windows build.
2020-09-02 13:23:24 -07:00
Gerald Combs 5aec54c9c3 GitLab CI: Set up ccache.
Set up a per-job cache directory and enable ccache as described at

https://gould.cx/ted/blog/2017/06/10/ccache-for-Gitlab-CI/

and

https://docs.gitlab.com/ee/ci/yaml/README.html#cache

Enable ccache in the merge-request steps.

Export DEB_BUILD_OPTIONS=nocheck while we're here.
2020-09-02 17:37:44 +00:00
Gerald Combs 3e0ebabdec CI+tools: Install lintian.
Install lintian instead of devscripts (which pulls in lintian + many
other packages) in .gitlab-ci.yml. Add lintian to DEBDEPS_LIST in
debian-setup.sh.
2020-09-01 08:46:08 +00:00
Dario Lombardo feba9bbff4 ci: add clang-tools to merge-request:ubuntu-clang-other-tests job.
It's required by validate-clang-check.
2020-08-24 13:15:30 +00:00
Dario Lombardo b586f25789
tools: rename validate-clang-check.py to validate-clang-check.sh.
This reflects the actual language used in the code (sh).
2020-08-24 14:26:23 +02:00
Gerald Combs 50550708cc Add merge request jobs to GitLab CI and migrate commit validation.
Copy the Buildbot petri dish builder steps to corresponding GitLab CI
jobs. Update validate-commit.py to look for old "Bug:" and "Ping-Bug:"
references and have it call `git stripspace` directly. tools/commit-msg
was specific to Gerrit, so remove it.

Change-Id: Icbc54709052f44c941db9ad6a5dcf596292782a2
2020-08-23 17:46:18 -07:00
Dario Lombardo f363aa57f9 gitlab-ci: add test:debian-stable.
This is going to install the deb artifact created before.

Change-Id: I59a52c8d7fe5dd46bb3ed8684ab3dd477f3baea4
Reviewed-on: https://code.wireshark.org/review/37366
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: Dario Lombardo <lomato@gmail.com>
2020-06-04 07:23:27 +00:00
Dario Lombardo 77b0dc6931 gitlab/travis: remove nopcap tests.
Lack of capture support is such a rare case, it is not worth spending
too much CI cycles testing it for every build.

Change-Id: Ia9be2b6ba21d0b198e65d746483282ef66cadb84
Reviewed-on: https://code.wireshark.org/review/36626
Reviewed-by: Dario Lombardo <lomato@gmail.com>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2020-03-29 20:36:32 +00:00
Peter Wu 7579d98448 gitlab-ci: upgrade to Clang 10, drop special -Wframe-larger-than case
Requires an updated wireshark/wireshark-ubuntu-dev image:
https://github.com/wireshark/wireshark-ubuntu-dev-docker/pull/2

Remove -Wframe-larger-than while at it. The default size in our CMake
config is 32k. Clang should not significantly go over it. If so, then it
has to be solved there, and not in the Gitlab config.

Change-Id: I3891fcbd9dec8e5a4597404aa8131f28a1755a02
Reviewed-on: https://code.wireshark.org/review/36369
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2020-03-25 14:41:13 +00:00
Peter Wu 7e89bd873a gitlab-ci: test nopcap build with gcc-7 instead of gcc-8
gcc-7 is included with build-essential on Ubuntu 18.04, not installing
an additional gcc-8 saves 110M on disk. The coverage should more or less
be the same, even very old compilers will catch typical build failures.

Change-Id: I03c95dcd1c83b02390489a47de7e2a8d2d757232
Reviewed-on: https://code.wireshark.org/review/36415
Reviewed-by: Dario Lombardo <lomato@gmail.com>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2020-03-14 16:56:30 +00:00
Peter Wu 9dcba0c68a gitlab-ci: print tshark --version for OpenSUSE and Debian
Add missing output directory for Debian (obj-x86_64-linux-gnu). Restore
a working LD_LIBRARY_PATH setting for OpenSUSE, this has never worked
since v3.1.0rc0-590-gc77ee0008d.

Change-Id: I4f2c2e4636e7dd0233e7f08a88ba3789b021f274
Reviewed-on: https://code.wireshark.org/review/36378
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2020-03-13 22:05:13 +00:00
Peter Wu 0ec5ca3ecf gitlab-ci: remove GCC-5
As previously in commit 6bb691189c ("gitlab-ci: remove unnecessary jobs,
upgrade versions"), GCC 5 support would only catch two issues. From the
respective commits:

    epan/dissectors/packet-synphasor.c:782:7: error: ‘ai’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
    ui/qt/wireless_frame.h:63:25: error: in-class initialization of non-static data member is a C++11 extension [-Werror,-Wc++11-extensions]

These are normally just false positive warnings in old compilers, fixed
in newer GCC. It fails only because it was built from git master as
opposed to a release branch where -Werror is disabled by default.

Save some resources, and remove GCC 5. The CentOS-7 job still tests the
old GCC 4.8.5 compiler. Newer GCC versions are handled by other jobs.

Change-Id: I9f49d59e6476ea8bcd9e135dba1c94b37a2f047f
Reviewed-on: https://code.wireshark.org/review/36366
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2020-03-11 22:16:49 +00:00
Anders Broman 6e9e51e49c Revert "gitlab-ci: upgrade to Clang 10"
This reverts commit fbe9d7f4b4.

Change-Id: If7a3ae53c434bf5fe90a41ea56a1e8be958b1f55
Reviewed-on: https://code.wireshark.org/review/36286
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2020-03-05 08:18:08 +00:00
Peter Wu fbe9d7f4b4 gitlab-ci: upgrade to Clang 10
Requires an updated wireshark/wireshark-ubuntu-dev image:
https://github.com/wireshark/wireshark-ubuntu-dev-docker/pull/2

Change-Id: Iee869a44cede6152a2f7927735a74b0bb89bef60
Reviewed-on: https://code.wireshark.org/review/36283
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2020-03-05 04:46:15 +00:00
Peter Wu 6bb691189c 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 04:45:52 +00:00
Dario Lombardo dd9af8018d gitlab-ci: fix wrong job name.
Change-Id: Ia14af8922e5e717d931480225fd0202b697f9155
Reviewed-on: https://code.wireshark.org/review/35003
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-11-06 13:58:28 +00:00
Dario Lombardo 8cfe3f5aeb gitlab-ci: bump opensuse image version to 15.1.
According to https://en.wikipedia.org/wiki/OpenSUSE_version_history#Leap_15_series_[22][23]
15.0 is EOL in November 2019.

Change-Id: I201fc2683078f7ae16b9317e3b34c312f442aeb1
Reviewed-on: https://code.wireshark.org/review/34944
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2019-11-04 13:41:29 +00:00
Juergen Kosel b1e74c527b gitlab-ci: Add job to create debian install-packages
Inspired by the description in https://about.gitlab.com/2016/10/12/automated-debian-package-build-with-gitlab-ci/
the gitlab-ci job build-debian-deb generates *.deb files
These files are available as build artifacts for 3 days.

Change-Id: Ic0b01c161e659c3ed9dbbd6387fa8960e34d50d3
Signed-off-by: Juergen Kosel <juergen.kosel@gmx.de>
Reviewed-on: https://code.wireshark.org/review/34042
Reviewed-by: Dario Lombardo <lomato@gmail.com>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2019-08-03 20:23:12 +00:00
Dario Lombardo 8ba4af7c1f gitlab-ci: use opensuse/leap:42.3 image.
The former official image has been deprecated in favor of
opensuse/leap one.

Change-Id: I92de89060f2d8f3a679f0c332eebb65e5c13ba41
Reviewed-on: https://code.wireshark.org/review/33852
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Dario Lombardo <lomato@gmail.com>
2019-07-06 18:20:31 +00:00
Dario Lombardo bb00f37f51 gitlab-ci: run setcap on dumpcap.
This enables capture privileges for 'user' that is used in the tests.
travis.yml has been changed as well to reflect the setcap command in
the docs.

Change-Id: I0584e0df417112b1774b86ef8b28121799efe137
Reviewed-on: https://code.wireshark.org/review/33182
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2019-05-16 20:29:59 +00:00
Dario Lombardo 731b263853 gitlab-ci: move ubuntu commands in parent job.
Change-Id: Ieb7a05c74b728d3d293790d28812c9161bfa6ce3
Reviewed-on: https://code.wireshark.org/review/33181
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2019-05-16 20:29:33 +00:00
Dario Lombardo c95e83d9a9 gitlab-ci: fix pytest execution.
pytest-3 is the executable name on the docker image (ubuntu derivated).

Remove pip and pytest installation while here, since they're
provided by the docker image.

Change-Id: Iad2e9cafc42cd1e83b2868126abb91d5ee7bbd92
Reviewed-on: https://code.wireshark.org/review/33145
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2019-05-11 13:05:54 +00:00
Dario Lombardo ab7ee924a1 gitlab-ci: use new base image, drop gcc-4 job
Docker image: https://hub.docker.com/r/wireshark/wireshark-ubuntu-dev
Github repo: https://github.com/wireshark/wireshark-ubuntu-dev-docker

Drop GCC 4.9 since it is missing on the new Ubuntu 18.04 image. Rely on
CentOS 7 for testing GCC 4.8.5 in case that is important.

Change-Id: I02a2b22a5920e6a65aee2b2eb60c81df03742417
Reviewed-on: https://code.wireshark.org/review/31872
Reviewed-by: Dario Lombardo <lomato@gmail.com>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2019-05-09 22:16:44 +00:00
Dániel Bakai c77ee0008d rpm: update rpm package dependencies and spec to work on current os versions
Change-Id: Iaa0bd9513869e65b96b6014d66ca3cfd917dbe64
Reviewed-on: https://code.wireshark.org/review/32938
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2019-04-22 13:21:37 +00:00
Dario Lombardo f5cc7904b8 gitlab-ci: add regression test suite.
Change-Id: I4142da87437a456c2e550c6a03c41bea92215438
Reviewed-on: https://code.wireshark.org/review/32836
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2019-04-19 22:12:50 +00:00
Dario Lombardo 776b31249f gitlab-ci: fix asciidoctor version in opensuse.
openSUSE now ships with 2.0.0 which is incompatible. Use 1.5.8 instead.
Disable ri and rdoc while here.

Change-Id: I40766ae4377f5998dcd58d02ecbdac665f78222a
Reviewed-on: https://code.wireshark.org/review/32547
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2019-03-24 07:19:34 +00:00
Dario Lombardo 4d2a0878c4 gitlab-ci: keep artifacts in rpm builds.
Change-Id: I7117c05a59b82bd925f82dfdfdda770fa507b7d4
Reviewed-on: https://code.wireshark.org/review/31575
Reviewed-by: Dario Lombardo <lomato@gmail.com>
Tested-by: Dario Lombardo <lomato@gmail.com>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2019-01-18 10:04:52 +00:00
Dario Lombardo 2c1d5b714a gitlab-ci: use ninja in opensuse builds.
Change-Id: I80df02fb3db6ab5a742726c3beaa30a203db7237
Reviewed-on: https://code.wireshark.org/review/31576
Reviewed-by: Dario Lombardo <lomato@gmail.com>
2019-01-18 08:31:30 +00:00
Peter Wu 33a8f5e7e6 gitlab-ci: do not build the all target when invoking rpm-package
It doubles the build time for little benefit as rpm-package will
essentially build the same binaries again.

Adjust the "tshark --version" invocation, besides "build" (normal
build), also look in "build/packaging/rpm/BUILD/wireshark-*/build"
(OpenSUSE) and "build/packaging/rpm/BUILD/wireshark-*" (CentOS).

rpmbuild from OpenSUSE sets -DCMAKE_SKIP_RPATH=ON, as a workaround set
LD_LIBRARY_PATH to ensure that tshark can find its libraries.

Change-Id: I5ce8b97515516adbbba2f1e445a9dd1abf08d530
Reviewed-on: https://code.wireshark.org/review/31541
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2019-01-14 19:01:35 +00:00
Peter Wu 60e32b6eb3 RPM: remove dependency on the which utility
It is not necessary to know the full path to a program. Instead use the
'type' shell builtin (part of POSIX) to detect availability.

Change-Id: Id68b298625d389a1f7843f52f56312bf81d97b80
Reviewed-on: https://code.wireshark.org/review/31540
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2019-01-14 19:01:27 +00:00
Dario Lombardo 3f177068f3 gitlab-ci: add missing package to opensuse.
Ruby pkg contains gem that is required to install a working version
of asciidoctor.

Change-Id: Iabe790c17e3be3e3285868b5e0734101bad4f5a5
Reviewed-on: https://code.wireshark.org/review/31525
Reviewed-by: Dario Lombardo <lomato@gmail.com>
2019-01-13 10:13:03 +00:00
Dario Lombardo 651a146667 tools/gitlab-ci: add missing packages for rpm builds.
Change-Id: I04e3414ff27e18db8c83581116f4099bbb696a08
Reviewed-on: https://code.wireshark.org/review/31516
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-01-13 07:14:28 +00:00
Dario Lombardo 3561c88012 gitlab-ci: upgrade before anything else in fedora28.
Fix a bug in linking:
/usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/libgnutls.so: undefined reference to `nettle_rsa_sec_decrypt@HOGWEED_4'

Change-Id: Icc85813bd72274e448667bab4a80037ec5bdd48d
Reviewed-on: https://code.wireshark.org/review/31519
Reviewed-by: Dario Lombardo <lomato@gmail.com>
2019-01-12 23:43:55 +00:00
Dario Lombardo 81fe5b8298 gitlab-ci: don't force ninja-build installation.
It has been added to the debian-setup script, then it is
pointless to force it.

Change-Id: I5c9f047c7e5826ff06f483d5a2f0c2e808c17853
Reviewed-on: https://code.wireshark.org/review/31180
Reviewed-by: Dario Lombardo <lomato@gmail.com>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2018-12-23 22:20:18 +00:00
Dario Lombardo 708c1ae794 gitlab-ci: rename tasks and remove extra spaces.
Change-Id: If047e5f05e56ba3b0e5425f0827882434a53c925
Reviewed-on: https://code.wireshark.org/review/29333
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-09-03 04:10:01 +00:00
Dario Lombardo 43f0ccadaf gitlab-ci: remove older clang versions.
Change-Id: Iadb8c40211e90bfd9cad7b48eaa8315d073c653b
Reviewed-on: https://code.wireshark.org/review/29332
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-09-03 04:09:44 +00:00
Dario Lombardo 67a73b4152 gitlab-ci: update apt list files.
Change-Id: I7a9dfec200d64c327e1d12bb691a310295a8c1ff
Reviewed-on: https://code.wireshark.org/review/29316
Tested-by: Dario Lombardo <lomato@gmail.com>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: Dario Lombardo <lomato@gmail.com>
2018-08-30 07:16:01 +00:00
Dario Lombardo 92841d5eec gitlab-ci: add fedora build.
Change-Id: Ie5e49a4eb35dac2793ac3d8be8ba87d663ff359b
Reviewed-on: https://code.wireshark.org/review/28322
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Dario Lombardo <lomato@gmail.com>
2018-06-19 09:36:32 +00:00
Dario Lombardo 1aff175b1c gitlab-ci: add opensuse build.
Create RPM as well.

Change-Id: Id84df19c6fa27eb576d29884299f771224328dba
Reviewed-on: https://code.wireshark.org/review/28122
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-06-09 19:33:16 +00:00
Dario Lombardo edcad2c3f5 gitlab-ci: add centos build.
Create RPM as well.

Change-Id: Iaedbd0fbe2b7c00f07ea833aef261351c78b6985
Reviewed-on: https://code.wireshark.org/review/28113
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-06-09 19:33:05 +00:00
Dario Lombardo df1b07cc62 gitlab-ci: add tshark --version test after all jobs.
Change-Id: I7d82587b26dd1636c437fc07934f5ca941ab052c
Reviewed-on: https://code.wireshark.org/review/28108
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-06-09 19:31:35 +00:00
Dario Lombardo e088fcd84c gitlab-ci: make ubuntu steps a module.
This will make room for more modules to be used by new jobs.

Change-Id: I0dff41d18c8027cb4d929acf5ab808a64f0277a4
Reviewed-on: https://code.wireshark.org/review/28107
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-06-09 05:52:30 +00:00
Dario Lombardo 869180ce7d gitlab-ci: add gcc-8 and use it for nopcap build.
Change-Id: If7c17202f45ea0832596d5a87154b9ea333a5296
Reviewed-on: https://code.wireshark.org/review/27303
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Dario Lombardo <lomato@gmail.com>
2018-05-03 14:56:19 +00:00
Dario Lombardo cca89ca837 gitlab-ci: add clang 7 builds.
Compile nopcap with clang 7 instead of 6.

Change-Id: Icc3ffc895e2b97feadca719b45ef72a5d79098cd
Reviewed-on: https://code.wireshark.org/review/26207
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Dario Lombardo <lomato@gmail.com>
2018-03-01 13:04:09 +00:00
Dario Lombardo fc9ee03ada gitlab-ci: speed up the builds a little bit.
Change-Id: I29756429d106b56e5c0b9b61d92f4c6ca8629b36
Reviewed-on: https://code.wireshark.org/review/25923
Reviewed-by: Dario Lombardo <lomato@gmail.com>
2018-02-20 13:37:07 +00:00