SHELL := /bin/bash # execute "go mod tidy" on all folders that have go.mod file .PHONY: tidy tidy: ./.make_tidy.sh # execute "golangci-lint" to check code style # go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@latest .PHONY: lint lint: golangci-lint run -c .golangci.yml # make branch to=v2.4.0 .PHONY: branch branch: @set -e; \ newVersion=$(to); \ if [ -z "$$newVersion" ]; then \ echo "Error: 'to' variable is required. Usage: make branch to=vX.Y.Z"; \ exit 1; \ fi; \ branchName=fix/$$newVersion; \ echo "Switching to master branch..."; \ git checkout master; \ echo "Pulling latest changes from master..."; \ git pull origin master; \ echo "Creating and switching to branch $$branchName from master..."; \ git checkout -b $$branchName; \ echo "Branch $$branchName created successfully!" # make version to=v2.4.0 .PHONY: version version: @set -e; \ newVersion=$(to); \ $(MAKE) -C cmd/gf pack; \ ./.make_version.sh ./ $$newVersion; \ echo "make version to=$(to) done" # make tag to=v2.4.0 .PHONY: tag tag: @set -e; \ newVersion=$(to); \ echo "Switching to master branch..."; \ git checkout master; \ echo "Pulling latest changes from master..."; \ git pull origin master; \ echo "Creating annotated tag $$newVersion..."; \ git tag -a $$newVersion -m "Release $$newVersion"; \ echo "Pushing tag $$newVersion..."; \ git push origin $$newVersion; \ echo "Tag $$newVersion created and pushed successfully!" # manage docker services for local development # usage: make docker or make docker cmd=start svc=mysql .PHONY: docker docker: @if [ -z "$(cmd)" ]; then \ ./.github/workflows/scripts/docker-services.sh; \ else \ ./.github/workflows/scripts/docker-services.sh $(cmd) $(svc) $(extra); \ fi