From bf64e20001eb2e9e31cafe0ae09f16e6c2e9c3e5 Mon Sep 17 00:00:00 2001 From: Timo Furrer <tfurrer@gitlab.com> Date: Thu, 28 Mar 2024 13:49:22 +0100 Subject: [PATCH] Fix release make target --- .gitlab/scripts/check-semantic-version.sh | 7 +++++++ Makefile | 8 +++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/.gitlab/scripts/check-semantic-version.sh b/.gitlab/scripts/check-semantic-version.sh index 5cfd501..539dac8 100755 --- a/.gitlab/scripts/check-semantic-version.sh +++ b/.gitlab/scripts/check-semantic-version.sh @@ -4,3 +4,10 @@ SEMANTIC_VERSION_REGEX='^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$' cat - | grep -qE "$SEMANTIC_VERSION_REGEX" + +exit_code=$? +if [ $exit_code -ne 0 ]; then + echo "The given version doesn't match the semantic versioning format." +fi + +exit $exit_code diff --git a/Makefile b/Makefile index 9fa6cf4..259b129 100644 --- a/Makefile +++ b/Makefile @@ -53,10 +53,12 @@ backports: .PHONY: release release: - @echo -n $(VERSION) | ./.gitlab/scripts/check-semantic-version.sh - @[ "main" = "$(shell git rev-parse --abbrev-ref HEAD)" ] || echo "Please checkout the main branch first: git checkout main" + echo "Starting release process for $(VERSION) ..." + @echo "$(VERSION)" | ./.gitlab/scripts/check-semantic-version.sh + @[ "main" = "$(shell git rev-parse --abbrev-ref HEAD)" ] || (echo "Please checkout the main branch first: git checkout main" && false) + @[ -n "$(GITLAB_TOKEN)" ] || (echo "Please set the GITLAB_TOKEN environment variable" && false) @echo "Creating changelog ..." - @curl --method POST --header "PRIVATE-TOKEN: $GITLAB_TOKEN" 'https://gitlab.com/api/v4/projects/components%2Fopentofu/repository/changelog' --data "version=$(VERSION)&message='Add changelog for $(VERSION) [skip ci]'" + @curl --fail-with-body --request POST --header "PRIVATE-TOKEN: $(GITLAB_TOKEN)" 'https://gitlab.com/api/v4/projects/components%2Fopentofu/repository/changelog' --data "version=$(VERSION)&message='Add changelog for $(VERSION) [skip ci]'" @echo "Pulling changelog ..." @git pull @echo "Tagging $(VERSION) ..." -- GitLab