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