Update CI pipeline
This MR updates the CI pipeline, mainly to address the previously broken debian build job. The changes are summarised as
- use templates from computing/gitlab-ci-templates
- use
needs
instead ofdependencies
- build debian source and binary packages, and run tests, separately
- add python 3.8 and 3.9 test jobs