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: 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 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 Studio 2013)
  • Windows 7 x86-64 (Win64, little endian, Visual Studio 2013)
  • Ubuntu x86-64 (Linux, little endian, gcc, Clang)
  • Solaris SPARC (Solaris, big endian, gcc)
  • OS X x86 (BSD, little endian, Clang)
  • 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.