From 4532996706f8907875357089cb9e2d4402e86fd7 Mon Sep 17 00:00:00 2001 From: Pierre Smeyers <pierre.smeyers@gmail.com> Date: Sun, 1 May 2022 13:29:10 +0200 Subject: [PATCH] chore(sem-rel): major and minor version aliases --- .releaserc.yml | 3 ++- post-release.sh | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100755 post-release.sh diff --git a/.releaserc.yml b/.releaserc.yml index ef6b131..6644574 100644 --- a/.releaserc.yml +++ b/.releaserc.yml @@ -6,7 +6,8 @@ plugins: [ [ "@semantic-release/exec", { - "prepareCmd": "./bumpversion.sh \"${lastRelease.version}\" \"${nextRelease.version}\" \"${nextRelease.type}\"" + "prepareCmd": "./bumpversion.sh \"${lastRelease.version}\" \"${nextRelease.version}\" \"${nextRelease.type}\"", + "successCmd": "./post-release.sh \"${nextRelease.version}\"" } ], [ diff --git a/post-release.sh b/post-release.sh new file mode 100755 index 0000000..6d19786 --- /dev/null +++ b/post-release.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash + +function log_info() { + >&2 echo -e "[\\e[1;94mINFO\\e[0m] $*" +} + +function log_warn() { + >&2 echo -e "[\\e[1;93mWARN\\e[0m] $*" +} + +function log_error() { + >&2 echo -e "[\\e[1;91mERROR\\e[0m] $*" +} + +# check number of arguments +if [[ "$#" -lt 1 ]]; then + log_error "Missing arguments" + log_error "Usage: $0 <next version>" + exit 1 +fi + +nextVer=$1 +minorVer=${nextVer%\.[0-9]*} +majorVer=${nextVer%\.[0-9]*\.[0-9]*} + +log_info "Creating minor version tag alias \\e[33;1m${minorVer}\\e[0m from $nextVer..." +git tag --force -a "$minorVer" "$nextVer" -m "Minor version alias (targets $nextVer)" + +log_info "Creating major version tag alias \\e[33;1m${majorVer}\\e[0m from $nextVer..." +git tag --force -a "$majorVer" "$nextVer" -m "Major version alias (targets $nextVer)" + +log_info "Pushing tags..." +git_base_url=$(echo "$CI_REPOSITORY_URL" | cut -d\@ -f2) +git_auth_url="https://token:${GITLAB_TOKEN}@${git_base_url}" +git push --tags --force "$git_auth_url" -- GitLab