Cockpit is an easy to use web-based interface for your servers which relies on a lot of external dependencies for it's functionality. This talk describes how Cockpit is tested, tests are run on multiple distributions and issues reported upstream.
Cockpit is an easy to use web-based interface for your servers and is supported & tested on Debian, Ubuntu, RHEL, CentOS, Fedora and Arch Linux. Cockpit depends on a lot of external dependencies for it's features such as managing networking, firewall rules, users, containers, virtual machines and services. To make sure a new feature works well and keeps working on all supported distributions Cockpit has an elaborate custom testing CI setup. All issues found during testing are reported upstream and automatically detected when a new version fixes the issue by our CI.
This talk explains how we run our tests on multiple distributions, write tests so they work on all distributions and constantly test new releases and updates of distributions. Also included is how our npm dependencies are tested and how we make sure to not introduce UX regressions by having pixel tests, in general this talk discusses the whole CI architecture of Cockpit, how we keep our CI under control from running too long and report and track issues upstream.