From 54e298878133db9685a45ca53fd952a9a5f9136c Mon Sep 17 00:00:00 2001
From: Fedor Telnov <f.telnov@picodata.io>
Date: Fri, 29 Sep 2023 05:59:11 +0000
Subject: [PATCH] add templates usage to build ci, bump CI rust version

---
 .gitlab-ci.yml | 41 ++++++++---------------------------------
 Dockerfile.ci  |  2 +-
 2 files changed, 9 insertions(+), 34 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5fd03e4..e20cff9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,3 +1,8 @@
+include:
+  - project: "picodata/devops/ci-templates"
+    file: "build_ci.yml"
+    ref: 0.1.0
+
 stages:
   - test
   - lint
@@ -5,7 +10,7 @@ stages:
 
 variables:
   GIT_STRATEGY: clone
-  CI_IMAGE_REPOSITORY: docker-picodata.binary.picodata.io
+  CI_IMAGE_REPOSITORY: docker-public.binary.picodata.io
   CI_IMAGE: "${CI_IMAGE_REPOSITORY}/${CI_PROJECT_NAME}:0.1.0"
   DOCKER_AUTH_CONFIG: $DOCKER_AUTH_RO
   CARGO_NET_GIT_FETCH_WITH_CLI: "true"
@@ -78,36 +83,6 @@ publish:
 
 build_ci:
   stage: utility
-  tags:
-    - shell
-  inherit:
-    default: false
+  extends: .build_ci_template
   variables:
-    DOCKER_AUTH_CONFIG: $DOCKER_AUTH_RW
-
-    # Image version MUST be passed to CI job, or job will be failed.
-    CI_IMAGE_VERSION: ""
-
-    # If true is passed here, job will overwrite existing image with the same tag.
-    # If it is false(default) and image with the same tag already resides in docker registry, job will be failed.
-    CI_IMAGE_OVERWRITE_TAG: "false"
-
-    # If true is passed here, resulting image would also be tagged as latest.
-    CI_IMAGE_IS_LATEST: "true"
-
-    BASE_IMAGE_NAME: "${CI_IMAGE_REPOSITORY}/${CI_PROJECT_NAME}"
-    IMAGE_TAG: "${BASE_IMAGE_NAME}:${CI_IMAGE_VERSION}"
-    LATEST_IMAGE_TAG: "${BASE_IMAGE_NAME}:latest"
-  before_script:
-    - if [ -z "$CI_IMAGE_VERSION" ]; then echo "Image version should be specified, got '$CI_IMAGE_VERSION'" 1>&2 && exit 1; fi
-    - IMAGE_EXIST=$(docker manifest inspect $IMAGE_TAG > /dev/null; echo $?)
-    - if [[ "$CI_IMAGE_OVERWRITE_TAG" == "false" && "$IMAGE_EXIST" == "0" ]]; then echo "Image tag already resides in registry and it must not be overwritten" 1>&2 && exit 1; fi
-  script:
-    - docker build --file Dockerfile.ci -t $IMAGE_TAG .
-    - if [ $CI_IMAGE_IS_LATEST = "true" ]; then docker tag $IMAGE_TAG $LATEST_IMAGE_TAG; fi
-    - docker push --all-tags $BASE_IMAGE_NAME
-  when: manual
-  only:
-    changes:
-      - Dockerfile.ci
-  needs: []
+    DOCKER_REPOSITORY: "docker-public.binary.picodata.io"
diff --git a/Dockerfile.ci b/Dockerfile.ci
index 63ee294..44e32f5 100644
--- a/Dockerfile.ci
+++ b/Dockerfile.ci
@@ -13,7 +13,7 @@ RUN dnf install -y epel-release && \
     dnf clean all
 
 # install rust
-RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain 1.67 -y
+RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain 1.70 -y
 ENV PATH="/kafka/bin:/root/.cargo/bin:${PATH}"
 
 RUN cargo install sccache
-- 
GitLab