From 427cdb2645becdb6cf05c74e1562881e869c2e34 Mon Sep 17 00:00:00 2001 From: vegall Date: Thu, 13 Jun 2024 15:59:43 +0000 Subject: [PATCH] Feature 11033: Publication of OSM helm chart externally in Gitlab Change-Id: Ic201e8ffcb217e470277c0150a847750ba594e12 Signed-off-by: vegall --- .gitlab-ci.yml | 36 ++++++++++++++++++++++++++++++ tools/change-chart-version.sh | 42 +++++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 .gitlab-ci.yml create mode 100755 tools/change-chart-version.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 00000000..49d91cd0 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,36 @@ +# Copyright 2024 ETSI +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +stages: + - build + +variables: + HELM_EXPERIMENTAL_OCI: 1 + +build-job: + stage: build + before_script: + - apt-get update && apt-get install -y curl tar gzip + - curl -LO https://get.helm.sh/helm-v3.15.1-linux-amd64.tar.gz + - tar -zxvf helm-v3.15.1-linux-amd64.tar.gz + - mv linux-amd64/helm /usr/local/bin/helm + - helm version + script: + - helm dep update installers/helm/osm/ + - helm package installers/helm/osm/ + - echo $CI_JOB_TOKEN | helm registry login $CI_REGISTRY --username gitlab-ci-token --password-stdin + - helm push osm-*.tgz oci://$CI_REGISTRY/osm/devops + only: + - tags \ No newline at end of file diff --git a/tools/change-chart-version.sh b/tools/change-chart-version.sh new file mode 100755 index 00000000..07637cc2 --- /dev/null +++ b/tools/change-chart-version.sh @@ -0,0 +1,42 @@ +#!/bin/bash +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +if [ "$#" -ne 2]; then + echo "Usage: $0 " + echo "Exapmle: $0 v16.0.0 garciadeblas" + echo "Exapmle: $0 v15.0.7 vegall" + exit 1 +fi + +NEW_VERSION="$1" +USER="$2" +REPO_URL="ssh://$USER@osm.etsi.org:29418/osm/devops" +# If the $NEW_VERSION == v15.0.1, the $BRANCH_NAME will be v15.0 +BRANCH_NAME=$(echo $NEW_VERSION | grep -oE 'v[0-9]+\.[0-9]+') + +git clone $REPO_URL +cd devops + +git checkout $BRANCH_NAME + +sed -i -E "0,/^version: .*/s//version: $NEW_VERSION/" installers/osm/Chart.yaml +sed -i -E "0,/^appVersion: .*/s//appVersion: \"$NEW_VERSION\"/" installers/helm/osm/Chart.yaml + +git add installers/helm/osm/Chart.yaml +git commit -m "Update chart version version to $NEW_VERSION" +git push origin $BRANCH_NAME + +commit=$(git show --summary | grep commit | awk '{print $2}') +echo "The commit is $commit" \ No newline at end of file -- 2.25.1