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)
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.
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
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.
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.
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>