diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0280784e3e2b58a2e12ffebfac0d46090b26ae83..00125aeda58d16b7045f6e35443fd157bdfd7a3f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -12,6 +12,15 @@ variables:
   STABLE: auto
   TEST_TAG: test-${CI_PIPELINE_ID}
 
+default:
+  # we want to ensure that the jobs updating the `latest` tags always reflect
+  # the actual latest pipeline. when two pipelines are started at the same time
+  # on the same branch sometimes the earlier one can complete last due to
+  # scheduling or any other reason, thus breaking the previous assumption.
+  # to avoid that, make the whole pipeline interruptible up to the tagging jobs
+  # so that earlier pipelines get killed when a new one is started
+  interruptible: true
+
 before_script:
   - |
     if [ "${CI_COMMIT_BRANCH%%/*}" = "$DISTRO" ]