First, thank you for this subforum. I was waiting for a space where I could interact, share and ask for features in everything related to testing and CI. Next, I'll explain the evolution of this topic in my organization. I'm in charge of my organization's code base for years and two years since we started using continuous integration. We have adopted it with the help of: Jenkins: from where we execute all the jobs. Sonarqube: for static code analysis so we can be sure that we wrote the best code possible from the rules perspective. u3d: automation of Unity editor and modules installation. fastlane: related to everything that has to do with Android or iOS releases and their management of certificates, provisioning profiles etc... We use the internal, alpha and beta channels in Android and Testflight in iOS. We have gone from having to manually publish everything to being able to automate the entire publishing flow of all the platforms we use: Windows, macOS, Linux, Android, iOS, WebGL and UWP. It is key in projects in which we need to publish for several platforms at the same time, for iOS (really painful workflow by Apple...) or for platforms that require or we want to publish in IL2CPP (really consuming build times). We have several nodes in Jenkins so we can have parallel executing jobs or jobs that are partially executed by one machine and the rest from other machine. Apart from the workflow for "real" projects we have the following setup for our codebase where we run Jenkins pipeline parallel steps: Run all tests. Run a static code analysis and publish it in Sonarqube. We check for code smells or bugs. Run a build on all platforms. That way we can test that our code successfully compiles on all platforms without issues. Publish in separate unity packages. We also have specific jobs for building our custom native plugins for: Windows, macOS, Linux, Android, iOS, WebGL and UWP. To achieve all of the above we have custom groovy shared libraries on Jenkins We have an Alienware and an iMac with SSDs on our CI setup. We only have one executor on each node (machine) because I don't like running multiple Unity builds on one machine in case there are collisions or weird problems. What I want to do in the next months is: Start using private scope registries with package manager so we can start publishing our own private packages. I want to automate it with Jenkins. I did a setup of verdaccio and a few manual package publishing tests with promising results. Start using Unity's code coverage but I need to wait for it's release.