changelog generator & diff tool stormlightlabs.github.io/git-storm/
changelog changeset markdown golang git
at main 2.3 kB view raw
1version: "3" 2 3vars: 4 BINARY_NAME: storm 5 BUILD_DIR: ./tmp 6 MAIN_PATH: ./cmd 7 VERSION: 8 sh: git describe --tags --always --dirty 2>/dev/null || echo "dev" 9 10tasks: 11 default: 12 desc: Show available tasks 13 cmds: 14 - task --list 15 16 build: 17 desc: Build the storm binary to ./tmp 18 cmds: 19 - mkdir -p {{.BUILD_DIR}} 20 - go build -o {{.BUILD_DIR}}/{{.BINARY_NAME}} {{.MAIN_PATH}} 21 sources: 22 - "**/*.go" 23 - go.mod 24 - go.sum 25 generates: 26 - "{{.BUILD_DIR}}/{{.BINARY_NAME}}" 27 28 build:release: 29 desc: Build optimized release binary 30 cmds: 31 - mkdir -p {{.BUILD_DIR}} 32 - go build -ldflags="-s -w -X main.versionString={{.VERSION}}" -o {{.BUILD_DIR}}/{{.BINARY_NAME}} {{.MAIN_PATH}} 33 34 install: 35 desc: Install storm to $GOPATH/bin 36 cmds: 37 - go install {{.MAIN_PATH}} 38 39 clean: 40 desc: Remove build artifacts 41 cmds: 42 - rm -rf {{.BUILD_DIR}} 43 - go clean 44 45 test: 46 desc: Run all tests with verbose output 47 cmds: 48 - go test -v ./... 49 50 test:quiet: 51 desc: Run all tests 52 cmds: 53 - go test ./... 54 55 test:cover: 56 desc: Run tests with coverage report 57 cmds: 58 - go test -coverprofile={{.BUILD_DIR}}/coverage.out ./... 59 - go tool cover -html={{.BUILD_DIR}}/coverage.out -o {{.BUILD_DIR}}/coverage.html 60 - 'echo "Coverage report: {{.BUILD_DIR}}/coverage.html"' 61 62 fmt: 63 desc: Format Go code 64 cmds: 65 - go fmt ./... 66 67 tidy: 68 desc: Tidy and verify dependencies 69 cmds: 70 - go mod tidy 71 - go mod verify 72 73 deps: 74 desc: Download dependencies 75 cmds: 76 - go mod download 77 78 check: 79 desc: Run all checks (fmt, test, lint) 80 cmds: 81 - task: fmt 82 - task: test 83 84 vet: 85 desc: Run go vet 86 cmds: 87 - go vet ./... 88 89 setup: 90 desc: Initial setup - install dependencies and build 91 cmds: 92 - task: deps 93 - task: tidy 94 - task: build 95 - echo "Setup complete." 96 97 gen:completions: 98 desc: Generate shell completion files 99 cmds: 100 - rm -rf completions 101 - mkdir -p completions 102 - for sh in bash zsh fish; do 103 go run ./cmd completion "$sh" > completions/storm."$sh"; 104 done 105 106 gen:manpage: 107 desc: Generate man page file 108 cmds: 109 - rm -rf manpages 110 - mkdir -p manpages 111 - go run ./cmd man > manpages/storm.1