From 7221bb074b131e0aa8975c605b80112e70910b9d Mon Sep 17 00:00:00 2001
From: Remi  PLANEL <rplanel@pasteur.fr>
Date: Thu, 10 Apr 2025 11:50:31 +0200
Subject: [PATCH] add gitlab-ci

---
 .gitlab-ci.yml | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)
 create mode 100644 .gitlab-ci.yml

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..cdc00d1
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,32 @@
+stages:
+  - build
+
+build:
+  stage: build
+  image: harbor.pasteur.fr/kube-system/helm-kubectl:3.12.0
+  script:
+    - echo "Building helm chart"
+    - CHART_VERSION=$(helm show chart . | grep version | cut -d' ' -f2)
+    - CHART_NAME=$(helm show chart . | grep name | cut -d' ' -f2)
+    - echo $CHART_NAME
+    - echo $CHART_VERSION
+    - |
+      if [ "main" == "${CI_COMMIT_REF_SLUG}" ]; then
+        export CHANNEL="stable"
+      else
+        export CHANNEL="${CI_COMMIT_REF_SLUG}"
+      fi
+      echo $CHANNEL
+    - export CHART_RELEASE_NAME="${CHART_NAME}-${CHART_VERSION}.tgz"
+    - echo $CHART_RELEASE_NAME
+    - helm package .
+    - HTTP_CODE=$(curl -o /dev/null --silent -Iw '%{http_code}' "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/helm/${CHANNEL}/charts/${CHART_RELEASE_NAME}")
+    - |
+      if [ $HTTP_CODE == "200" ]; then
+        echo "Shouln't publish this version as version ${CHART_VERSION}:"
+        echo "It already is in the package registry, please increase its version number"
+        exit 5
+      else
+        echo "Version not already published, continuing publication process"
+      fi
+    - curl --request POST --user gitlab-ci-token:$CI_JOB_TOKEN --form "chart=@${CHART_RELEASE_NAME}" "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/helm/api/${CHANNEL}/charts"
-- 
GitLab