From 6e5033df54d5f2136e6f65c0307ac36b602bfe48 Mon Sep 17 00:00:00 2001
From: Frank Sauerburger <frank@sauerburger.com>
Date: Wed, 13 Jan 2021 15:17:05 +0100
Subject: [PATCH] Use latest images as cache

---
 .gitlab-ci.yml        | 1 +
 ci/tag_latest.sh      | 7 +++++++
 docker-compose.ci.yml | 2 ++
 3 files changed, 10 insertions(+)
 create mode 100755 ci/tag_latest.sh

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 9cab839..4dbdb04 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -68,6 +68,7 @@ build:
     - echo "${CI_REGISTRY_PASSWORD}" | docker login -u ${CI_REGISTRY_USER} --password-stdin ${CI_REGISTRY}
     - test $FORCE_RECREATE && docker rm -f $(docker ps -q) || true
     - docker-compose -f docker-compose.yml -f docker-compose.ci.yml push
+    - ./ci/tag_latest.sh
 
 .deploy: &deploy_template
   stage: deploy
diff --git a/ci/tag_latest.sh b/ci/tag_latest.sh
new file mode 100755
index 0000000..a750c6c
--- /dev/null
+++ b/ci/tag_latest.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+for image in api webserver
+do
+  docker tag ${CI_REGISTRY_IMAGE}/${image}:${CI_COMMIT_SHA} ${CI_REGISTRY_IMAGE}/${image}:latest
+  docker push ${CI_REGISTRY_IMAGE}/${image}:latest
+done
diff --git a/docker-compose.ci.yml b/docker-compose.ci.yml
index f3c7d79..e0e67fa 100644
--- a/docker-compose.ci.yml
+++ b/docker-compose.ci.yml
@@ -2,6 +2,8 @@ version: '3'
 services:
   hub:
     image: ${CI_REGISTRY_IMAGE}/api:${CI_COMMIT_SHA}
+    cache_from: image: ${CI_REGISTRY_IMAGE}/api:latest
 
   webserver:
     image: ${CI_REGISTRY_IMAGE}/webserver:${CI_COMMIT_SHA}
+    cache_from: image: ${CI_REGISTRY_IMAGE}/webserver:latest
-- 
GitLab