diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a71a927882a2f627a32685075027a3ac5067e26e..d02bd5f406000486a4e2147387309a74ff73b356 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -98,28 +98,53 @@ stop-base:
 
 ######################################################################
 #
-#  PACXX Build: build pacxx using the base image
+#  PACXX Source: get the sources
 #
 
-pacxx-build-native:
-  stage: pacxx-build
-  image: $REGISTRY/$CI_PROJECT_PATH:base-native.$PIPELINE_TAG
+pacxx-source:
+  stage: base # this can happily run in parallel with the other base stuff
+  image: alpine:latest
   dependencies: []
   tags:
   - hpc2seci
-  variables:
-    GIT_STRATEGY: none
   script:
+  - apk add git
   - mkdir src
   - cd src
   - git clone --depth=1 https://zivgitlab.uni-muenster.de/HPC2SE-Project/pacxx-llvm2.git .
+  - ../bin/verbose-git-status . llvm-wrapper-repo 2>&1 | tee -a repoversions
   - ./reinit
+  - ../bin/verbose-git-status . llvm 2>&1 | tee -a repoversions
   - git clone --depth=1 https://zivgitlab.uni-muenster.de/HPC2SE-Project/pacxx-clang.git tools/clang
+  - ../bin/verbose-git-status tools/clang clang 2>&1 | tee -a repoversions
   - git clone --depth=1 https://zivgitlab.uni-muenster.de/HPC2SE-Project/pacxx-rv2.git tools/rv
+  - ../bin/verbose-git-status tools/rv rv-wrapper-repo 2>&1 | tee -a repoversions
   - (cd tools/rv && ./reinit)
+  - ../bin/verbose-git-status tools/rv rv 2>&1 | tee -a repoversions
   - git clone --depth=1 https://zivgitlab.uni-muenster.de/HPC2SE-Project/pacxx-runtime.git projects/pacxxrt
-  - mkdir ../build
-  - cd ../build
+  - ../bin/verbose-git-status projects/pacxxrt pacxx-runtime 2>&1 | tee -a repoversions
+  artifacts:
+    paths:
+    - src/
+    expire_in: 1 week
+
+######################################################################
+#
+#  PACXX Build: build pacxx using the base image
+#
+
+pacxx-build-native:
+  stage: pacxx-build
+  image: $REGISTRY/$CI_PROJECT_PATH:base-native.$PIPELINE_TAG
+  dependencies:
+  - pacxx-source
+  tags:
+  - hpc2seci
+  variables:
+    GIT_STRATEGY: none
+  script:
+  - mkdir build
+  - cd build
   - cmake ../src -DBUILD_SHARED_LIBS=ON -DLLVM_ENABLE_RTTI=ON -DLLVM_ENABLE_CXX1Y=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS_RELEASE="-O3" -DCMAKE_INSTALL_PREFIX=/opt/pacxx
   - make -j$(nproc)
   - cd ..
@@ -132,22 +157,15 @@ pacxx-build-native:
 pacxx-build-cuda:
   stage: pacxx-build
   image: $REGISTRY/$CI_PROJECT_PATH:base-cuda.$PIPELINE_TAG
-  dependencies: []
+  dependencies:
+  - pacxx-source
   tags:
   - hpc2seci
   variables:
     GIT_STRATEGY: none
   script:
-  - mkdir src
-  - cd src
-  - git clone --depth=1 https://zivgitlab.uni-muenster.de/HPC2SE-Project/pacxx-llvm2.git .
-  - ./reinit
-  - git clone --depth=1 https://zivgitlab.uni-muenster.de/HPC2SE-Project/pacxx-clang.git tools/clang
-  - git clone --depth=1 https://zivgitlab.uni-muenster.de/HPC2SE-Project/pacxx-rv2.git tools/rv
-  - (cd tools/rv && ./reinit)
-  - git clone --depth=1 https://zivgitlab.uni-muenster.de/HPC2SE-Project/pacxx-runtime.git projects/pacxxrt
-  - mkdir ../build
-  - cd ../build
+  - mkdir build
+  - cd build
   - cmake ../src -DBUILD_SHARED_LIBS=ON -DLLVM_ENABLE_RTTI=ON -DLLVM_ENABLE_CXX1Y=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS_RELEASE="-O3" -DCMAKE_INSTALL_PREFIX=/opt/pacxx
   - make -j$(nproc)
   - cd ..
diff --git a/bin/verbose-git-status b/bin/verbose-git-status
new file mode 100755
index 0000000000000000000000000000000000000000..18ea239449d59a23bc35f74820fc815560390837
--- /dev/null
+++ b/bin/verbose-git-status
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+# verbose-git-status DIR NAME
+
+dir=${1:?Need a directory to report status for}
+name=${2:?Need a repository name to report}
+
+echo "Status for $name in $dir:"
+echo "Remotes:"
+git -C "$dir" remote -v
+echo "Top commit:"
+git -C "$dir" log -n1
+echo "Status:"
+git -C "$dir" status