1.6. Automated Builds (Buildbot)
The Wireshark Buildbot automatically rebuilds Wireshark on every
change of the source code repository and indicates problematic changes.
This frees the developers from repeating (and annoying) work, so time can
be spent on more interesting tasks.
Recognizing (cross platform) build problems - early. Compilation problems can
be narrowed down to a few commits, making a fix much easier.
"Health status" overview of the sources. A quick look at:
https://buildbot.wireshark.org/wireshark-master/ gives a good "feeling" if the sources
are currently "well". On the other hand, if all is "red", an update of a
personal source tree might better be done later …
"Up to date" binary packages are available. After a change was committed to
the repository, a binary package / installer is usually available within a few
hours at: https://www.wireshark.org/download/automated/. This can be quite
helpful, e.g. a bug reporter can easily verify a bugfix by installing a recent
Automated regression tests. In particular, the fuzz tests often indicate "real
life" problems that are otherwise hard to find.
1.6.2. What does the Buildbot do?
The Buildbot will do the following (to a different degree on the different
Check out from the source repository
Create binary packages and installers
Create source packages and run distribution checks
Run regression tests
Each step is represented at the status page by a rectangle, green if it
succeeded or red if it failed. Most steps provide a link to the corresponding
console logfile, to get additional information.
The Buildbot runs on a platform collection that represents the different
"platform specialties" quite well:
Windows 8.1 x86 (Win32, little endian, Visual Studio 2013)
Windows Server 2012 R2 x86-64 (Win64, little endian, Visual Studio 2013)
Ubuntu x86-64 (Linux, little endian, gcc, Clang)
macOS x86-64 (BSD, little endian, Clang)
and two buildslaves that run static code analysis to help spot coding issues:
Visual Studio Code Analysis (Win64, little endian, VS 2013)
Clang Code Analysis (Linux, little endian, Clang)
Each platform is represented at the status page by a single column, the
most recent entries are at the top.