A tool that tries to build every Dub package against a wide range of DMD versions.


Dub Auto Tester

This project simply takes every dub package available on code.dlang.org and tests each version against each DMD release. It keeps track of the results and crafts HTML reports.

A failure in the tester does not indicate a project that does not work. See the Limitations section below. This system exists to give a quick impression of what D versions are best to use for what projects, and what D versions are generally most compatible with the ecosystem at large.

See current results here!

Running it on your own

You will need:

  • sqlite libraries to link against
  • dub
  • dmd or the equivalent

This is currently being developed with dmd 2.081.1.


  • The tester only tests full release versions -- vX.Y.Z.
    • It doesn’t test prereleases, like 0.17.4-alpha3.
    • It doesn’t test branches like ~master.
  • The tester only takes the most recent three versions.
    • The backfill is missing a lot of versions.
    • If you push five versions in a row, the tester might miss some.
    • This limitation may be removed in a later version.
  • The tester only tests one platform -- Linux on amd64. A lot of packages might work just fine on their intended platforms but fail on the tester.
  • An arbitrary selection of libraries is available on the build machine. This might cause some things not to build.

Build badges

The auto tester has build badges. Here’s an example:

This indicates the most recent contiguous range of D versions that at least one version of the package can build and pass tests on.

Dunno why you’d want it, but I made it.