UNCLASSIFIED - NO CUI

Skip to content
Snippets Groups Projects
Commit 2cb3c241 authored by Zachariah Dzielinski's avatar Zachariah Dzielinski
Browse files

Merge branch 'upgrade-version-check' into 'master'

Step 1 - Upgrade version checking

See merge request platform-one/big-bang/umbrella!90
parents 9d5994a1 5549b765
No related branches found
No related tags found
1 merge request!90Step 1 - Upgrade version checking
Pipeline #97128 passed
......@@ -23,9 +23,43 @@ stages:
- cluster down
- network down
#-----------------------------------------------------------------------------------------------------------------------
# Pre Stage Jobs
#
pre vars:
image: registry.dsop.io/platform-one/big-bang/pipeline-templates/pipeline-templates/pre-envs:ubi8.3
stage: .pre
artifacts:
reports:
dotenv: variables.env
script:
# obtain MR and master versions
- CHART_MR_VERSION=$(sed -n -e 's/^version. //p' chart/Chart.yaml)
- git fetch && git checkout ${CI_DEFAULT_BRANCH}
- CHART_MA_VERSION=$(sed -n -e 's/^version. //p' chart/Chart.yaml)
- git fetch && git checkout ${CI_COMMIT_REF_NAME}
- echo "CHART_MR_VERSION=$CHART_MR_VERSION" >> variables.env
- echo "CHART_MA_VERSION=$CHART_MA_VERSION" >> variables.env
# obtain semver differences (subtract master version from mr verison)
- chmod +x ./scripts/semver_diff.sh
- CHART_VERSION_DIFF=$(./scripts/semver_diff.sh $CHART_MR_VERSION $CHART_MA_VERSION)
- IFS=. DIFF_ARR=(${CHART_VERSION_DIFF##*-})
- echo "CHART_VERSION_DIFF=$CHART_VERSION_DIFF" >> variables.env
# detect breaking change (first two version sections in semver diff)
- CHART_BREAKING_CHANGE="false"
- if (( ${DIFF_ARR[0]} > 0 )); then CHART_BREAKING_CHANGE="true"; fi
- if (( ${DIFF_ARR[1]} > 0 )); then CHART_BREAKING_CHANGE="true"; fi
# store variables
- echo "CHART_BREAKING_CHANGE=$CHART_BREAKING_CHANGE" >> variables.env
- cat variables.env
#-----------------------------------------------------------------------------------------------------------------------
#-----------------------------------------------------------------------------------------------------------------------
# Smoke Tests
#
.bigbang:
image: registry.dsop.io/platform-one/big-bang/pipeline-templates/pipeline-templates/k3d-builder:0.0.1
after_script:
......@@ -55,8 +89,12 @@ clean install:
after_script:
- kubectl get all -A
- kubectl get helmrelease -A
upgrade:
stage: smoke tests
needs:
- job: pre vars
artifacts: true
extends:
- .k3d
rules:
......@@ -64,11 +102,11 @@ upgrade:
variables:
CLUSTER_NAME: "clean-${CI_COMMIT_SHORT_SHA}"
script:
- if $CHART_BREAKING_CHANGE; then echo "Breaking change detected by chart version difference, skipping job"; exit 0; fi
- echo "Install Big Bang from ${CI_DEFAULT_BRANCH}"
- git fetch && git checkout ${CI_DEFAULT_BRANCH}
- *deploy_bigbang
- *test_bigbang
- echo "Upgrade Big Bang from ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME}"
- git reset --hard && git clean -fd
- git checkout ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME}
......@@ -230,4 +268,4 @@ aws/rke2/cluster down:
- job: fetch umbrella templates
artifacts: true
- job: aws/rke2/bigbang down
#-----------------------------------------------------------------------------------------------------------------------
#-----------------------------------------------------------------------------------------------------------------------
\ No newline at end of file
#!/usr/bin/env bash
# return sem_a - sem_b
# sem_a and sem_b must be of same semver length
# Ex:
# ./hack/semver_diff.sh 1.2.3 1.1.1
# 0.1.2
sem_a=$1
sem_b=$2
IFS=. arr_a=(${sem_a##*-})
IFS=. arr_b=(${sem_b##*-})
result=()
for i in "${!arr_a[@]}"; do
result+=($((${arr_a[$i]}-${arr_b[$i]})))
done
IFS=. echo "${result[*]}"
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment