From 2f337bb9d69842c92f2af2c3525758b4c8943d88 Mon Sep 17 00:00:00 2001 From: Sebastian Mark Date: Fri, 8 Nov 2024 15:13:46 +0100 Subject: [PATCH] feat: add release management via `Task` - create `Taskfile.yml` - initial tasks - add new version tag - push to remote and run goreleaser - create snapshot via goreleaser --- Taskfile.yml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 Taskfile.yml diff --git a/Taskfile.yml b/Taskfile.yml new file mode 100644 index 0000000..77dfff5 --- /dev/null +++ b/Taskfile.yml @@ -0,0 +1,32 @@ +# github.com/go-task/task/v3/cmd/task@latest +# Requirements: +# github.com/caarlos0/svu@latest +# github.com/goreleaser/goreleaser/v2@latest + +version: '3' + +tasks: + + release: + desc: Create and publish an new release + vars: + RELEASE: + sh: svu next + BRANCH: + sh: git branch --show-current + COMMIT: + sh: git rev-parse --short --verify {{.BRANCH}} + preconditions: + - sh: test "{{.BRANCH}}" == "main" + msg: "You must be on the main branch to release" + prompt: Create new release {{.RELEASE}} from {{.COMMIT}}@{{.BRANCH}}? + cmds: + - git tag {{.RELEASE}} + - git push + - git push origin tag {{.RELEASE}} + - goreleaser release --clean + + snapshot: + desc: Create a local snapshot release + cmds: + - goreleaser release --clean --snapshot