Commit Graph

109 Commits

Author SHA1 Message Date
Gerald Combs 0caf4b74c0 GitLab CI: Disable Fedora tests for now.
The test:rpm-fedora job is currently failing with:

$ dnf install -y build/packaging/rpm/RPMS/x86_64/*.rpm
Fedora 34 openh264 (From Cisco) - x86_64        6.4 kB/s | 2.5 kB     00:00
Fedora Modular 34 - x86_64                      8.4 MB/s | 3.8 MB     00:00
Fedora Modular 34 - x86_64 - Updates            500 kB/s | 754 kB     00:01
Fedora 34 - x86_64 - Updates                     11 MB/s | 5.8 MB     00:00
Fedora 34 - x86_64                               21 MB/s |  57 MB     00:02
Error:
 Problem: conflicting requests
  - nothing provides libminizip.so.2.5()(64bit) needed by wireshark-qt-3.5.0rc0_1661_ge2e4b79d0dd3-1.x86_64

It looks like this is due to Fedora 34 and later shipping with
minizip-3.0: https://src.fedoraproject.org/rpms/minizip.

Disable the test:rpm-fedora job for now until we can find a way to make
it more reliable.
2021-04-28 09:05:04 -07:00
Gerald Combs 23a82b040e GitLab CI: Switch to Clang 12. 2021-04-16 18:09:15 +00:00
Gerald Combs 1dc50f7433 CMake+CI: Colorize our compiler output.
As described at

https://medium.com/@alasher/colored-c-compiler-output-with-ninja-clang-gcc-10bfe7f2b949

both Clang and gcc generate colorized output when they detect a
terminal, but not for piped output, which is the case when using Ninja.
Add an ENABLE_COMPILER_COLOR_DIAGNOSTICS CMake option, and set it to
"ON" when we're using Ninja.

In the merge-req:ubuntu-gcc-ctest and merge-req:ubuntu-clang-other-tests
GitLab CI jobs, generate colorized HTML report artifacts using
ansi2html.
2021-04-14 12:42:00 -07:00
Gerald Combs bd123cadaf GitLab CI: Conditionally create C:\Development on Windows. 2021-04-10 07:14:18 +00:00
Gerald Combs b258f90ce5 GitLab CI: Try switching Windows builds back to Qt 5.15.1.
The Windows MR builder was recently migrated to a new machine and
updated to Qt 5.15.2. Since the migration merge request builds have
sometimes failed with

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(240,5): error MSB8066: Custom build for 'C:\builds\wireshark\wireshark\build\CMakeFiles\7345cb0fc1b52560d4d2bd48e83ff433\wireshark_de.qm.rule;C:\builds\wireshark\wireshark\build\CMakeFiles\7345cb0fc1b52560d4d2bd48e83ff433\wireshark_en.qm.rule;C:\builds\wireshark\wireshark\build\CMakeFiles\7345cb0fc1b52560d4d2bd48e83ff433\wireshark_es.qm.rule;C:\builds\wireshark\wireshark\build\CMakeFiles\7345cb0fc1b52560d4d2bd48e83ff433\wireshark_fr.qm.rule;C:\builds\wireshark\wireshark\build\CMakeFiles\7345cb0fc1b52560d4d2bd48e83ff433\wireshark_it.qm.rule;C:\builds\wireshark\wireshark\build\CMakeFiles\7345cb0fc1b52560d4d2bd48e83ff433\wireshark_ja_JP.qm.rule;C:\builds\wireshark\wireshark\build\CMakeFiles\7345cb0fc1b52560d4d2bd48e83ff433\wireshark_pl.qm.rule;C:\builds\wireshark\wireshark\build\CMakeFiles\7345cb0fc1b52560d4d2bd48e83ff433\wireshark_ru.qm.rule;C:\builds\wireshark\wireshark\build\CMakeFiles\7345cb0fc1b52560d4d2bd48e83ff433\wireshark_sv.qm.rule;C:\builds\wireshark\wireshark\build\CMakeFiles\7345cb0fc1b52560d4d2bd48e83ff433\wireshark_uk.qm.rule;C:\builds\wireshark\wireshark\build\CMakeFiles\7345cb0fc1b52560d4d2bd48e83ff433\wireshark_zh_CN.qm.rule;C:\builds\wireshark\wireshark\build\CMakeFiles\9829b32238fa3bcc807b02099e4c1642\qtui_autogen.rule' exited with code -1073740940. [C:\builds\wireshark\wireshark\build\ui\qt\qtui_autogen.vcxproj]

Try switching back to Qt 5.15.1. If that doesn't work we might have to
un-migrate the runner.
2021-04-08 16:31:43 +00:00
Gerald Combs fe7bf413fc GitLab CI: Clear our Windows build dependencies. 2021-04-06 16:52:43 -07:00
Gerald Combs 156737db0f GitLab CI: Add a Visual Studio code analysis step.
Add a Windows template.
2021-04-06 19:27:11 +00:00
Gerald Combs 4637111f6d GitLab CI: Make our MSBuild output more quiet. 2021-04-04 22:34:11 +00:00
Gerald Combs 85b36ef4b6 GitLab CI: Switch to our new Windows runner. 2021-04-04 21:13:59 +00:00
Gerald Combs d23b0b82c4 GitLab CI: Fix our debian-stable version.
Run tools/make-version.pl in the build:debian-stable job.

Make sure make-version.pl updates debian/control correctly.
2021-03-13 16:36:35 +00:00
Gerald Combs e5adb4b506 GitLab CI: Speed up our fetching/cloning.
Fetching the complete Wireshark repository in GitLab's CI currently
takes about 3.5 minutes. GitLab CI lets you do shallow cloning, but only
up to 1000 commits. This isn't sufficient for any of our jobs that might
need a reachable tag since it's currently about 1200 commits away in
master.

Set GIT_DEPTH to 1 (which appears to trigger the required shallow clone
logic in GitLab's CI), then deepen it by setting GIT_FETCH_EXTRA_FLAGS
to "--depth=5000". This is *should* be much faster than a full checkout
and still give us a reachable tag:

$ git rev-list --count v3.3.0rc0..v3.5.0rc0
2330
$ git rev-list --count v3.1.0rc0..v3.3.0rc0
2198
$ git rev-list --count v2.9.0rc0..v3.1.0rc0
3449
2021-03-12 18:01:47 +00:00
Guy Harris 9ffb0f27c8 GitHub CI, CMake: override the definition of cmake_build.
Overriding the definition of the rpmbuild macro cmake_build on the
command line, so that it doesn't include the string "--verbose", should
prevent cmake --build from being run with --verbose, and thus prevent it
from running Ninja with the -v flag, and thus prevent a bunch of extra
noisy output from being produced for every build command, and thus
prevent the build log from hitting GitLab's 4MB limit.

Unlike piping the output of "ninja rpm-package" to sed, this means that
the exit status of "ninja rpm-package", rather than the exit status of
sed, is tested.
2021-02-16 09:00:12 +00:00
Guy Harris 2a1de77c72 GitLab CI: *both* commands to sed need a -e flag. 2021-02-15 15:29:53 -08:00
Guy Harris 2e9303b7b2 GitLab CI: use sed to strip out -W and -f options from output.
Filter out the -W and -f options from the output of "ninja rpm-package",
to try to cut down the verbosity.

Do that instead of passing --quiet to rpmbuild, so we get command
progress messages, just without the extra junk.
2021-02-15 14:31:14 -08:00
Guy Harris 4b22f71f76 CMake, .gitlab-ci.yml: try to cut down the output for Fedora RPM builds.
If the FORCE_CMAKE_NINJA_QUIET environment variable is set, have the
top-level CMakeLists.txt add the -q flag to the arguments to rpmbuild.
That appears to reduce the amount of output.

Set that environment varible in the rpm-fedora build.
2021-02-15 02:21:12 -08:00
Guy Harris de4cd04e60 gitlab-ci: try to make the RPM build less noisy.
See whether unsetting VERBOSE causes the build process not to print the
compile command, complete with a big list of compiler options, for every
single file being built, in the hopes of producing less than the limit
of 4MB of log text.
2021-02-14 21:07:53 -08:00
Guy Harris 2e4ea72f51 gitlab-ci: try to make the Debian build less noisy.
See whether setting DH_QUIET to 1 and MAKEFLAGS to --silent causes the
build process not to print the compile command, complete with a big list
of compiler options, for every single file being built, in the hopes of
producing less than the limit of 4MB of log text.
2021-02-14 18:48:00 -08:00
John Thacker 46389187ca GitLab CI: Don't build openSUSE 15.1 anymore (EOL)
openSUSE 15.1 (and the closely related SLES 15 SP1) just went EOL,
so don't worry about building packages for it, 15.2 is sufficient.
2021-01-31 08:34:51 +00:00
Gerald Combs 0d820ddc8d Packaging+GitLab CI: Dist tarball updates.
Ninja keeps track of its built files in .ninja_log, so if you copy a
pre-built target into a fresh build directory, Ninja will ignore and
overwrite it. This includes the tarball generated by the 'dist' target.

In get-export-release.sh, check for a preexisting tarball and preserve
it by default. This lets us pass the dist tarball from one GitLab CI
stage to other stages without recreating it. It's also arguably the
right thing to do in general, since we record and publish the tarball
hashes for each release and different contents for the same filename can
cause confusion.

Move the dist tarball to the build directory in .gitlab-ci.yml, and add
a note about using the tarball exclusively.
2021-01-09 19:16:16 +00:00
Dario Lombardo 07c2439714 gitlab-ci: reuse tarball from ubuntu-dist in rpm. 2021-01-07 19:03:36 +00:00
Gerald Combs a7c6de4c66 GitLab CI: Build merge-req:ubuntu-dpkg using Ninja.
ubuntu-dpkg is currently the slowest of the merge-req pipelines. Newer
versions of dh have a "cmake+ninja" buildsystem, so try using it
instead.
2020-12-29 10:09:36 +00:00
Gerald Combs d45eab1f2d GitLab CI: Don't run locale-gen.
We do so at container build time as of wireshark/wireshark-containers!25.
2020-12-22 18:16:39 +00:00
Dario Lombardo 55bcf95d52 gitlab-ci: replace old notation with extends. 2020-12-22 17:42:15 +00:00
Dario Lombardo 33ab986589 gitlab-ci: fix build:ubuntu-dist. 2020-12-22 17:24:27 +00:00
Gerald Combs 7b27b444cb GitLab CI: Set CCACHE_DIR globally. 2020-12-22 02:55:43 +00:00
Gerald Combs fc124f45bb GitLab CI: Use shallow clones for merge requests.
We currently disable shallow clones in our general pipeline settings
because jobs that create packages need a usable `git describe`. None of
our merge request jobs create packages, so clone shallowly in order to
speed things up.
2020-12-21 17:19:04 -08:00
Gerald Combs b468b1fb01 GitLab CI: Don't set our ccache size in ubuntu-dist.
We no longer build anything, so there's nothing to cache.
2020-12-21 23:17:13 +00:00
Gerald Combs c971d7f10c GitLab CI: Copy the dist (tarball) build.
Copy it to an S3 bucket if the appropriate environment variables are set
and add it as an artifact.
2020-12-21 14:25:11 -08:00
Martin Mathieson e2593e2022 Call add item and tfs checking scripts in ubuntu pipeline
N.B. Neither of these scripts return an error code if issues are found.
2020-12-21 11:46:29 +00:00
Gerald Combs 9772fc5be0 GitLab CI: Add a dist (tarball) build.
Add most of the tarball build steps from the master Buildbot config.
2020-12-17 17:01:59 +00:00
Gerald Combs 3e3194092c GitLab CI: Switch from clang 10 to clang 11.
The wireshark/wireshark-ubuntu-dev currently ships with both clang 10
and 11. Upgrade to clang 11.
2020-12-15 15:16:40 -08:00
Gerald Combs 9c1893b565 GitLab CI: Try to optimize our ccache maximium size. 2020-12-15 19:29:53 +00:00
Gerald Combs ac8ac25da1 GitLab CI: Increase our merge-req:ubuntu-gcc-ctest parallelization. 2020-12-14 09:58:30 +00:00
Gerald Combs b63692e327 GitLab CI: Disable LTO on Windows
`cmake -DENABLE_LTO=off ..` builds more quickly here, so add it to
merge-req:windows.

Fix a typo.
2020-12-13 01:31:09 +00:00
Gerald Combs 081f78e8dd GitLab CI: Update merge-req:windows.
Use a regex to match the project URL and add 'when: always'.
2020-12-10 20:14:34 +00:00
Gerald Combs 1bab2f7ee0 GitLab CI: Stop installing external dependencies.
Remove the last package installation instances from .gitlab-ci.yml. Add
a comment at the top noting that dependencies should be added to our
Dockerfiles instead.
2020-12-09 13:16:04 -08:00
Gerald Combs ef10cc74d1 CI: Fix Ubuntu tests.
The wireshark/wireshark-ubuntu-dev image was recently upgraded to Ubuntu
20.04. Since then the following tests have been failing:

---- FAILED
test/suite_capture.py::case_wireshark_capture::test_wireshark_capture_from_fifo
FAILED
test/suite_capture.py::case_wireshark_capture::test_wireshark_capture_from_stdin
FAILED
test/suite_capture.py::case_tshark_capture::test_tshark_capture_from_fifo
FAILED
test/suite_capture.py::case_tshark_capture::test_tshark_capture_from_stdin
FAILED
test/suite_capture.py::case_dumpcap_capture::test_dumpcap_capture_from_fifo
FAILED
test/suite_capture.py::case_dumpcap_capture::test_dumpcap_capture_from_stdin
FAILED
test/suite_capture.py::case_dumpcap_autostop::test_dumpcap_autostop_filesize
FAILED
test/suite_capture.py::case_dumpcap_autostop::test_dumpcap_autostop_packets
FAILED
test/suite_capture.py::case_dumpcap_ringbuffer::test_dumpcap_ringbuffer_filesize
FAILED
test/suite_capture.py::case_dumpcap_ringbuffer::test_dumpcap_ringbuffer_packets
FAILED
test/suite_capture.py::case_dumpcap_pcapng_sections::test_dumpcap_pcapng_multi_in_multi_out
FAILED
test/suite_capture.py::case_dumpcap_pcapng_sections::test_dumpcap_pcapng_multi_in_single_out
FAILED
test/suite_capture.py::case_dumpcap_pcapng_sections::test_dumpcap_pcapng_single_in_multi_out
FAILED
test/suite_capture.py::case_dumpcap_pcapng_sections::test_dumpcap_pcapng_single_in_single_out
FAILED
test/suite_clopts.py::case_dumpcap_options::test_dumpcap_interface_chars
FAILED
test/suite_clopts.py::case_dumpcap_options::test_dumpcap_invalid_chars
FAILED
test/suite_clopts.py::case_dumpcap_options::test_dumpcap_valid_chars
----

This is because dumpcap can't load our local libraries after setting cap_net_raw+cap_net_admin:

----
-- Begin stderr for command ('/builds/wireshark/wireshark/build/run/dumpcap', '-D') --
/builds/wireshark/wireshark/build/run/dumpcap: error while loading shared libraries: libwsutil.so.0: cannot open shared object file: No such file or directory
-- End stderr for command ('/builds/wireshark/wireshark/build/run/dumpcap', '-D') --
----

Add $(pwd)/run to our rpath.
2020-12-09 12:10:52 -08:00
Gerald Combs 7a8a3a8702 GitLab CI: Update lintian excludes.
Add "copyright-excludes-files-in-native-package" to the lintian exclude
list. The wireshark/wireshark-ubuntu-dev image was updated to 20.04
recently, and its lintian added
https://lintian.org/tags/copyright-excludes-files-in-native-package.html.
2020-12-08 11:44:42 -08:00
Gerald Combs f37951a035 CI: Clean up the CentOS 8 build. 2020-11-16 18:36:21 -08:00
Gerald Combs 536ed6335f CI: Switch to our CentOS, Debian, and openSUSE containers. 2020-11-17 01:44:54 +00:00
Gerald Combs 99bad1d667 CI: Switch the Fedora image to wireshark-fedora-dev. 2020-11-17 00:19:28 +00:00
Gerald Combs 46af0bc744 CI: Ubuntu container updates.
Fixup the Ubuntu container URL, and don't install packages added to the
container in
https://gitlab.com/wireshark/wireshark-containers/-/tree/91819f0/dev/ubuntu.
2020-11-16 14:53:02 -08:00
John Thacker ac34f3e8b6 RPM+CI: Update and fix for Fedora 33, CentOS 8, OpenSUSE Leap 15.2
Re-enable Fedora build and add CentOS 8 and OpenSUSE 15.2 builds.
Fedora 33 does out of build tree cmake builds and needs spec file changes.
CentOS 8 has some changes with cmake and other packages that are similar to
older Fedora, and needs extra repositories enabled to get -devel packages
(still missing -devel for some optional libraries). OpenSUSE Leap 15.2 also
has some changes needed to build. Note that OpenSUSE Leap 15.1 is EOL
at the end of November 2020. Fixes #16971
2020-11-05 17:58:16 -05:00
Gerald Combs 05bd5cd91e CI+RPM: Disable the Fedora build for now.
Fedora 33's RPM environent added changes that break CMake. Disable it
for now.
2020-10-28 20:48:49 +00:00
Moshe Kaplan f1d9b3c966 Gitlab-ci: Build doxygen
Add a Gitlab-CI job for building doxygen docs
2020-10-24 12:04:20 +00:00
Moshe Kaplan 3dde70de2c .gitlab-ci: Generate cppcheck reports
Modify the cppcheck job to also generate cppcheck's reports
and provide them as artifacts to the user.
2020-10-15 19:39:11 +00:00
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