diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b24f4c76efe7550fe20cd858f566ec03524be8cd..a763b2e51440b0089b6341fe2f28b4df1f0ba8ba 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -16,7 +16,7 @@ stages:
   variables:
     GIT_SUBMODULE_STRATEGY: recursive
   script:
-    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
+    - docker login -u $CSCS_REGISTRY_USER -p $CSCS_REGISTRY_PASSWORD $CSCS_REGISTRY
     - docker build -f $BUILD_DOCKERFILE --network=host --cache-from $BUILD_IMAGE --build-arg BUILDKIT_INLINE_CACHE=1 -t $BUILD_IMAGE .
     - docker push $BUILD_IMAGE
     - docker build -f $DEPLOY_DOCKERFILE --network=host --build-arg BUILD_ENV=$BUILD_IMAGE -t $DEPLOY_IMAGE .
@@ -26,17 +26,17 @@ build release:
   extends: .build_docker_images
   variables:
     BUILD_DOCKERFILE: ci/release/build.Dockerfile
-    BUILD_IMAGE: $CI_REGISTRY_IMAGE/release/build:latest
+    BUILD_IMAGE: $CSCS_REGISTRY_IMAGE/release/build:latest
     DEPLOY_DOCKERFILE: ci/release/deploy.Dockerfile
-    DEPLOY_IMAGE: $CI_REGISTRY_IMAGE/release/deploy:$CI_COMMIT_SHA
+    DEPLOY_IMAGE: $CSCS_REGISTRY_IMAGE/release/deploy:$CI_COMMIT_SHA
 
 build codecov:
   extends: .build_docker_images
   variables:
     BUILD_DOCKERFILE: ci/codecov/build.Dockerfile
-    BUILD_IMAGE: $CI_REGISTRY_IMAGE/codecov/build:latest
+    BUILD_IMAGE: $CSCS_REGISTRY_IMAGE/codecov/build:latest
     DEPLOY_DOCKERFILE: ci/codecov/deploy.Dockerfile
-    DEPLOY_IMAGE: $CI_REGISTRY_IMAGE/codecov/deploy:$CI_COMMIT_SHA
+    DEPLOY_IMAGE: $CSCS_REGISTRY_IMAGE/codecov/deploy:$CI_COMMIT_SHA
 
 notify_github_start:
   stage: build
@@ -62,7 +62,7 @@ variables:
 ### Release tests ###
 allocate release:
   stage: allocate
-  image: $CI_REGISTRY_IMAGE/release/deploy:$CI_COMMIT_SHA
+  image: $CSCS_REGISTRY_IMAGE/release/deploy:$CI_COMMIT_SHA
   only: ['master', 'staging', 'trying']
   extends: .daint_alloc
   variables:
@@ -71,7 +71,7 @@ allocate release:
 
 single node release:
   extends: .daint
-  image: $CI_REGISTRY_IMAGE/release/deploy:$CI_COMMIT_SHA
+  image: $CSCS_REGISTRY_IMAGE/release/deploy:$CI_COMMIT_SHA
   only: ['master', 'staging', 'trying']
   stage: test
   script:
@@ -85,7 +85,7 @@ single node release:
 
 multi node release:
   extends: .daint
-  image: $CI_REGISTRY_IMAGE/release/deploy:$CI_COMMIT_SHA
+  image: $CSCS_REGISTRY_IMAGE/release/deploy:$CI_COMMIT_SHA
   only: ['master', 'staging', 'trying']
   stage: test
   script:
@@ -97,7 +97,7 @@ multi node release:
 
 deallocate release:
   only: ['master', 'staging', 'trying']
-  image: $CI_REGISTRY_IMAGE/release/deploy:$CI_COMMIT_SHA
+  image: $CSCS_REGISTRY_IMAGE/release/deploy:$CI_COMMIT_SHA
   stage: cleanup
   extends: .daint_dealloc
   variables:
@@ -107,7 +107,7 @@ deallocate release:
 allocate codecov:
   stage: allocate
   only: ['master', 'staging', 'trying']
-  image: $CI_REGISTRY_IMAGE/codecov/deploy:$CI_COMMIT_SHA
+  image: $CSCS_REGISTRY_IMAGE/codecov/deploy:$CI_COMMIT_SHA
   extends: .daint_alloc
   variables:
     PULL_IMAGE: 'YES'
@@ -116,7 +116,7 @@ allocate codecov:
 single node codecov:
   extends: .daint
   only: ['master', 'staging', 'trying']
-  image: $CI_REGISTRY_IMAGE/codecov/deploy:$CI_COMMIT_SHA
+  image: $CSCS_REGISTRY_IMAGE/codecov/deploy:$CI_COMMIT_SHA
   stage: test
   script:
     - codecov_pre
@@ -135,7 +135,7 @@ single node codecov:
 multi node codecov:
   extends: .daint
   only: ['master', 'staging', 'trying']
-  image: $CI_REGISTRY_IMAGE/codecov/deploy:$CI_COMMIT_SHA
+  image: $CSCS_REGISTRY_IMAGE/codecov/deploy:$CI_COMMIT_SHA
   stage: test
   script:
     - codecov_pre
@@ -152,7 +152,7 @@ multi node codecov:
 upload codecov reports:
   extends: .daint
   only: ['master', 'staging', 'trying']
-  image: $CI_REGISTRY_IMAGE/codecov/deploy:$CI_COMMIT_SHA
+  image: $CSCS_REGISTRY_IMAGE/codecov/deploy:$CI_COMMIT_SHA
   stage: upload_reports
   variables:
     SLURM_JOB_NUM_NODES: 1
@@ -162,7 +162,7 @@ upload codecov reports:
 
 deallocate codecov:
   only: ['master', 'staging', 'trying']
-  image: $CI_REGISTRY_IMAGE/codecov/deploy:$CI_COMMIT_SHA
+  image: $CSCS_REGISTRY_IMAGE/codecov/deploy:$CI_COMMIT_SHA
   stage: cleanup
   extends: .daint_dealloc
   variables:
diff --git a/arborio/CMakeLists.txt b/arborio/CMakeLists.txt
index 4cc0e2a3ac6512f49928d191048d81d2a5974569..59a1bc30eed72ea59a60cbf3b82a583242016e48 100644
--- a/arborio/CMakeLists.txt
+++ b/arborio/CMakeLists.txt
@@ -8,9 +8,9 @@ if(ARB_WITH_NEUROML)
             with_xml.cpp
             xmlwrap.cpp
         )
+    find_package(LibXml2 REQUIRED)
 endif()
 
-find_package(LibXml2 REQUIRED)
 
 add_library(arborio ${arborio-sources})
 
diff --git a/ci/codecov/build.Dockerfile b/ci/codecov/build.Dockerfile
index 23f9e621b0d2966ce67efdab1652152ffa348728..31e86f15d9eccabf2ec36a9dea223b59ba1daefa 100644
--- a/ci/codecov/build.Dockerfile
+++ b/ci/codecov/build.Dockerfile
@@ -1,4 +1,4 @@
-FROM nvidia/cuda:10.1-devel-ubuntu18.04
+FROM nvidia/cuda:10.2-devel-ubuntu18.04
 
 WORKDIR /root
 
@@ -10,11 +10,22 @@ ENV MPICH_VERSION ${MPICH_VERSION}
 
 # Install basic tools
 RUN apt-get update -qq && apt-get install -qq -y --no-install-recommends \
-    build-essential lcov \
     python3 \
-    git tar wget curl && \
+    git tar wget curl \
+    gcc-8 g++-8 make && \
+    update-alternatives \
+        --install /usr/bin/gcc gcc /usr/bin/gcc-8 60 \
+        --slave /usr/bin/g++ g++ /usr/bin/g++-8 \
+        --slave /usr/bin/gcov gcov /usr/bin/gcov-8 && \
+    update-alternatives --config gcc && \
     rm -rf /var/lib/apt/lists/*
 
+RUN wget -q "https://github.com/linux-test-project/lcov/archive/v1.14.tar.gz" && \
+    tar -xzf v1.14.tar.gz && \
+    cd lcov-1.14 && \
+    make install -j$(nproc) && \
+    rm -rf lcov-1.14 v1.14.tar.gz
+
 # Install cmake
 RUN wget -qO- "https://github.com/Kitware/CMake/releases/download/v3.12.4/cmake-3.12.4-Linux-x86_64.tar.gz" | tar --strip-components=1 -xz -C /usr/local
 
@@ -30,4 +41,4 @@ RUN wget -q https://www.mpich.org/static/downloads/${MPICH_VERSION}/mpich-${MPIC
 RUN wget -q https://github.com/haampie/libtree/releases/download/v1.2.0/libtree_x86_64.tar.gz && \
     tar -xzf libtree_x86_64.tar.gz && \
     rm libtree_x86_64.tar.gz && \
-    ln -s /root/libtree/libtree /usr/local/bin/libtree
\ No newline at end of file
+    ln -s /root/libtree/libtree /usr/local/bin/libtree
diff --git a/ci/release/build.Dockerfile b/ci/release/build.Dockerfile
index 4c17a820e44a2e5fc5d9d66d0fd0f6fe2e8b8888..e28015a5c71614e3e3448c32faa1c0eb9478d72f 100644
--- a/ci/release/build.Dockerfile
+++ b/ci/release/build.Dockerfile
@@ -1,4 +1,4 @@
-FROM nvidia/cuda:10.1-devel-ubuntu18.04
+FROM nvidia/cuda:10.2-devel-ubuntu18.04
 
 WORKDIR /root
 
@@ -10,9 +10,13 @@ ENV MPICH_VERSION ${MPICH_VERSION}
 
 # Install basic tools
 RUN apt-get update -qq && apt-get install -qq -y --no-install-recommends \
-    build-essential \
     python3 \
-    git tar wget curl && \
+    git tar wget curl \
+    gcc-8 g++-8 make && \
+    update-alternatives \
+        --install /usr/bin/gcc gcc /usr/bin/gcc-8 60 \
+        --slave /usr/bin/g++ g++ /usr/bin/g++-8 && \
+    update-alternatives --config gcc && \
     rm -rf /var/lib/apt/lists/*
 
 # Install cmake