Improve gitlab pipeline for release
To not waste cycles on code that does not lint, we need to split out the linter stage. Additionally we need to introduce a build and deploy stage (the latter should only be triggered on tag, an example for this can be found in https://gitlab.archlinux.org/archlinux/arch-release-promotion/-/blob/master/.gitlab-ci.yml).
This is in preparation for a 0.1.0 release, which will also require us to setup some secrets in CI.