From 93bcbd7d512da2ddaddfaebc130c09384f176b7e Mon Sep 17 00:00:00 2001 From: Blair Vanderlugt Date: Fri, 29 Oct 2021 23:33:46 +0000 Subject: [PATCH] feat: (automation) add semver --- .gitlab-ci.yml | 44 ++++++++++++++++++++++++++++++++++++++++---- .semverbot.toml | 16 ++++++++++++++++ README.md | 1 + scripts/build.sh | 5 ++++- 4 files changed, 61 insertions(+), 5 deletions(-) create mode 100644 .semverbot.toml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 67ccdc9..f01a4f5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -10,6 +10,7 @@ include: #- local: 'apps/data-seeding/.gitlab-ci.yml' stages: + - version - build - test - deploy @@ -20,9 +21,39 @@ variables: DOCKER_BUILDKIT: "1" COMPOSE_DOCKER_CLI_BUILD: "1" CI_DEBUG_TRACE: "true" + SEMVERBOT_VERSION: "0.2.0" -before_script: - - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY + #before_script: + # - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY + +version: + #image: python:3.7-stretch + image: registry.gitlab.com/grassrootseconomics/cic-base-images/ci-version:b01318ae + stage: version + script: + - mkdir -p ~/.ssh && chmod 700 ~/.ssh + - ssh-keyscan gitlab.com >> ~/.ssh/known_hosts && chmod 644 ~/.ssh/known_hosts + - eval $(ssh-agent -s) + - ssh-add <(echo "$SSH_PRIVATE_KEY") + - git remote set-url origin git@gitlab.com:grassrootseconomics/cic-internal-integration.git + - export TAG=$(sbot predict version -m auto) + - | + if [[ -z $TAG ]] + then + echo "tag could not be set $@" + exit 1 + fi + - echo $TAG > version + - git tag -a v$TAG -m "ci tagged" + - git push origin v$TAG + artifacts: + paths: + - version + rules: + - if: $CI_COMMIT_REF_PROTECTED == "true" + when: always + - if: $CI_COMMIT_REF_NAME == "master" + when: always # runs on protected branches and pushes to repo build-push: @@ -30,12 +61,17 @@ build-push: tags: - integration #script: - # - TAG=$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA sh ./scripts/build-push.sh + # - TAG=$CI_Cbefore_script: + before_script: + - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY script: - - TAG=latest sh ./scripts/build-push.sh + - TAG=latest ./scripts/build-push.sh + - TAG=$(cat ./version) ./scripts/build-push.sh rules: - if: $CI_COMMIT_REF_PROTECTED == "true" when: always + - if: $CI_COMMIT_REF_NAME == "master" + when: always deploy-dev: stage: deploy diff --git a/.semverbot.toml b/.semverbot.toml new file mode 100644 index 0000000..f24eb80 --- /dev/null +++ b/.semverbot.toml @@ -0,0 +1,16 @@ +[git] + +[git.config] +email = "semverbot@grassroots.org" +name = "semvervot" + +[git.tags] +prefix = "v" + +[semver] +mode = "git-commit" + +[semver.detection] +patch = ["fix", "[fix]", "patch", "[patch]"] +minor = ["minor", "[minor]", "feat", "[feat]", "release", "[release]", "bump", "[bump]"] +major = ["BREAKING CHANGE"] diff --git a/README.md b/README.md index 9e0d62d..a7966dc 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ This repo uses docker-compose and docker buildkit. Set the following environment variables to get started: + ``` export COMPOSE_DOCKER_CLI_BUILD=1 export DOCKER_BUILDKIT=1 diff --git a/scripts/build.sh b/scripts/build.sh index b3da3a6..744e0eb 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -6,4 +6,7 @@ set -e TAG=${TAG?Variable not set} \ docker-compose \ -f docker-compose.yml \ -build +build \ +--no-cache \ +--parallel \ +--progress plain