gitlab-ci: Add .use-debian-10 template

It simplifies the definitions of jobs using the Debian 10 image.

The needs: was previously missing from the llvmpipe/softpipe test jobs,
so they could spuriously run if the debian-10 job failed or was
cancelled.

Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5e0dc3c..3b5fceb 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -68,6 +68,12 @@
     GIT_STRATEGY: none # no need to pull the whole tree for rebuilding the image
     DEBIAN_EXEC: 'bash .gitlab-ci/debian-install.sh'
 
+.use-debian-10:
+  extends: .ci-run-policy
+  image: $DEBIAN_IMAGE
+  needs:
+    - debian-10
+
 debian-9:
   extends: debian-10
   variables:
@@ -95,10 +101,7 @@
 # BUILD
 
 .build:
-  extends: .ci-run-policy
-  image: $DEBIAN_IMAGE
-  needs:
-    - debian-10
+  extends: .use-debian-10
   stage: build
   cache:
     key: ${CI_JOB_NAME}
@@ -374,9 +377,8 @@
     - LLVM_VERSION=5.0 .gitlab-ci/scons-build.sh
 
 .deqp-test:
-  extends: .ci-run-policy
+  extends: .use-debian-10
   stage: test
-  image: $DEBIAN_IMAGE
   variables:
     GIT_STRATEGY: none # testing doesn't build anything from source
     DEQP_SKIPS: deqp-default-skips.txt