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.

1.6.1. Advantages

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:
http://buildbot.wireshark.org/trunk/ 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
build.

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
platforms):

Check out from the source repository

Build

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 Studion 2013)

Windows 7 x86-64 (Win64, little endian, VS 2013)

Ubuntu x86-64 (Linux, little endian, gcc)

Solaris SPARC (Solaris, big endian, gcc)

Mac OS-X x86 (BSD, little endian, Clang)

Mac OS-X 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.