My small shop of engineers (mostly nuclear, not software) somehow cobbled together Jenkins with Phabricator and we now have this magical world of up-to-date documentation, unit test results showing up in code review before code goes live, up-to-date in-use test suites, test coverage results vs. time, Pylint scores vs. time, auto-builds of various distribution packages, Python2 and Python3 compatibility checks, long-running validation runs every weekend, the whole nine yards! The best part is the release process (i.e. pushing the develop branch to the master branch). We have this huge checklist and Jenkins just runs through it all when it detects a new push on the master branch, doing all appropriate checks and updates of expected test results and stuff. God I love it.