-
Zachariah Dzielinski authoredZachariah Dzielinski authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
.gitlab-ci.yml 8.42 KiB
# Define global rules for when pipelines run
workflow:
rules:
# Skip pipeline when commit message starts with "wip"
- if: '$CI_COMMIT_MESSAGE =~ /^wip/'
when: never
# Skip pipeline for branches that start with "docs"
- if: '$CI_COMMIT_REF_NAME =~ /^docs/'
when: never
- when: always
include:
- project: 'platform-one/big-bang/pipeline-templates/umbrella-templates'
file: '/global.gitlab-ci.yml'
stages:
- smoke tests
- network up
- cluster up
- bigbang up
- test
- bigbang down
- 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:
- kubectl get all -A
- kubectl get helmrelease -A
.deploy_bigbang: &deploy_bigbang
- for script in ./scripts/deploy/*.sh; do chmod +x $script && $script; done