Skip to content

Commit 7d13af4

Browse files
zimegmwbrooks
andauthored
build: make releases with a "make tag" build command (#228)
Co-authored-by: Michael Brooks <mbrooks@slack-corp.com>
1 parent 8de7f0a commit 7d13af4

1 file changed

Lines changed: 31 additions & 0 deletions

File tree

Makefile

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ RELEASE_VERSION := $(shell git describe --tags --match 'v*.*.*')
1919
testdir ?= ...
2020
testname ?= ./...
2121

22+
FONT_BOLD := $(shell tput bold)
23+
FONT_RESET := $(shell tput sgr0)
24+
2225
# Remove files
2326
.PHONY: clean
2427
clean:
@@ -69,3 +72,31 @@ build-ci: clean
6972
.PHONY: build-snapshot
7073
build-snapshot: clean
7174
BUILD_VERSION="$(BUILD_VERSION)" LDFLAGS="$(LDFLAGS)" goreleaser --snapshot --clean --skip=publish --config .goreleaser.yml
75+
76+
# Update documentation in a commit tagged as the release
77+
# Usage: `make tag RELEASE_VERSION=3.7.0-example`
78+
.PHONY: tag
79+
tag:
80+
git diff --quiet --cached
81+
git diff --quiet docs/guides/installing-the-slack-cli-*.md
82+
@if echo "$(RELEASE_VERSION)" | grep -q '^v'; then \
83+
echo "Error: Release version should not begin with a version prefix."; \
84+
exit 1; \
85+
fi
86+
@printf "$(FONT_BOLD)Updating Docs$(FONT_RESET)\n"
87+
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
88+
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
89+
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
90+
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
91+
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
92+
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
93+
@printf "$(FONT_BOLD)Removing Backups$(FONT_RESET)\n"
94+
rm docs/guides/installing-the-slack-cli-for-mac-and-linux.md.bak
95+
rm docs/guides/installing-the-slack-cli-for-windows.md.bak
96+
@printf "$(FONT_BOLD)Git Add$(FONT_RESET)\n"
97+
git add docs/guides/installing-the-slack-cli-for-mac-and-linux.md
98+
git add docs/guides/installing-the-slack-cli-for-windows.md
99+
@printf "$(FONT_BOLD)Git Commit$(FONT_RESET)\n"
100+
git commit -m "chore: release slack-cli v$(RELEASE_VERSION)"
101+
@printf "$(FONT_BOLD)Git Tag$(FONT_RESET)\n"
102+
git tag v$(RELEASE_VERSION)

0 commit comments

Comments
 (0)