From cbbc2dce249b008b178abbca55d9167da1aae55d Mon Sep 17 00:00:00 2001 From: boolafish Date: Tue, 18 Aug 2020 23:22:07 +0900 Subject: [PATCH] feat: auto trigger chart version bump (#1695) * feat: add increase chart version script and job * feat: filter release tag on CI config * fix: make increase chart script work * test: docker image * feat: add watcher&watcher-info on increase version * chore: remove commented configs and back to non-playground * fix: extra space --- .circleci/ci_increase_chart_version.sh | 29 ++++++++++++++++ .circleci/config.yml | 46 ++++++++++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 .circleci/ci_increase_chart_version.sh diff --git a/.circleci/ci_increase_chart_version.sh b/.circleci/ci_increase_chart_version.sh new file mode 100644 index 0000000000..d80c68f8c9 --- /dev/null +++ b/.circleci/ci_increase_chart_version.sh @@ -0,0 +1,29 @@ +#!/bin/sh + +""" +This is the script that would send a dispatch event to the helm chart repo to +auto increase chart version. + +Required env vars: +- CIRCLE_TAG +- CHART_NAME +- HELM_CHART_REPO +- GITHUB_API_TOKEN +""" + +set -e +set -x + +increase_chart_version() { + APP_VERSION="${CIRCLE_TAG#*v}" + + echo "increase chart version for chart: ${CHART_NAME} with APP_VERSION: ${APP_VERSION}" + + curl --location --request POST 'https://api.github.com/repos/omgnetwork/'${HELM_CHART_REPO}'/dispatches' \ + --header 'Accept: application/vnd.github.v3+json' \ + --header 'authorization: token '${GITHUB_API_TOKEN}'' \ + --header 'Content-Type: application/json' \ + --data-raw '{"event_type": "increase-chart-version", "client_payload": { "chart_name": "'${CHART_NAME}'", "app_version": "'${APP_VERSION}'" }}' +} + +increase_chart_version diff --git a/.circleci/config.yml b/.circleci/config.yml index 471eb3be64..1e36b810dc 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -767,6 +767,36 @@ jobs: path: current_release/ - run: IMAGE_NAME=$WATCHER_INFO_IMAGE_NAME sh .circleci/ci_publish.sh + increase_chart_version_childchain: + docker: + - image: cimg/base:2020.01 + environment: + CHART_NAME: childchain + HELM_CHART_REPO: helm-development + steps: + - checkout + - run: sh .circleci/ci_increase_chart_version.sh + + increase_chart_version_watcher: + docker: + - image: cimg/base:2020.01 + environment: + CHART_NAME: watcher + HELM_CHART_REPO: helm-development + steps: + - checkout + - run: sh .circleci/ci_increase_chart_version.sh + + increase_chart_version_watcher_info: + docker: + - image: cimg/base:2020.01 + environment: + CHART_NAME: watcher-info + HELM_CHART_REPO: helm-development + steps: + - checkout + - run: sh .circleci/ci_increase_chart_version.sh + deploy_child_chain: executor: deployer steps: @@ -987,3 +1017,19 @@ workflows: branches: only: - master + # Increase chart version for new release + - increase_chart_version_childchain: + requires: [publish_child_chain, publish_watcher, publish_watcher_info] + filters: &only_release_tag + branches: + ignore: /.*/ + tags: + only: + # eg. v1.0.3-pre.0, v1.0.3, ... + - /^v[0-9]+\.[0-9]+\.[0-9]+.*/ + - increase_chart_version_watcher: + requires: [publish_child_chain, publish_watcher, publish_watcher_info] + filters: *only_release_tag + - increase_chart_version_watcher_info: + requires: [publish_child_chain, publish_watcher, publish_watcher_info] + filters: *only_release_tag