changelog generator & diff tool stormlightlabs.github.io/git-storm/
changelog changeset markdown golang git

build: add goreleaser

Changed files
+186 -1
cmd
+158
.goreleaser.yaml
··· 1 + version: 2 2 + 3 + before: 4 + hooks: 5 + - go mod tidy 6 + - go generate ./... 7 + - task gen:completions 8 + - task gen:manpage 9 + 10 + builds: 11 + - id: storm-linux-amd64 12 + main: ./cmd 13 + binary: storm 14 + env: 15 + - CGO_ENABLED=0 16 + goos: 17 + - linux 18 + goarch: 19 + - amd64 20 + 21 + - id: storm-linux-arm64 22 + main: ./cmd 23 + binary: storm 24 + env: 25 + - CGO_ENABLED=0 26 + goos: 27 + - linux 28 + goarch: 29 + - arm64 30 + 31 + - id: storm-linux-386 32 + main: ./cmd 33 + binary: storm 34 + env: 35 + - CGO_ENABLED=0 36 + goos: 37 + - linux 38 + goarch: 39 + - "386" 40 + 41 + - id: storm-windows-amd64 42 + main: ./cmd 43 + binary: storm.exe 44 + env: 45 + - CGO_ENABLED=0 46 + goos: 47 + - windows 48 + goarch: 49 + - amd64 50 + 51 + - id: storm-windows-arm64 52 + main: ./cmd 53 + binary: storm.exe 54 + env: 55 + - CGO_ENABLED=0 56 + goos: 57 + - windows 58 + goarch: 59 + - arm64 60 + 61 + - id: storm-windows-386 62 + main: ./cmd 63 + binary: storm.exe 64 + env: 65 + - CGO_ENABLED=0 66 + goos: 67 + - windows 68 + goarch: 69 + - "386" 70 + 71 + - id: storm-darwin-amd64 72 + main: ./cmd 73 + binary: storm 74 + env: 75 + - CGO_ENABLED=0 76 + goos: 77 + - darwin 78 + goarch: 79 + - amd64 80 + 81 + - id: storm-darwin-arm64 82 + main: ./cmd 83 + binary: storm 84 + env: 85 + - CGO_ENABLED=0 86 + goos: 87 + - darwin 88 + goarch: 89 + - arm64 90 + 91 + archives: 92 + - id: default 93 + ids: 94 + - storm-linux-amd64 95 + - storm-linux-arm64 96 + - storm-linux-386 97 + - storm-windows-amd64 98 + - storm-windows-arm64 99 + - storm-windows-386 100 + - storm-darwin-amd64 101 + - storm-darwin-arm64 102 + formats: 103 + - tar.gz 104 + name_template: >- 105 + {{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }} 106 + format_overrides: 107 + - goos: windows 108 + formats: 109 + - zip 110 + 111 + - id: extras 112 + meta: true 113 + ids: 114 + - storm-linux-amd64 115 + name_template: >- 116 + {{ .ProjectName }}_{{ .Version }}_extras 117 + files: 118 + - "completions/*" 119 + - "manpages/*" 120 + 121 + changelog: 122 + sort: asc 123 + filters: 124 + exclude: 125 + - "^docs:" 126 + - "^test:" 127 + 128 + release: 129 + footer: | 130 + --- 131 + Made by [Owais](https://github.com/desertthunder/desertthunder). 132 + 133 + homebrew_casks: 134 + - name: storm 135 + repository: 136 + owner: stormlightlabs 137 + name: homebrew-tap 138 + branch: main 139 + homepage: "https://github.com/stormlightlabs/git-storm" 140 + description: "A changelog manager with TUIs for review and release" 141 + license: MIT 142 + url: 143 + template: "https://github.com/stormlightlabs/git-storm/releases/download/{{ .Tag }}/{{ .ArtifactName }}" 144 + verified: "github.com/stormlightlabs/git-storm/" 145 + binaries: 146 + - storm 147 + manpages: 148 + - manpages/storm.1 149 + completions: 150 + bash: completions/storm.bash 151 + zsh: completions/storm.zsh 152 + fish: completions/storm.fish 153 + directory: casks 154 + commit_msg_template: "Brew cask update for Storm version {{ .Tag }}" 155 + skip_upload: false 156 + ids: 157 + - default 158 + - extras
+27
Taskfile.yml
··· 93 93 - task: tidy 94 94 - task: build 95 95 - echo "Setup complete." 96 + 97 + gen:completions: 98 + desc: Generate shell completion files 99 + cmds: 100 + - | 101 + rm -rf completions 102 + mkdir -p completions 103 + for sh in bash zsh fish; do 104 + go run ./cmd completion "$sh" > completions/storm."$sh" 105 + done 106 + sources: 107 + - "**/*.go" 108 + generates: 109 + - "completions/{{.BINARY_NAME}}.bash" 110 + - "completions/{{.BINARY_NAME}}.zsh" 111 + - "completions/{{.BINARY_NAME}}.fish" 112 + 113 + gen:manpage: 114 + desc: Generate man page file 115 + cmds: 116 + - rm -rf manpages 117 + - mkdir -p manpages 118 + - go run ./cmd man > manpages/{{.BINARY_NAME}}.1 119 + sources: 120 + - "**/*.go" 121 + generates: 122 + - "manpages/{{.BINARY_NAME}}.1"
+1 -1
cmd/main.go
··· 43 43 root.PersistentFlags().StringVarP(&output, "output", "o", "CHANGELOG.md", "Output changelog file path") 44 44 root.AddCommand(generateCmd(), unreleasedCmd(), releaseCmd(), bumpCmd(), diffCmd(), checkCmd(), versionCmd()) 45 45 46 - if err := fang.Execute(ctx, root, fang.WithColorSchemeFunc(style.NewColorScheme), fang.WithoutCompletions()); err != nil { 46 + if err := fang.Execute(ctx, root, fang.WithColorSchemeFunc(style.NewColorScheme)); err != nil { 47 47 log.Fatalf("Execution failed: %v", err) 48 48 } 49 49 }