diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 85d380401ae46f6a9c02c7891a652cb4483cbe57..874f560ff9a196676910373e632362cb618fbe9b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -41,14 +41,20 @@ morph-builds:
     # thanks to project-level configuration.
     CACHIX_NAME: "privatestorage-opensource"
 
-  script:
+  before_script:
     - |
       nix-env -iA nixpkgs.cachix nixpkgs.bash
       cachix use privatestorage-opensource
       nix path-info --all > /tmp/store-path-pre-build
+
+  script:
+    - |
       for grid in morph/grid/*/grid.nix; do
           morph build "${grid}"
       done
+
+  after_script:
+    - |
       bash -c "comm -13 <(sort /tmp/store-path-pre-build | grep -v '\.drv$') <(nix path-info --all | grep -v '\.drv$' | sort) | cachix push $CACHIX_NAME"
 
 vulnerability-scan: