diff --git a/Taskfile.yaml b/Taskfile.yaml index 8cc6b5555cdeb7c651cd39084a4cb75aca3676ef..2b0be110dabe4305aae36544c2d6704619d2a833 100644 --- a/Taskfile.yaml +++ b/Taskfile.yaml @@ -125,7 +125,13 @@ tasks: - git fetch --tags release:fork: - desc: Create and push a fork release tag + desc: Create and push a fork release tag (combined workflow) + cmds: + - task: release:fork:tag + - task: release:fork:push + + release:fork:tag: + desc: Create a fork release tag locally (without pushing) vars: UPSTREAM_VERSION: sh: git describe --tags --abbrev=0 upstream/main 2>/dev/null || echo "v0.0.0" @@ -154,6 +160,20 @@ tasks: TAG: "{{.TAG}}" - task: release:fork:confirm - git tag -a {{.TAG}} + - echo "Tagged {{.TAG}} locally. Run 'task release:fork:push' to push." + + release:fork:push: + desc: Push an existing fork release tag and notify module proxy + vars: + TAG: + sh: git describe --tags --abbrev=0 --match "*-fork.*" 2>/dev/null || echo "" + preconditions: + - sh: '[ -n "{{.TAG}}" ]' + msg: "No fork tag found. Run 'task release:fork:tag' first." + - sh: 'git tag -l "{{.TAG}}" | grep -q "{{.TAG}}"' + msg: "Tag {{.TAG}} does not exist locally" + prompt: "Push {{.TAG}} to remote and notify module proxy?" + cmds: - git push soft {{.TAG}} - echo "Released {{.TAG}}" - go list -m git.secluded.site/crush@{{.TAG}} > /dev/null @@ -162,7 +182,7 @@ tasks: release:fork:confirm: desc: Review LLM-generated commit and confirm release internal: true - prompt: "Proceed with release?" + prompt: "Proceed with tagging?" release:fork:cleanup: desc: Undo LLM commit if release aborted