UNCLASSIFIED - NO CUI

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

chore: merge branch 'master' into commitlint-ci

parents 9aff3b19 c846a103
No related branches found
No related tags found
1 merge request!141Add commitlint job
Pipeline #129330 passed with warnings
# Define global rules for when pipelines run # global rules for when pipelines run
workflow: workflow:
rules: rules:
# Skip pipeline when commit message starts with "wip" # run pipeline for manual tag events
- if: '$CI_COMMIT_MESSAGE =~ /^wip/' - if: $CI_COMMIT_TAG
when: never # run pipeline on merge request events
# Skip pipeline for branches that start with "docs" - if: $CI_PIPELINE_SOURCE == "merge_request_event"
# run pipeline on commits to default branch
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
# skip pipeline for branches that start with "docs"
- if: '$CI_COMMIT_REF_NAME =~ /^docs/' - if: '$CI_COMMIT_REF_NAME =~ /^docs/'
when: never when: never
- when: always
# include templates # include templates
include: include:
...@@ -92,11 +94,6 @@ clean install: ...@@ -92,11 +94,6 @@ clean install:
stage: smoke tests stage: smoke tests
extends: extends:
- .k3d - .k3d
rules:
# Skip on merge requests (it is ran as part of the non MR pipeline)
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
when: never
- when: always
variables: variables:
CLUSTER_NAME: "clean-${CI_COMMIT_SHORT_SHA}" CLUSTER_NAME: "clean-${CI_COMMIT_SHORT_SHA}"
script: script:
...@@ -115,7 +112,11 @@ upgrade: ...@@ -115,7 +112,11 @@ upgrade:
extends: extends:
- .k3d - .k3d
rules: rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TITLE !~ /^Breaking Change/' # skip job when MR title starts with 'Breaking Change'
- if: '$CI_MERGE_REQUEST_TITLE =~ /^Breaking Change/'
when: never
# run pipeline on merge request events
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
variables: variables:
CLUSTER_NAME: "clean-${CI_COMMIT_SHORT_SHA}" CLUSTER_NAME: "clean-${CI_COMMIT_SHORT_SHA}"
script: script:
...@@ -130,60 +131,6 @@ upgrade: ...@@ -130,60 +131,6 @@ upgrade:
- *deploy_bigbang - *deploy_bigbang
- *test_bigbang - *test_bigbang
package:
stage: package
image: registry.dsop.io/platform-one/big-bang/umbrella/synker:0.0.1
rules:
- if: '$CI_COMMIT_TAG'
- when: never
dependencies:
- clean install
before_script:
# Set up auth
- mkdir -p /root/.docker
- echo $DOCKER_AUTH_CONFIG > /root/.docker/config.json
script:
- cp ./scripts/package/synker.yaml ./synker.yaml
# Populate images list in synker config
# NOTE: This is stupid and hacky, use yq or something better to do this
- cat images.txt | sed -e 's/^/ - /' >> synker.yaml
- synker pull -b=1
# Tar up synker as well?
- cp /usr/local/bin/synker synker.yaml /var/lib/registry/
- tar -C /var/lib/registry -czvf $IMAGE_PKG .
- tar -czvf $IMAGE_PKG /var/lib/registry
# Package dependent repos
- ./scripts/package/gits.sh
- tar -czf $REPOS_PKG repos/
# Prep release
- mkdir -p release
- mv $IMAGE_LIST $IMAGE_PKG $REPOS_PKG release/
# Publish packages to s3 release
- aws s3 sync --quiet release/ s3://umbrella-bigbang-releases/umbrella/${CI_COMMIT_TAG}
after_script: []
release:
stage: release
image: registry.gitlab.com/gitlab-org/release-cli:latest
rules:
- if: '$CI_COMMIT_TAG'
- when: never
variables:
RELEASE_ENDPOINT: https://${RELEASE_BUCKET}.s3-${AWS_DEFAULT_REGION}.amazonaws.com/umbrella/${CI_COMMIT_TAG}
script:
- |
release-cli create --name "Big Bang v${CI_COMMIT_TAG}" --tag-name ${CI_COMMIT_TAG} \
--description "Automated release notes are a WIP." \
--assets-link "{\"name\":\"${IMAGE_LIST}\",\"url\":\"${RELEASE_ENDPOINT}/${IMAGE_LIST}\"}" \
--assets-link "{\"name\":\"${IMAGE_PKG}\",\"url\":\"${RELEASE_ENDPOINT}/${IMAGE_PKG}\"}" \
--assets-link "{\"name\":\"${REPOS_PKG}\",\"url\":\"${RELEASE_ENDPOINT}/${REPOS_PKG}\"}"
#----------------------------------------------------------------------------------------------------------------------- #-----------------------------------------------------------------------------------------------------------------------
#----------------------------------------------------------------------------------------------------------------------- #-----------------------------------------------------------------------------------------------------------------------
...@@ -194,33 +141,34 @@ release: ...@@ -194,33 +141,34 @@ release:
.infra fork: .infra fork:
stage: network up stage: network up
rules: rules:
# Skip when branch name starts with "hotfix" or "patch" # skip job when branch name starts with "hotfix" or "patch"
- if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /^(hotfix|patch)/' - if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /^(hotfix|patch)/'
when: never when: never
# Only run on merge requests when manually activated # run job on merge requests when manually activated
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
when: manual
allow_failure: false allow_failure: false
when: manual
# Abstract for jobs responsible for creating infrastructure # Abstract for jobs responsible for creating infrastructure
.infra create: .infra create:
rules: rules:
# Skip when branch name starts with "hotfix" or "patch" # skip job when branch name starts with "hotfix" or "patch"
- if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /^(hotfix|patch)/' - if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /^(hotfix|patch)/'
when: never when: never
# Only run on merge requests # run pipeline on commits to default branch
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
# Abstract for jobs responsible for cleaning up infrastructure # Abstract for jobs responsible for cleaning up infrastructure
.infra cleanup: .infra cleanup:
rules: rules:
# Skip when branch name starts with "hotfix" or "patch" # skip job when branch name starts with "hotfix" or "patch"
- if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /^(hotfix|patch)/' - if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /^(hotfix|patch)/'
when: never when: never
# Always run on merge requests # run job on merge requests regardless of failure
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
allow_failure: true allow_failure: true
when: always when: always
#----------------------------------------------------------------------------------------------------------------------- #-----------------------------------------------------------------------------------------------------------------------
#----------------------------------------------------------------------------------------------------------------------- #-----------------------------------------------------------------------------------------------------------------------
...@@ -243,6 +191,7 @@ aws/network down: ...@@ -243,6 +191,7 @@ aws/network down:
environment: environment:
name: review/aws-${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHORT_SHA} name: review/aws-${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHORT_SHA}
action: stop action: stop
#----------------------------------------------------------------------------------------------------------------------- #-----------------------------------------------------------------------------------------------------------------------
#----------------------------------------------------------------------------------------------------------------------- #-----------------------------------------------------------------------------------------------------------------------
...@@ -257,6 +206,8 @@ aws/rke2/cluster up: ...@@ -257,6 +206,8 @@ aws/rke2/cluster up:
- .rke2 up - .rke2 up
needs: needs:
- job: aws/network up - job: aws/network up
environment:
name: review/aws-${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHORT_SHA}
# Install BigBang on RKE2 cluster on AWS # Install BigBang on RKE2 cluster on AWS
aws/rke2/bigbang up: aws/rke2/bigbang up:
...@@ -274,6 +225,8 @@ aws/rke2/bigbang up: ...@@ -274,6 +225,8 @@ aws/rke2/bigbang up:
- kubectl apply -f ${CI_PROJECT_DIR}/.gitlab-ci/jobs/rke2/dependencies/k8s-resources/aws/default-ebs-sc.yaml - kubectl apply -f ${CI_PROJECT_DIR}/.gitlab-ci/jobs/rke2/dependencies/k8s-resources/aws/default-ebs-sc.yaml
script: script:
- *deploy_bigbang - *deploy_bigbang
environment:
name: review/aws-${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHORT_SHA}
# Run tests on BigBang on RKE2 cluster on AWS # Run tests on BigBang on RKE2 cluster on AWS
aws/rke2/bigbang test: aws/rke2/bigbang test:
...@@ -294,6 +247,8 @@ aws/rke2/bigbang test: ...@@ -294,6 +247,8 @@ aws/rke2/bigbang test:
- yum install bind-utils -y - yum install bind-utils -y
- ./scripts/hosts.sh - ./scripts/hosts.sh
- *test_bigbang - *test_bigbang
environment:
name: review/aws-${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHORT_SHA}
# Uninstall BigBang on RKE2 cluster on AWS # Uninstall BigBang on RKE2 cluster on AWS
aws/rke2/bigbang down: aws/rke2/bigbang down:
...@@ -312,6 +267,8 @@ aws/rke2/bigbang down: ...@@ -312,6 +267,8 @@ aws/rke2/bigbang down:
- helm un -n bigbang bigbang - helm un -n bigbang bigbang
# TODO: Smarter wait # TODO: Smarter wait
- sleep 180 - sleep 180
environment:
name: review/aws-${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHORT_SHA}
# Destroy RKE2 cluster on AWS # Destroy RKE2 cluster on AWS
aws/rke2/cluster down: aws/rke2/cluster down:
...@@ -321,4 +278,65 @@ aws/rke2/cluster down: ...@@ -321,4 +278,65 @@ aws/rke2/cluster down:
- .rke2 down - .rke2 down
needs: needs:
- job: aws/rke2/bigbang down - job: aws/rke2/bigbang down
environment:
name: review/aws-${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHORT_SHA}
#-----------------------------------------------------------------------------------------------------------------------
#-----------------------------------------------------------------------------------------------------------------------
# Release Jobs
#
package:
stage: package
image: registry.dsop.io/platform-one/big-bang/umbrella/synker:0.0.1
rules:
# run job for manual tag events
- if: $CI_COMMIT_TAG
# when: never
# # run job on commits to default branch
# - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
before_script:
# Set up auth
- mkdir -p /root/.docker
- echo $DOCKER_AUTH_CONFIG > /root/.docker/config.json
script:
- cp ./scripts/package/synker.yaml ./synker.yaml
# Populate images list in synker config
# NOTE: This is stupid and hacky, use yq or something better to do this
- cat images.txt | sed -e 's/^/ - /' >> synker.yaml
- synker pull -b=1
# Tar up synker as well?
- cp /usr/local/bin/synker synker.yaml /var/lib/registry/
- tar -C /var/lib/registry -czvf $IMAGE_PKG .
- tar -czvf $IMAGE_PKG /var/lib/registry
# Package dependent repos
- ./scripts/package/gits.sh
- tar -czf $REPOS_PKG repos/
# Prep release
- mkdir -p release
- mv $IMAGE_LIST $IMAGE_PKG $REPOS_PKG release/
# Publish packages to s3 release
- aws s3 sync --quiet release/ s3://umbrella-bigbang-releases/umbrella/${CI_COMMIT_TAG}
after_script: []
release:
stage: release
image: registry.gitlab.com/gitlab-org/release-cli:latest
rules:
# run job for manual tag events
- if: $CI_COMMIT_TAG
# when: never
# # run job on commits to default branch
# - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
variables:
RELEASE_ENDPOINT: https://${RELEASE_BUCKET}.s3-${AWS_DEFAULT_REGION}.amazonaws.com/umbrella/${CI_COMMIT_TAG}
script:
- |
release-cli create --name "Big Bang v${CI_COMMIT_TAG}" --tag-name ${CI_COMMIT_TAG} \
--description "Automated release notes are a WIP." \
--assets-link "{\"name\":\"${IMAGE_LIST}\",\"url\":\"${RELEASE_ENDPOINT}/${IMAGE_LIST}\"}" \
--assets-link "{\"name\":\"${IMAGE_PKG}\",\"url\":\"${RELEASE_ENDPOINT}/${IMAGE_PKG}\"}" \
--assets-link "{\"name\":\"${REPOS_PKG}\",\"url\":\"${RELEASE_ENDPOINT}/${REPOS_PKG}\"}"
#----------------------------------------------------------------------------------------------------------------------- #-----------------------------------------------------------------------------------------------------------------------
\ 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