Current Build Status

The continuous integration (CI) systems below automatically build the current development versions of tcpdump, libpcap and tcpslice. For Cirrus CI and AppVeyor CI the badges indicate the git master branch status. For OpenCSW Buildbot the badges do not indicate a status, the current status can be seen by following the links. For The Tcpdump Group Buildbot the badges indicate either the git master branch or a pull request status, whichever was the last built. Coverity Scan uses a manually triggered automatic process on whichever git branch is necessary (usually the master).

  tcpdump libpcap tcpslice
Cirrus CI
{AArch64} × {macOS} status badge status badge status badge
OpenCSW Buildbot
{AMD64, i386, SPARC, SPARC V9} × {Solaris 10} build status build status N/A
AppVeyor CI
{AMD64} × {Windows} status badge status badge N/A
The Tcpdump Group Buildbot (infrastructure sponsored by OSU OSL)
{IBM Z} × {Linux} status badge status badge status badge
{POWER9} × {Linux} status badge status badge status badge
{AMD64} × {NetBSD} status badge status badge status badge
{AMD64} × {OpenBSD} status badge status badge status badge
{AArch64} × {Linux} status badge status badge status badge
{AArch64} × {FreeBSD} status badge status badge status badge
The Tcpdump Group Buildbot (colocation sponsored by UK Dedicated Servers Ltd)
{AArch64} × {NetBSD} status badge status badge status badge
{AArch64} × {OpenBSD} status badge status badge status badge
{ARMv7} × {Linux} status badge status badge status badge
{MIPS64} × {OpenBSD} status badge status badge status badge
{MIPS} × {Linux} status badge status badge status badge
{RISC-V} × {Linux} (hardware sponsored by RISC-V International) status badge status badge status badge
{MIPS64} × {NetBSD} status badge status badge status badge
The Tcpdump Group Buildbot (infrastructure sponsored by OmniOS)
{AMD64} × {illumos} status badge status badge status badge
The Tcpdump Group Buildbot (own infrastructure)
{AMD64} × {Linux} status badge status badge status badge
{AMD64} × {FreeBSD} status badge status badge status badge
Coverity Scan (service sponsored by Synopsys)
{AMD64} × {Linux} status badge status badge status badge

Potential Improvements

  • Test cross-compiling of every project in at least one context (to detect regressions like this one).
  • Idem with instrument functions enabled.
  • Test libpcap without the protochain keyword support (see 852).
  • In The Tcpdump Group Buildbot test all permutations of compilers, build systems and libpcap types: local, system and (on NetBSD) pkgsrc. Currently some permutations are disabled on some workers because of unresolved issues in the OS or a particular project source code.
  • Ibid., trigger a build of tcpdump master branch every time libpcap master branch passes a build successfully.
  • Ibid., schedule builds on slow workers only after all fast workers have successfully completed building the change.
  • Ibid., manage the 32-bit ARM worker to terminate user processes on unaligned memory access attempts so the build detects alignment issues in the code too.
  • Ibid., add workers for AIX, DragonFly BSD, GNU/Hurd, Haiku and HP-UX.
  • Ibid., have the master recognize [skip buildbot] and [skip bb].
  • …anything else? Please send any suggestions to the mailing list, especially those you can help implementing.

Skipping the CI

Last but not least: because the full set of CI builds takes a long time to complete, it is a good idea not to CI man page, change log and README updates or any other changes that have no effect on the source code or the build system logic. This is very simple to do:

  • To skip CI in as many systems as possible, append [skip ci] to the git commit title (which is the very first line of a git commit message).
  • To skip CI in AppVeyor CI only, append [skip appveyor] to the git commit title.
  • To skip CI in Cirrus CI only, append [skip cirrus] to the git commit title or the last line of the commit message.
  • To skip CI in The Tcpdump Group Buildbot only, append [skip ci] to the git commit message outside of the commit title.