Feature 11033: Publication of OSM helm chart externally in Gitlab 24/14424/4
authorvegall <lvega@whitestack.com>
Thu, 13 Jun 2024 15:59:43 +0000 (15:59 +0000)
committergarciadeblas <gerardo.garciadeblas@telefonica.com>
Thu, 4 Jul 2024 15:12:58 +0000 (17:12 +0200)
Change-Id: Ic201e8ffcb217e470277c0150a847750ba594e12
Signed-off-by: vegall <lvega@whitestack.com>
.gitlab-ci.yml [new file with mode: 0644]
tools/change-chart-version.sh [new file with mode: 0755]

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644 (file)
index 0000000..49d91cd
--- /dev/null
@@ -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 (executable)
index 0000000..07637cc
--- /dev/null
@@ -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 <NEW_VERSION> <USER>"
+  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