From 143e47dbef33f8309f15caaf9da80d975463d161 Mon Sep 17 00:00:00 2001 From: Khosrow Moossavi Date: Mon, 20 Jan 2020 17:20:36 -0500 Subject: [PATCH] Fix release scripts (#175) --- .github/workflows/release.yaml | 2 +- Makefile | 3 +++ README.md | 2 +- scripts/release/release.sh | 16 ++++++++++++++-- 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 5048dd9..536fe0a 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -51,4 +51,4 @@ jobs: with: formula-name: terraform-docs env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + COMMITTER_TOKEN: ${{ secrets.COMMITTER_TOKEN }} diff --git a/Makefile b/Makefile index 6d66670..c7205f4 100644 --- a/Makefile +++ b/Makefile @@ -103,6 +103,9 @@ build-all: clean ## Build binary for all OS/ARCH ##################### PATTERN = +# if the last relase was alpha, beta or rc, 'release' target has to used with current +# cycle release. For example if latest tag is v0.8.0-rc.2 and v0.8.0 GA needs to get +# released the following should be executed: "make release version=0.8.0" .PHONY: release release: version ?= $(shell echo $(VERSION) | sed 's/^v//' | awk -F'[ .]' '{print $(PATTERN)}') release: ## Prepare release diff --git a/README.md b/README.md index be6dc56..b338292 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ $(go env GOPATH)/src/github.com/segmentio/terraform-docs/bin/$(uname | tr '[:upp Stable binaries are also available on the [releases](https://github.com/segmentio/terraform-docs/releases) page. To install, download the binary for your platform from "Assets" and place this into your `$PATH`: ```bash -curl -Lo ./terraform-docs https://github.com/segmentio/terraform-docs/releases/download/v0.8.0/terraform-docs-$(uname)-amd64 +curl -Lo ./terraform-docs https://github.com/segmentio/terraform-docs/releases/download/v0.8.0/terraform-docs-v0.8.0-$(uname | tr '[:upper:]' '[:lower:]')-amd64 chmod +x ./terraform-docs mv ./terraform-docs /some-dir-in-your-PATH/terraform-docs ``` diff --git a/scripts/release/release.sh b/scripts/release/release.sh index 60aa3fc..116aacd 100755 --- a/scripts/release/release.sh +++ b/scripts/release/release.sh @@ -42,7 +42,19 @@ if [ $(git describe --tags "v${RELEASE_VERSION}" 2>/dev/null) ]; then fi PWD=$(cd $(dirname "$0") && pwd -P) -CLOSEST_VERSION=$(git describe --tags --abbrev=0) + +# get closest GA tag, ignore alpha, beta and rc tags +function getClosestVersion() { + for t in $(git tag --sort=-creatordate); do + tag="$t" + if [[ $tag == *"-alpha"* || $tag == *"-beta"* || $tag == *"-rc"* ]]; then + continue + fi + break + done + echo "$tag" +} +CLOSEST_VERSION=$(getClosestVersion) # Bump the released version in README and version.go sed -i -E 's|'${CLOSEST_VERSION}'|v'${RELEASE_VERSION}'|g' README.md @@ -57,7 +69,7 @@ printf "\033[36m==> %s\033[0m\n" "Push commits for v${RELEASE_VERSION}" git push origin master # Generate Changelog -make --no-print-directory -f ${PWD}/../../Makefile changelog next="--next-tag v${RELEASE_VERSION}" +make --no-print-directory -f ${PWD}/../../Makefile changelog NEXT="--next-tag v${RELEASE_VERSION}" # Tag the release printf "\033[36m==> %s\033[0m\n" "Tag release v${RELEASE_VERSION}"