From 4e938fe2c279c7e294a05b3e0e85a671c81418be Mon Sep 17 00:00:00 2001 From: Kujtim Hoxha Date: Thu, 4 Dec 2025 16:56:46 +0100 Subject: [PATCH] chore: add release task --- Taskfile.yaml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Taskfile.yaml b/Taskfile.yaml index 250152d9bdace5d35230990e9e6616f25c6887a8..34455b902caf2d91f03c03683ed5ac8d3d1f722a 100644 --- a/Taskfile.yaml +++ b/Taskfile.yaml @@ -25,3 +25,19 @@ tasks: desc: Run tests for all packages cmds: - go test ./... -count=1 {{.CLI_ARGS}} + release: + desc: Create and push a new tag following semver + vars: + NEXT: + sh: svu next --always || go run github.com/caarlos0/svu/v3@latest next --always + prompt: "This will release {{.NEXT}}. Continue?" + preconditions: + - sh: '[ $(git symbolic-ref --short HEAD) = "main" ]' + msg: Not on main branch + - sh: "[ $(git status --porcelain=2 | wc -l) = 0 ]" + msg: "Git is dirty" + cmds: + - git commit --allow-empty -m "{{.NEXT}}" + - git tag --annotate --sign -m "{{.NEXT}}" {{.NEXT}} {{.CLI_ARGS}} + - echo "Pushing {{.NEXT}}..." + - git push origin main --follow-tags