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.

Release packages are built on the following platforms:

  • Windows Server 2019 x86-64 (Win32, little endian, Visual Studio 2019)
  • 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.