1.6. Automated Builds (GitLab CI)
The Wireshark development team uses GitLab’s continuous integration (CI) system to automatically build Wireshark for each Git merge request and commit.
Automated builds provide several useful services:
Inbound merge requests and commits can be tested on each of our supported plaforms, which ensures that a developer on one platform doesn’t break the build on other platforms.
A health indicator for the source code.
The CI badges at https://gitlab.com/wireshark/wireshark can quickly tell you how healthy the latest code is.
Green is good, red is bad.
Fast code delivery.
After a change is committed to the repository, an installer is usually available within an hour at https://www.wireshark.org/download/automated/.
This can be quite helpful for resolving issues, e.g. a bug reporter can easily verify a bugfix by installing a recent build.
Automated regression tests.
We run a comprehensive test suite as part of each build and continuously run fuzz tests that try to crash the dissection engine.
1.6.1. What Do The Automated Builds Do?
GitLab’s CI operates by running a series of steps and reporting success or failure.
A typical CI job might do the following:
Check out Wireshark from the source repository.
Create a source tarball, binary package, or installer.
Run regression tests.
GitLab’s CI marks successful jobs with a green checkmark and failed jobs with a red “X”.
Jobs provide a link to the corresponding console logfile which provides additional information.
Release packages are built on the following platforms:
Windows Server 2019 x86-64 (Win64, little endian, Visual Studio 2019)
Ubuntu 18.04 x86-64 (Linux, little endian, gcc, Clang)
macOS 10.14 x86-64 (BSD, little endian, Clang)
Static code analysis and fuzz tests are run on the following platforms:
Visual Studio Code Analysis (Win64, little endian, VS 2019)
Clang Code Analysis, Coverity Scan, and fuzz tests (Linux, little endian, Clang)
Each platform is represented at the status page by a single column, the most recent entries are at the top.