Commit Graph

281 Commits

Author SHA1 Message Date
Gerald Combs a3232592b0 GitLab CI: Run our macOS tests in parallel. 2023-02-03 23:55:57 +00:00
Gerald Combs c237cfb76b GitLab CI: macOS MR builds are wireshark/wireshark only for now
Access to macOS SaaS builders are limited to beta program participants.
2023-02-03 19:24:41 +00:00
Gerald Combs 1bcc5d097d GitLab CI: Add a macOS merge request build.
Add an initial "macOS Build" job that uses GitLab's macOS beta.
https://about.gitlab.com/blog/2021/08/23/build-cloud-for-macos-beta/

Add command line options to macos-setup-brew.sh and use it to install
our packages.

Skip running tests for now.
2023-02-02 23:13:29 +00:00
John Thacker b71d87ed27 Gitlab CI: Switch to the OpenSUSE 15.4 container
15.3 has reached EOL: https://en.opensuse.org/Lifetime
2023-01-22 22:59:13 +00:00
João Valverde 006f10f108 Gitlab CI: Enable -Werror with Clang builds
Enable -Werror so Clang specific warnings will trigger a build
error and can't be checked-in.

This requires disabling "extra" warnings.

Add explicit ENABLE_WERROR=ON options instead of relying on defaults.
2022-11-17 11:31:30 +00:00
João Valverde e1d492e2e0 CMake: Do not disable -Werror with "extra compiler warnings"
Give the ENABLE_WERROR option full control of -Werror. Silently
overriding the user configuration is potentially confusing and
unnecessary.
2022-11-17 11:22:57 +00:00
Gerald Combs b2d3f8dc31 GitLab CI: Update our schedule rules.
Note that we have a "weekly" schedule and add an unused weekly rule
stanza.
2022-11-16 17:15:30 +00:00
João Valverde 795e318739 Gitlab CI: Add build with -Werror enabled
Currently we don't have any build with -Werror because of
widespread use of ENABLE_EXTRA_COMPILER_WARNINGS CMake option,
that automatically disables -Werror. That's bad because it allows
code with warnings to pass the CI jobs and be checked in, which is
something we want to avoid.

Configure the GCC build to not use ENABLE_EXTRA_COMPILER_WARNINGS.
2022-11-11 14:24:54 +00:00
João Valverde 1ed750dd94 CMake + Gitlab CI: Allow fuzz jobs to pass with warnings
Allow fuzz jobs to pass with warnings because catching warnings is
not their purpose.

Remove -Werror=unused-but-set-variable that was added in
85357ae721 as a work-around to the fact that -Werror is not
enabled as a side-effect of ENABLE_EXTRA_COMPILER_WARNINGS.

Allow users to control -Werror. For example the MSYS2 build
has many warnings, this policy of adding -Werror= breaks that
build.
2022-11-11 14:20:28 +00:00
Gerald Combs 0928a25d1f GitLab CI: Switch to clang 15. 2022-11-06 10:33:09 -08:00
Alexis La Goutte 3f194ad187 gitlab-ci: move check tfs and typed_item_call to end of test
it will be more easy to see on the log
2022-10-28 18:09:38 +00:00
Gerald Combs 23f206c8b8 GitLab CI: Build RPMs in parallel.
Our RPM spec runs `cmake --build ... -j1` on Fedora and Rocky. Set
RPM_BUILD_NCPUS, which increases the `-j` value so that ninja can make
full use of the system.

[skip ci]
2022-10-25 19:35:43 +00:00
Alexis Gryta ce2b9a046a .gitlab-ci's variables: as string 2022-10-24 18:14:26 +00:00
Gerald Combs 8514eb0e21 GitLab CI: Remove the "Latest Clang" job.
It was a subset of the "Code Checks + Clang Warnings" job.

[skip ci]
2022-10-21 13:10:23 -07:00
Gerald Combs 197e645f6a GitLab CI: Switch the RPM test jobs to the 2x-daily schedule.
[skip ci]
2022-10-21 11:42:41 -07:00
Gerald Combs 83d5533711 GitLab CI: Switch our Linux packages to a twice daily schedule.
The RPM packages use a versioned build directory, which creates problems
for ccache. The APT packages simply take a long time to build. Switch
both to a twice-daily schedule so that we don't set fire to CI minutes
in parallel with every merge.

Back out a recent CMake change since it's no longer needed.
2022-10-21 11:15:22 -07:00
Gerald Combs 139e46898d CMake+GitLab CI: Add and use RPMBUILD_EXTRA_ARGS.
Add an RPMBUILD_EXTRA_ARGS variable to CMakeLists.txt and use it in
GitLab CI to define __cmake_builddir. This should let ccache work with
our RPM builds.
2022-10-20 21:53:37 -07:00
Gerald Combs 31ee273517 GitLab CI: Try to get ccache working for RPM builds. 2022-10-20 17:51:16 -07:00
Gerald Combs 6d79c8c1f6 GitLab CI: Don't set absolute_paths_in_stderr.
It's not supported by openSUSE's ccache.
2022-10-20 21:48:36 +00:00
Gerald Combs a30774d8c1 GitLab CI: Set ccache's base_dir for RPM builds.
GitLab CI builds RPMs in a different directory for each pipeline
($CI_PROJECT_DIR/build/packaging/rpm/BUILD/wireshark-<version>), so set
base_dir to the build directory and enable absolute_paths_in_stderr.

Fix our cache directory max sizes as well.
2022-10-20 13:49:40 -07:00
Gerald Combs 912f7122f9 GitLab CI: Check our commit before building MR jobs.
Make sure the Commit Check job passes before spending additional
resources.
2022-10-20 18:29:43 +00:00
Gerald Combs 9270731976 GitLab CI: Enable ccache for our RPM package jobs. 2022-10-20 15:43:57 +00:00
João Valverde d9fbde7cc7 Debian: Ignore symbol changes on the master branch
Fixes #18404.
2022-10-10 08:14:46 +00:00
João Valverde 287170eabd Gitlab CI: Add test for Release build
Release build increases optimization level (throws new warnings) and
disables assertions and debug code (catch unused variables, etc.).
2022-10-05 10:48:39 +00:00
Gerald Combs b54219f7ad GitLab CI: Update our digest algorithms.
OpenSSL 3 deprecated RIPEMD160. Remove it from our list of digest
algorithms and add SHA512.
2022-09-07 10:37:35 -07:00
Gerald Combs 6a5a4cfcfb GitLab CI: APT package updates.
Don't pass "-Zgzip" to dpkg-buildpackage on Ubuntu. Newer versions
default to zstd. Pass "-zfast" to dpkg-buildpackage on Debian and use
ccache.
2022-09-06 15:29:34 -07:00
João Valverde 67ceab96c8 Gitlab CI: Use Qt6 with Ubuntu builds
Our ubuntu container has Qt6 so use the default Qt version.

The APT packages are still using Qt5 at the moment. We may want to
migrate those to Qt6 in the future and choose a single Linux build
using Qt5.
2022-08-25 21:55:46 +01:00
João Valverde 8e77b5c499 Gitlab CI: Build Fedora RPM job using Qt6 2022-08-25 08:26:32 +00:00
João Valverde 1f3876f48b Gitlab CI: Clean up formatting 2022-08-25 08:26:32 +00:00
João Valverde 1b210202a5 Gitlab CI: TShark build jobs don't need USE_qt6 2022-08-23 18:43:07 +00:00
João Valverde a27ecac02a Gitlab CI: Use DWARF-4 with Valgrind Fuzz job
Valgrind does not support Clang 14 + DWARF-5.

Ping #18191.
2022-08-23 16:09:23 +00:00
João Valverde 6297831fb9 Gitlab CI: Add another USE_qt6=OFF option.
[skip ci]
2022-08-23 09:51:59 +01:00
João Valverde 9aa8331467 Gitlab CI: Fix ubuntu/rpm builds using Qt5 2022-08-23 08:52:20 +01:00
João Valverde 2155a725e1 Gitlab-CI: Disable Qt6 for Windows Qt5 build 2022-08-22 10:17:24 +01:00
João Valverde b33210750c CMake+etc: Enable Qt6 by default for Unix builds
Linux builds were left behind on the Qt transition, presumably because
our Ubuntu CI image does not support Qt6.

Enable Qt6 by default and explicitly disable it for slower or more
conservative Linux distros.

Drop experimental status for Qt6, because we are using it to build
official Windows and macOS releases.
2022-08-22 09:08:06 +00:00
Gerald Combs b51a66f4f1 GitLab CI: Fix our macOS Intel deployment target. 2022-08-17 22:53:58 +00:00
Gerald Combs e555b458de GitLab CI: Enable Qt6 for the macOS builds. 2022-08-17 13:33:55 -07:00
Gerald Combs 9445bda1d8 GitLab CI: Switch the macOS builds to Qt 6.2.4. 2022-08-17 18:46:09 +00:00
Gerald Combs 25bb87a781 GitLab CI: BUILD_logwolf → BUILD_logray. 2022-08-11 17:56:28 -07:00
Gerald Combs babb059f21 GitLab CI: Disable tests in the Debian package job. 2022-07-25 11:12:15 -07:00
Gerald Combs fa9703cb27 GitLab CI: Rocky 9 fixups.
The Ninja command is available as "ninja", so use that.

[skip ci]
2022-07-24 13:49:45 -07:00
Gerald Combs 34d30922eb GitLab CI: Switch to Rocky Linux 9.
Rocky Linux 9 includes a supported version of c-ares.
2022-07-23 17:02:48 -07:00
Balint Reczey 924076ed29 GitLab CI: Fix format of DEB_BUILD_OPTIONS passed to the Ubuntu build 2022-07-21 18:03:56 +00:00
Gerald Combs b91079d3a6 GitLab CI: Fixup our make-version calls.
Call make-version.py on Windows using py.exe. Call it directly on other
platforms.
2022-07-11 17:33:08 -05:00
Moshe Kaplan 87ca8c227a tools: Port make-version.pl to Python 2022-07-11 14:44:23 +00:00
Gerald Combs 022ebb106a GitLab CI: Fix our documentation globs
The correct glob pattern for a directory and its subdirectories is
"**/*". Use that in the change rules for the Documentation job.
2022-06-15 10:26:36 -07:00
Gerald Combs bbe6ab6316 CMake: Update WiX and PortableApps target names.
Rename the wix_package target to wireshark_wix and the
portableapps_package target to wireshark_portableapps.
2022-06-08 18:12:46 +00:00
Gerald Combs de1a4c3774 CMake: Update package target names.
Rename the rpm-package target to wireshark_rpm and the appimage target
to wireshark_appimage.
2022-06-08 17:56:21 +00:00
João Valverde c0bd7266ad Gitlab-CI: Add tfshark to code check job
Building tfshark is disabled by default in CMake options.

The tfshark code should be continuously tested or removed from the
main repo. It should not be allowed to exist in a broken state.

Add it to the code check job to make sure that it at least compiles.
2022-06-05 19:47:10 +00:00
Gerald Combs 056fd8a1e3 NSIS: Update some target and filenames.
Rename the following build targets, similar to the recent macOS target
name changes:

nsis_package_prep to wireshark_nsis_prep
nsis_package to wireshark_nsis

Rename some NSIS files to reflect that they're specific to Wireshark.
Update the documentation and CI configurations.
2022-06-02 16:33:31 -07:00