Rich, have you considered a CI environment of some kind (e.g. Travis, GitLab)? GitLab is my favourite, particularly because it can be hosted locally (i.e. can interact with hardware if you so desire). That means you can e.g. run quick unit tests inside of a Docker image for various arches, and then run integration & system tests natively before a release. I'm particularly a big fan of the TDD approach, where unit tests are written and passing for new features (and unit tests continue to pass for old features) before a pull request is merge. C