* The python we were using on trusty was EOL and so breaking in sphinx. Rather than continuing on trusty, we upgrade to bionic and deliberately target gcc-5 and clang-3.8 (the only thing we care about being old/minspec to ensure we don't break it).
* There are old commits that break the rule, and some badly configured branches pull in the entire repo history.