Consolidate GitLab CI jobs
This is mostly @eric's changes from !418 (closed), rebased on current master and with some fixes squashed in.
I've also applied the one-liner from !675 (merged) to the branch, to get a shorter pipeline runtime.
Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.
This is mostly @eric's changes from !418 (closed), rebased on current master and with some fixes squashed in.
I've also applied the one-liner from !675 (merged) to the branch, to get a shorter pipeline runtime.