Discourse team - How are you so confident in pushing version updates every couple of minutes?

Sorry for the meta-question about Discourse (pun intended…), but I have to know, how are you able to release dozens of version updates every day with such confidence??
I mean, the code is deployed live in tons of places and the risk of breaking a site that can have multiple third party plugins/themes/components is real.
You must have an incredible continues integration process - can you share some tips on how you manage to test it so well?

7 Likes

It helps that we deploy all new changes first in our internal community – the one we use for work every day, and also meta.discourse.org.

The Discourse team gets the newest and shiniest changes … and bugs. Then you folks on meta get the brunt of it too.

Contrary to popular belief, we don’t deploy all changes all the time to all sites; we do deploy sites on a regular basis. You are right that breaking a site is a risk. We have to strike a good balance between keeping sites safe and updated vs never updating them due to worry of breakages.

For tests, you can take a look at our repositories. We also have additional internal build+test processes

  • tests on core run every commit
  • tests in a supported plugin
  • tests in a supported theme

It is an ideal scenario for a third-party plugin to have tests as well, and also good to note that we do not support them on our hosting due to not being able to manage incompatibility and security.

15 Likes