@@ -88,7 +88,6 @@ GO_LDFLAGS += -X "github.com/mattermost/${APP_NAME}/internal/v
88
88
GO_LDFLAGS += -X "github.com/mattermost/${APP_NAME}/internal/version.gitTreeState=$(GIT_TREESTATE ) "
89
89
GO_LDFLAGS += -X "github.com/mattermost/${APP_NAME}/internal/version.buildDate=$(BUILD_DATE ) "
90
90
91
-
92
91
# Architectures to build for
93
92
GO_BUILD_PLATFORMS ?= linux-amd64 linux-arm64 freebsd-amd64
94
93
GO_BUILD_PLATFORMS_ARTIFACTS = $(foreach cmd,$(addprefix go-build/,${APP_NAME}) ,$(addprefix $(cmd ) -,$(GO_BUILD_PLATFORMS ) ) )
@@ -138,6 +137,14 @@ AT_0 := @
138
137
AT_1 :=
139
138
AT = $(AT_$(VERBOSE ) )
140
139
140
+ # ====================================================================================
141
+ # Used for semver bumping
142
+ CURRENT_VERSION := $(shell git describe --abbrev=0 --tags)
143
+ VERSION_PARTS := $(subst ., ,$(subst v,,$(CURRENT_VERSION ) ) )
144
+ MAJOR := $(word 1,$(VERSION_PARTS ) )
145
+ MINOR := $(word 2,$(VERSION_PARTS ) )
146
+ PATCH := $(word 3,$(VERSION_PARTS ) )
147
+
141
148
# ====================================================================================
142
149
# Targets
143
150
@@ -164,6 +171,32 @@ lint: go-lint docker-lint ## to lint
164
171
.PHONY : test
165
172
test : go-test # # to test
166
173
174
+
175
+ .PHONY : patch minor major
176
+
177
+ patch : # # to bump patch version (semver)
178
+ @$(eval PATCH := $(shell echo $$(($(PATCH ) +1 ) ) ) )
179
+ @$(INFO ) Bumping $(APP_NAME ) to Patch version $(MAJOR ) .$(MINOR ) .$(PATCH )
180
+ git tag -s -a $(MAJOR ) .$(MINOR ) .$(PATCH ) -m " Bumping $( APP_NAME) to Patch version $( MAJOR) .$( MINOR) .$( PATCH) "
181
+ git push --tags
182
+ @$(OK ) Bumping $(APP_NAME ) to Patch version $(MAJOR ) .$(MINOR ) .$(PATCH )
183
+
184
+ minor : # # to bump minor version (semver)
185
+ @$(eval MINOR := $(shell echo $$(($(MINOR ) +1 ) ) ) )
186
+ @$(INFO ) Bumping $(APP_NAME ) to Minor version $(MAJOR ) .$(MINOR ) .0
187
+ git tag -s -a $(MAJOR ) .$(MINOR ) .0 -m " Bumping $( APP_NAME) to Minor version $( MAJOR) .$( MINOR) .0"
188
+ git push --tags
189
+ @$(OK ) Bumping $(APP_NAME ) to Minor version $(MAJOR ) .$(MINOR ) .0
190
+
191
+ major : # # to bump major version (semver)
192
+ $(eval MAJOR := $(shell echo $$(($(MAJOR ) +1 ) ) ) )
193
+ $(eval MINOR := 0)
194
+ $(eval PATCH := 0)
195
+ @$(INFO ) Bumping $(APP_NAME ) to Major version $(MAJOR ) .$(MINOR ) .$(PATCH )
196
+ git tag -s -a $(MAJOR ) .$(MINOR ) .$(PATCH ) -m " Bumping $( APP_NAME) to Major version $( MAJOR) .$( MINOR) .$( PATCH) "
197
+ git push --tags
198
+ @$(OK ) Bumping $(APP_NAME ) to Major version $(MAJOR ) .$(MINOR ) .$(PATCH )
199
+
167
200
package-software : # # to package the binary
168
201
@$(INFO ) Packaging
169
202
$(AT ) for file in $( GO_OUT_BIN_DIR) /mattermost-push-proxy-* ; do \
0 commit comments