From 3bb1ed92ba9026f2ca206850f0bc7ac3ca1d2e5d Mon Sep 17 00:00:00 2001
From: Tomas Pecka <peckato1@fit.cvut.cz>
Date: Sun, 17 Apr 2022 21:58:47 +0200
Subject: [PATCH] ci: use local copies of docker images

By pulling as much images as we can from local cached copy we could
(hopefully) avoid the docker TOOMANYREQUESTS error.
---
 .gitlab-ci.yml          | 32 ++++++++++++++++----------------
 extra/docker/Dockerfile |  4 ++--
 2 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index bbb5ec8078..f0822451a7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,4 +1,4 @@
-image: alpine:3.15
+image: gitlab.fit.cvut.cz:5000/algorithms-library-toolkit/infrastructure/ci-docker-images/alpine:3.15
 
 stages:
  - build
@@ -121,10 +121,10 @@ build:doc:
     expire_in: 2 days
 
 .template:docker: &docker
-  image: docker:dind
   cache: {}  # disable
   services:
-    - docker:dind
+    - name: gitlab.fit.cvut.cz:5000/algorithms-library-toolkit/infrastructure/ci-docker-images/docker:dind
+      alias: docker
   variables:
     # DOCKER_TLS_CERTDIR: "/certs"
     DOCKER_DRIVER: overlay2
@@ -137,7 +137,7 @@ build:doc:
 
 package:docker:
   <<: *docker
-  image: alpine:latest
+  image: gitlab.fit.cvut.cz:5000/algorithms-library-toolkit/infrastructure/ci-docker-images/alpine:3.15
   extends: .template:package
   script:
     - docker build --target=deploy -f extra/docker/Dockerfile -t alt .
@@ -147,7 +147,7 @@ package:docker:
 
 package:arch:rolling:
   extends: .template:package
-  image: archlinux:latest
+  image: gitlab.fit.cvut.cz:5000/algorithms-library-toolkit/infrastructure/ci-docker-images/archlinux:latest
   before_script:
     - pacman -Suy --noconfirm python-pip git sudo binutils fakeroot
     - pacman -Sy --noconfirm cmake gcc make # https://gitlab.nic.cz/packaging/apkg/-/issues/64
@@ -169,35 +169,35 @@ package:arch:rolling:
 
 package:debian:bullseye: # deb-11
   extends: .package:deb
-  image: amd64/debian:bullseye
+  image: gitlab.fit.cvut.cz:5000/algorithms-library-toolkit/infrastructure/ci-docker-images/amd64/debian:bullseye
 
 package:debian:bookworm: # deb-testing
   extends: .package:deb
-  image: amd64/debian:bookworm
+  image: gitlab.fit.cvut.cz:5000/algorithms-library-toolkit/infrastructure/ci-docker-images/amd64/debian:bookworm
   script:
     - apkg build-dep --distro debian-98 # otherwise identifies as "debian"
     - apkg build --distro debian-98
 
 package:debian:sid: # deb-unstable
   extends: .package:deb
-  image: amd64/debian:bookworm
+  image: gitlab.fit.cvut.cz:5000/algorithms-library-toolkit/infrastructure/ci-docker-images/amd64/debian:bookworm
   script:
     - apkg build-dep --distro debian-99 # otherwise identifies as "debian"
     - apkg build --distro debian-99
 
 package:ubuntu:20.04:
   extends: .package:deb
-  image: ubuntu:20.04
+  image: gitlab.fit.cvut.cz:5000/algorithms-library-toolkit/infrastructure/ci-docker-images/ubuntu:20.04
   variables:
     CXX: g++-10
 
 package:ubuntu:21.04:
   extends: .package:deb
-  image: ubuntu:21.04
+  image: gitlab.fit.cvut.cz:5000/algorithms-library-toolkit/infrastructure/ci-docker-images/ubuntu:21.04
 
 package:ubuntu:21.10:
   extends: .package:deb
-  image: ubuntu:21.10
+  image: gitlab.fit.cvut.cz:5000/algorithms-library-toolkit/infrastructure/ci-docker-images/ubuntu:21.10
 
 .package:opensuse:
   extends: .template:package
@@ -207,19 +207,19 @@ package:ubuntu:21.10:
 
 package:opensuse:tumbleweed:
   extends: .package:opensuse
-  image: opensuse/tumbleweed
+  image: gitlab.fit.cvut.cz:5000/algorithms-library-toolkit/infrastructure/ci-docker-images/opensuse/tumbleweed
   variables:
     CXX: g++-11
 
 package:opensuse:leap:15.3:
   extends: .package:opensuse
-  image: opensuse/leap:15.3
+  image: gitlab.fit.cvut.cz:5000/algorithms-library-toolkit/infrastructure/ci-docker-images/opensuse/leap:15.3
   variables:
     CXX: g++-11
 
 package:opensuse:leap:15.4:
   extends: .package:opensuse
-  image: opensuse/leap:15.4
+  image: gitlab.fit.cvut.cz:5000/algorithms-library-toolkit/infrastructure/ci-docker-images/opensuse/leap:15.4
   variables:
     CXX: g++-11
 
@@ -231,11 +231,11 @@ package:opensuse:leap:15.4:
 
 package:fedora:34:
   extends: .package:fedora
-  image: fedora:34
+  image: gitlab.fit.cvut.cz:5000/algorithms-library-toolkit/infrastructure/ci-docker-images/fedora:34
 
 package:fedora:35:
   extends: .package:fedora
-  image: fedora:35
+  image: gitlab.fit.cvut.cz:5000/algorithms-library-toolkit/infrastructure/ci-docker-images/fedora:35
 
 packages:
   stage: packaging
diff --git a/extra/docker/Dockerfile b/extra/docker/Dockerfile
index ca76b0e76f..7ac4602932 100644
--- a/extra/docker/Dockerfile
+++ b/extra/docker/Dockerfile
@@ -1,7 +1,7 @@
 # -------------------------------------------------------------------------------------------------
 # build stage
 
-FROM alpine:3.13 AS build
+FROM gitlab.fit.cvut.cz:5000/algorithms-library-toolkit/infrastructure/ci-docker-images/alpine:3.13 AS build
 
 ADD . /build
 WORKDIR /build
@@ -22,7 +22,7 @@ RUN mkdir -p build && cd build && cmake \
 # -------------------------------------------------------------------------------------------------
 # deploy stage
 
-FROM alpine:3.13 AS deploy
+FROM gitlab.fit.cvut.cz:5000/algorithms-library-toolkit/infrastructure/ci-docker-images/alpine:3.13 AS deploy
 LABEL maintainer="peckato1@fit.cvut.cz"
 
 COPY --from=build /build/install /usr
-- 
GitLab