From dcc19a3574b33550705642b9dad746fad81c84f1 Mon Sep 17 00:00:00 2001
From: Remi Cresson <remi.cresson@irstea.fr>
Date: Mon, 9 May 2022 19:38:56 +0200
Subject: [PATCH] DOC: update docker images section

---
 .gitlab-ci.yml   | 48 +++++++++++++++++++++++++++++++++++++++++++-----
 doc/DOCKERUSE.md |  5 +++--
 2 files changed, 46 insertions(+), 7 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 87964c8..78a1fe4 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -31,11 +31,43 @@ docker image:
     - echo -n $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY
   timeout: 10 hours
   script:
-    - docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME ||
-    - docker pull $CI_REGISTRY_IMAGE:cpu-basic-test || 
     - >
-      DOCKER_BUILDKIT=1 docker build
+      docker build
+      --target otbtf-base
       --network="host"
+      --cache-from $CI_REGISTRY_IMAGE:otbtf-base-cpu-basic-test
+      --cache-from $CI_REGISTRY_IMAGE:otbtf-base-$CI_COMMIT_REF_NAME
+      --tag $CI_REGISTRY_IMAGE:otbtf-base-$CI_COMMIT_REF_NAME
+      --build-arg OTBTESTS="true"
+      --build-arg KEEP_SRC_OTB="true"
+      --build-arg BZL_CONFIGS=""
+      --build-arg BASE_IMG="ubuntu:20.04"
+      --build-arg BUILDKIT_INLINE_CACHE=1
+      .
+    - docker push $CI_REGISTRY_IMAGE:otbtf-base-$CI_COMMIT_REF_NAME
+    - >
+      docker build
+      --target builder
+      --network="host"
+      --cache-from $CI_REGISTRY_IMAGE:otbtf-base-cpu-basic-test
+      --cache-from $CI_REGISTRY_IMAGE:otbtf-base-$CI_COMMIT_REF_NAME
+      --cache-from $CI_REGISTRY_IMAGE:builder-cpu-basic-test
+      --cache-from $CI_REGISTRY_IMAGE:builder-$CI_COMMIT_REF_NAME
+      --tag $CI_REGISTRY_IMAGE:builder-$CI_COMMIT_REF_NAME
+      --build-arg OTBTESTS="true"
+      --build-arg KEEP_SRC_OTB="true"
+      --build-arg BZL_CONFIGS=""
+      --build-arg BASE_IMG="ubuntu:20.04"
+      --build-arg BUILDKIT_INLINE_CACHE=1
+      .
+    - docker push $CI_REGISTRY_IMAGE:builder-$CI_COMMIT_REF_NAME
+    - >
+      docker build
+      --network="host"
+      --cache-from $CI_REGISTRY_IMAGE:otbtf-base-cpu-basic-test
+      --cache-from $CI_REGISTRY_IMAGE:otbtf-base-$CI_COMMIT_REF_NAME
+      --cache-from $CI_REGISTRY_IMAGE:builder-cpu-basic-test
+      --cache-from $CI_REGISTRY_IMAGE:builder-$CI_COMMIT_REF_NAME
       --cache-from $CI_REGISTRY_IMAGE:cpu-basic-test
       --cache-from $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
       --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
@@ -43,9 +75,9 @@ docker image:
       --build-arg KEEP_SRC_OTB="true"
       --build-arg BZL_CONFIGS=""
       --build-arg BASE_IMG="ubuntu:20.04"
-      --build-arg BUILDKIT_INLINE_CACHE=1 
+      --build-arg BUILDKIT_INLINE_CACHE=1
       .
-    - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
+    - docker push $CI_REGISTRY_IMAGE:builder-$CI_COMMIT_REF_NAME
 
 .static_analysis_base:
   stage: Static Analysis
@@ -127,6 +159,12 @@ deploy:
   only:
     - develop
   script:
+    - docker pull $CI_REGISTRY_IMAGE:otbtf-base-$CI_COMMIT_REF_NAME
+    - docker pull $CI_REGISTRY_IMAGE:builder-$CI_COMMIT_REF_NAME
     - docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
+    - docker tag $CI_REGISTRY_IMAGE:otbtf-base-$CI_COMMIT_REF_NAME $CI_REGISTRY_IMAGE:otbtf-base-cpu-basic-test
+    - docker tag $CI_REGISTRY_IMAGE:builder-$CI_COMMIT_REF_NAME $CI_REGISTRY_IMAGE:builder-cpu-basic-test
     - docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME $CI_REGISTRY_IMAGE:cpu-basic-test
+    - docker push $CI_REGISTRY_IMAGE:otbtf-base-cpu-basic-test
+    - docker push $CI_REGISTRY_IMAGE:builder-cpu-basic-test
     - docker push $CI_REGISTRY_IMAGE:cpu-basic-test
diff --git a/doc/DOCKERUSE.md b/doc/DOCKERUSE.md
index 69382c9..9c10089 100644
--- a/doc/DOCKERUSE.md
+++ b/doc/DOCKERUSE.md
@@ -26,8 +26,9 @@ Here is the list of OTBTF docker images hosted on [dockerhub](https://hub.docker
 | **mdl4eo/otbtf3.0:gpu-dev**       | Ubuntu Focal  | r2.5   | 7.4.0 | GPU (dev)              | yes       | 5.2,6.1,7.0,7.5,8.6|
 | **mdl4eo/otbtf3.1:cpu-basic**     | Ubuntu Focal  | r2.8   | 7.4.0 | CPU, no optimization   | no        | 5.2,6.1,7.0,7.5,8.6|
 | **mdl4eo/otbtf3.1:cpu-basic-dev** | Ubuntu Focal  | r2.8   | 7.4.0 | CPU, no optimization (dev) |  yes  | 5.2,6.1,7.0,7.5,8.6|
-| **mdl4eo/otbtf3.1:gpu-basic**     | Ubuntu Focal  | r2.8   | 7.4.0 | GPU                    | yes       | 5.2,6.1,7.0,7.5,8.6|
-| **mdl4eo/otbtf3.1:gpu**           | Ubuntu Focal  | r2.8   | 7.4.0 | GPU, no optimization   | yes       | 5.2,6.1,7.0,7.5,8.6|
+| **mdl4eo/otbtf3.1:gpu-basic**     | Ubuntu Focal  | r2.8   | 7.4.0 | GPU, no optimization   | no        | 5.2,6.1,7.0,7.5,8.6|
+| **mdl4eo/otbtf3.1:gpu-basic-dev** | Ubuntu Focal  | r2.8   | 7.4.0 | GPU, no optimization (dev) | yes   | 5.2,6.1,7.0,7.5,8.6|
+| **mdl4eo/otbtf3.1:gpu**           | Ubuntu Focal  | r2.8   | 7.4.0 | GPU                    | no        | 5.2,6.1,7.0,7.5,8.6|
 | **mdl4eo/otbtf3.1:gpu-dev**       | Ubuntu Focal  | r2.8   | 7.4.0 | GPU (dev)              | yes       | 5.2,6.1,7.0,7.5,8.6|
 
 - `cpu` tagged docker images are compiled for CPU usage only.
-- 
GitLab