gitlab-ci: rework how release pipelines work
Previously, releases would run all jobs and only enable the upload jobs for the were relevant. Instead, make it so that all jobs share an idea of what the tag is for and skip jobs not related to the release at hand.
This is because we now have a number of jobs that are quite expensive
(namely the gfortran
and qt
builds) and running them for both the
merge to master
for some change and the release that is probably
happening right after is quite wasteful (unless it is one of their
releases of course).
Additionally, factor out the release tag check into its own variable. This allows a single set of rules for the entire project.