Commit Graph

156 Commits

Author SHA1 Message Date
Gerald Combs 798e45aaeb GitLab CI: Update to match recent PortableApps changes. 2021-06-19 16:51:55 -07:00
Gerald Combs 6495e7da99 Packaging: Add 64-bit PortableApps packages.
Build WiresharkPortable32 or WiresharkPortable64 as appropriate for our
target platform. Add WiresharkPortable64 steps to the Win64 builder.
Update the Developer's Guide. Fixes #17260.
2021-06-19 22:53:45 +00:00
Gerald Combs 2d9280089c GitLab CI: Add initial Windows package builds.
Start migrating the Windows package build steps from Buildbot.
2021-06-16 05:48:38 +00:00
Gerald Combs 35f5c116ca GitLab CI: Don't clobber the Code Lines before_script. 2021-06-07 11:40:19 -07:00
Gerald Combs e80e118f7a GitLab CI: Add more code line counters.
Count lines using cloc, scc, and tokei in addition to SLOCCount.
2021-06-07 18:20:10 +00:00
Gerald Combs a72b60b58b GitLab CI: Add CMake sections in more places.
Add section start and end markers for cmake in more places.
2021-05-28 18:39:28 +00:00
Gerald Combs 02f4dcb0ad GitLab CI: Enable ccache for fuzz builds.
Enable ccache for our fuzz builds. Add sections as described at
https://docs.gitlab.com/ee/ci/jobs/#expand-and-collapse-job-log-sections
for the CMake step as well.
2021-05-24 20:52:29 +00:00
Gerald Combs 9c6aef746a GitLab CI: Adjust the Documentation rules.
GitLab CI annoyingly shows "⚙ blocked" in the pipeline UI if you have
any jobs that can be run manually instead of a green checkmark even if
all of the other jobs in the pipeline have passed. It's not clear that
"blocked" means "you can run this manually if needed," so adjust the
Documentation rule so that this doesn't happen.
2021-05-07 21:51:24 +00:00
Gerald Combs 7c6df3848f GitLab CI: Give our jobs proper names.
GitLab's job YAML parser allows spaces in key names and our jobs are
visible in the web UI, so give them proper names.
2021-05-07 19:26:31 +00:00
Gerald Combs bedf0eb21c GitLab CI: Restore the ability to run pipelines from the web UI. 2021-05-07 11:49:51 -07:00
Gerald Combs ae37347103 GitLab CI: Simply our fuzz run times. 2021-05-07 09:21:30 -07:00
Gerald Combs 0c3db4c9fd GitLab CI: Install valgrind.
Install valgrind in the fuzz-valgrind job.
2021-05-06 14:49:31 -07:00
Gerald Combs 458bc93171 GitLab CI: Fix the fuzzing before and after scripts. 2021-05-06 09:24:35 -07:00
Gerald Combs 4397eed75c GitLab CI: Add Valgrind and randpkt fuzzing.
Move common fuzzing configuration items to .fuzz-ubuntu. Build using
Clang, which is what the Buildbot fuzzers did. Add jobs for fuzzing
using Valgrind and randpkt.
2021-05-05 18:54:34 -07:00
Gerald Combs da66bae61b GitLab CI: Fix a path. 2021-05-05 17:36:55 -07:00
Gerald Combs cc285882bf GitLab CI: Fill in fuzz-test.
Fuzz using our runner and our capture menagerie. Extend the run time.
Check for failures and report them.
2021-05-05 15:46:45 -07:00
Gerald Combs 3401f9697d Revert "GitLab CI: Try switching Windows builds back to Qt 5.15.1."
This reverts commit b258f90ce5, which was
an attempt to fix a CI build issue by changing our Qt version. That
didn't fix the issue. Switching from CMake 3.20 to 3.19.8 *did*, which
suggests that we've run into

https://gitlab.kitware.com/cmake/cmake/-/issues/21145
2021-05-05 17:16:16 +00:00
Gerald Combs d7bdd77a4c GitLab CI: Add a minimal fuzzing job.
Add a -t option to tools/fuzz-test.sh which lets you specify a maximum
fuzz time.

Add an initial "fuzz-test" job which fuzzes test/captures/* for 5
minutes. To do: Fuzz longer using our capture menagerie and report
failures.
2021-05-05 16:58:12 +00:00
Gerald Combs 4100cd748a GitLab CI: Fix our API reference uploads. 2021-05-04 14:10:46 -07:00
Gerald Combs 773c35d70a GitLab CI: Fix an upload command. 2021-05-04 13:11:23 -07:00
Gerald Combs 3b18c3f1fd GitLab CI: Distribute our documentation.
Rename the "docbook" job to "documentation". Make sure we can do syntax
highlighting and produce PDFs. Distribute the docs that we build. Allow
the job to be manually run if we don't update any documentation sources.
2021-05-04 18:52:10 +00:00
Gerald Combs 71f66bee3b GitLab CI: Consolidate repeated RPM declarations.
Move repeated build declarations to .build-rpm. Add .test-rpm and move
repeated test declarations there.
2021-05-03 20:32:10 +00:00
Gerald Combs d6500f5870 GitLab CI: Publish the API reference.
Build the wsar_html_zip instead of wsar_html and (re-)publish it at
https://www.wireshark.org/download/docs/. Move the doxygen_all job to
the daily schedule section.
2021-05-03 10:34:31 -07:00
Gerald Combs 74145a8bc6 GitLab CI: Fix our Coverity submission URLs. 2021-05-03 09:46:18 -07:00
Gerald Combs 6467a5ecad GitLab CI: Try to fix Coverity submissions.
Fixup some variable names.
2021-05-03 09:04:14 -07:00
Gerald Combs 37e833e2c6 GitLab CI: Fix an artifact declaration. 2021-05-02 20:28:50 -07:00
Gerald Combs a479922052 GitLab CI: Try to fix Coverity submissions.
The files we need to submit to Coverity might be too large to upload
over HTTP, so use their URL submission method. We won't have a usable
artifact URL until after each cov-build job runs, so we need to submit
our URLs in separate jobs.
2021-05-03 01:55:40 +00:00
Gerald Combs 3de0a93759 GitLab CI: Fix our common rules.
There are three ways to reuse configuration blobs in .gitlab-ci.yml: The
"extends" keyword, YAML anchors, and "!reference" tags. As noted in
https://gitlab.com/gitlab-org/gitlab/-/issues/322992, only the last
method works for job rules. Clean up our common rules and apply them
using "!reference".
2021-05-02 22:01:48 +00:00
Gerald Combs 49fd57440f GitLab CI: Switch back to explicit scheduling.
It looks like "extends" and YAML anchors don't work for scheduling
rules, at least for the way we're using them. Use explicit rules for
scheduled jobs.
2021-04-30 18:48:20 -07:00
Gerald Combs 69c2e89fe2 GitLab CI: Update the schedule variable name. 2021-04-30 17:37:00 -07:00
Gerald Combs e119c035b3 GitLab CI: Switch back to using "only" for scheduled jobs.
Rules don't seem to support schedule variables.
2021-04-30 16:00:35 -07:00
Gerald Combs d816ebea17 GitLab CI: Fixup a scheduling rule. 2021-04-30 16:00:35 -07:00
Gerald Combs c603a5f2c1 GitLab CI+tools: Make our clang version configurable.
Track our preferred version of clang using $CLANG_VERSION in
.gitlab-ci.yml. Update validate-clang-check.sh to accept a clang
version.
2021-04-30 21:32:00 +00:00
Gerald Combs ce95951993 GitLab CI: Add a sloccount job. 2021-04-30 13:49:07 -07:00
Gerald Combs bfddd25f3e GitLab CI: Add more restrictions for merged commits.
Move commonly-used rules to their own hidden jobs. Use ".if-merged" to
ensure that our production build and test jobs are run automatically in
wireshark/wireshark and can be run manually in forks.

Note the new manual behavior in the Developer's Guide.
2021-04-30 20:09:33 +00:00
Gerald Combs 018714708f GitLab CI: Submit a URL to Coverity instead of a file.
Trying to upload cov-build output on Windows is currently failing
because the file is too large. Expose the build file as an artifact and
submit its URL instead.
2021-04-30 12:29:17 -07:00
Gerald Combs 6a46e33313 GitLab CI: Restrict when build:ubuntu-dist runs.
Only run build:ubuntu-dist from pushes, and allow it to be manually
built outside the main repository.
2021-04-30 17:28:00 +00:00
Gerald Combs feefb045ee GitLab CI: Miscellaneous updates.
Switch the recent analysis builds from only/when to rules.

Switch the API reference and VS Code Analysis builds to daily.

Remove a no-longer-useful URL.
2021-04-30 09:25:19 -07:00
Gerald Combs f7fa73802a GitLab CI: Fix a variable reference. 2021-04-29 21:31:08 -07:00
Gerald Combs 9aee4cdc68 GitLab CI: Try to fix coverity-visual-c++. 2021-04-30 03:18:13 +00:00
Gerald Combs 2d2637c034 GitLab CI: Add a Clang scan-build job. 2021-04-30 02:58:59 +00:00
Gerald Combs 2b44c77a8d GitLab CI: Add a missing URL. 2021-04-29 19:41:48 -07:00
Gerald Combs 6445af1075 GitLab CI: Fix our curl path on Windows. 2021-04-30 01:53:01 +00:00
Gerald Combs 992b9146e9 GitLab CI: Try to fix our scheduled job logic. 2021-04-29 18:34:37 -07:00
Gerald Combs 3bcdd863b1 GitLab CI: Switch to single line commands. 2021-04-29 17:37:32 -07:00
Gerald Combs 2cad09e89b GitLab CI: Add a Visual C++ Coverity Scan Build job.
Add a "coverity-visual-c++" job which runs Coverity Scan Build on
Windows using Visual C++ and submits the build output to Coverity. Based
on

https://www.synopsys.com/blogs/software-security/integrating-coverity-scan-with-gitlab-ci
2021-04-29 16:57:06 -07:00
Gerald Combs 0630332565 GitLab CI: Add a GCC Coverity Scan Build job.
Add a "coverity-gcc" job which runs Coverity Scan Build on Ubuntu using
GCC and submits the build output to Coverity. Based on

https://www.synopsys.com/blogs/software-security/integrating-coverity-scan-with-gitlab-ci

and

https://gitlab.gnome.org/GNOME/glib/-/blob/8f57a5b9/.gitlab-ci.yml#L481
2021-04-29 23:27:24 +00:00
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