# https://taskfile.dev version: "3" silent: true dotenv: - .env vars: NEXT_PATCH_VERSION: sh: cz bump --get-next --increment PATCH NEXT_MINOR_VERSION: sh: cz bump --get-next --increment MINOR PROJECT_VERSION: sh: cz version -p MILESTONE: sh: gh milestone list --json title,number --jq ".[]" | rg 'v{{.NEXT_MINOR_VERSION}}' | jq -r ".number" MILESTONE_TITLE: sh: gh milestone list --json title,number --jq ".[]" | rg 'v{{.NEXT_MINOR_VERSION}}' | jq -r ".title" MILESTONE_PROGRESS: sh: gh milestone list --json title,progressPercentage --jq ".[]" | rg 'v{{.NEXT_MINOR_VERSION}}' | jq -r ".progressPercentage" tasks: default: cmds: - echo "{{.VERSION}}" - echo "{{.MILESTONE}}" - echo "{{.MILESTONE_TITLE}}" - echo "{{.MILESTONE_PROGRESS}}" - echo "{{.BUMP_INCREMENT}}" silent: true bump: dotenv: - .env preconditions: - sh: goreleaser check msg: goreleaser check failed - sh: git diff --exit-code msg: git state is dirty - sh: cz bump --dry-run --increment PATCH msg: cz bump test failed vars: BUMP_INCREMENT: sh: | if [ "{{.MILESTONE_PROGRESS}}" = "100" ]; then echo "MINOR" else echo "PATCH" fi cmds: - gum format "# [1/4] Bump Version" - cz bump --yes --increment {{.BUMP_INCREMENT}} --allow-no-commit - task: publish:buf - task: publish:docker - gum format "# [4/4] Run GoReleaser" - goreleaser release --clean publish:buf: internal: true dir: proto vars: VERSION: sh: cz version -p TAG: v{{.VERSION}} cmds: - gum format "# [2/4] Publish Protobuf Schemas" - buf build - buf push --label {{.TAG}} publish:docker: internal: true vars: VERSION: sh: cz version -p cmds: - gum format "# [3/4] Publish Docker Images" - gum spin --title "Running docker build..." -- docker build . -t onsonr/snrd:latest -t onsonr/snrd:{{.VERSION}} -t ghcr.io/sonr-io/snrd:latest -t ghcr.io/sonr-io/snrd:{{.VERSION}} - docker push ghcr.io/sonr-io/snrd:latest - docker push ghcr.io/sonr-io/snrd:{{.VERSION}} - docker push onsonr/snrd:latest - docker push onsonr/snrd:{{.VERSION}}