A release is simply a code change that made it to the production, or live, environment. We use releases to help create quality control gates to ensure that code in use is performant and clean. In 2019 we had 781 releases which averages out to 2 releases a day. We release often because we move so quickly shipping new features and bug fixes. Speaking of bug fixes…
While you never want bugs in production the fact of the matter is bugs will happen to every system out there no matter how hard you try to prevent them with various quality gates. We’re proud that we were able to squash 499 bugs in the system in 2019. This averages out to 2 bugs fixed every day.
Unit and Integration Tests
One of the quality checks we perform with every release is the automatic running of unit and integration tests to make sure new features work as intended and that code changes don’t adversely affect existing code in production. By the end of 2019 we have a total of 3,342 unit and integration tests across the platform. Given the number of releases we had in 2019 we ended up running over 2 million unit and integration tests to help keep the system running it’s best.