diff --git a/Makefile b/Makefile index 43d56709..f2f6b74d 100644 --- a/Makefile +++ b/Makefile @@ -19,6 +19,9 @@ RELEASE_VERSION := $(shell git describe --tags --match 'v*.*.*') testdir ?= ... testname ?= ./... +FONT_BOLD := $(shell tput bold) +FONT_RESET := $(shell tput sgr0) + # Remove files .PHONY: clean clean: @@ -69,3 +72,31 @@ build-ci: clean .PHONY: build-snapshot build-snapshot: clean BUILD_VERSION="$(BUILD_VERSION)" LDFLAGS="$(LDFLAGS)" goreleaser --snapshot --clean --skip=publish --config .goreleaser.yml + +# Update documentation in a commit tagged as the release +# Usage: `make tag RELEASE_VERSION=3.7.0-example` +.PHONY: tag +tag: + git diff --quiet --cached + git diff --quiet docs/guides/installing-the-slack-cli-*.md + @if echo "$(RELEASE_VERSION)" | grep -q '^v'; then \ + echo "Error: Release version should not begin with a version prefix."; \ + exit 1; \ + fi + @printf "$(FONT_BOLD)Updating Docs$(FONT_RESET)\n" + sed -i.bak -E "s#slack_cli_[0-9]+\.[0-9]+\.[0-9]+_macOS_arm64\.tar\.gz#slack_cli_$(RELEASE_VERSION)_macOS_arm64.tar.gz#" docs/guides/installing-the-slack-cli-for-mac-and-linux.md + sed -i.bak -E "s#slack_cli_[0-9]+\.[0-9]+\.[0-9]+_macOS_amd64\.tar\.gz#slack_cli_$(RELEASE_VERSION)_macOS_amd64.tar.gz#" docs/guides/installing-the-slack-cli-for-mac-and-linux.md + sed -i.bak -E "s#slack_cli_[0-9]+\.[0-9]+\.[0-9]+_linux_64-bit\.tar\.gz#slack_cli_$(RELEASE_VERSION)_linux_64-bit.tar.gz#" docs/guides/installing-the-slack-cli-for-mac-and-linux.md + sed -i.bak -E "s#slack_cli_[0-9]+\.[0-9]+\.[0-9]+_windows_64-bit\.zip#slack_cli_$(RELEASE_VERSION)_windows_64-bit.zip#" docs/guides/installing-the-slack-cli-for-windows.md + sed -i.bak -E "s/Using slack v[0-9]+\.[0-9]+\.[0-9]+/Using slack v$(RELEASE_VERSION)/" docs/guides/installing-the-slack-cli-for-mac-and-linux.md + sed -i.bak -E "s/Using slack v[0-9]+\.[0-9]+\.[0-9]+/Using slack v$(RELEASE_VERSION)/" docs/guides/installing-the-slack-cli-for-windows.md + @printf "$(FONT_BOLD)Removing Backups$(FONT_RESET)\n" + rm docs/guides/installing-the-slack-cli-for-mac-and-linux.md.bak + rm docs/guides/installing-the-slack-cli-for-windows.md.bak + @printf "$(FONT_BOLD)Git Add$(FONT_RESET)\n" + git add docs/guides/installing-the-slack-cli-for-mac-and-linux.md + git add docs/guides/installing-the-slack-cli-for-windows.md + @printf "$(FONT_BOLD)Git Commit$(FONT_RESET)\n" + git commit -m "chore: release slack-cli v$(RELEASE_VERSION)" + @printf "$(FONT_BOLD)Git Tag$(FONT_RESET)\n" + git tag v$(RELEASE_VERSION)