jira-cli/.goreleaser.yml

115 lines
2.6 KiB
YAML

project_name: jira
release:
prerelease: auto
name_template: "v{{.Version}}"
draft: true
mode: "keep-existing"
before:
hooks:
- go mod tidy
builds:
- <<: &build_defaults
binary: bin/jira
main: ./cmd/jira
ldflags:
- -s -w
- -X github.com/ankitpokhrel/jira-cli/internal/version.Version={{.Version}}
- -X github.com/ankitpokhrel/jira-cli/internal/version.GitCommit={{.FullCommit}}
- -X github.com/ankitpokhrel/jira-cli/internal/version.SourceDateEpoch={{.CommitTimestamp}}
env:
- CGO_ENABLED=0
id: macOS
goos: [darwin]
goarch: [amd64, arm64]
- <<: *build_defaults
id: linux
goos: [linux]
goarch: [386, arm, amd64, arm64]
- <<: *build_defaults
id: windows
goos: [windows]
goarch: [amd64]
archives:
- id: nix
builds: [macOS, linux]
<<: &archive_defaults
name_template: >-
{{ .ProjectName }}_{{ .Version }}_{{- if eq .Os "darwin" }}macOS{{- else }}{{ .Os }}{{- end }}_{{- if eq .Arch "amd64" }}x86_64{{- else if eq .Arch "386" }}i386{{- else }}{{ .Arch }}{{- end }}{{- if .Arm }}v{{ .Arm }}{{ end -}}
wrap_in_directory: true
format: tar.gz
files:
- LICENSE
- id: windows
builds: [windows]
<<: *archive_defaults
wrap_in_directory: false
format: zip
files:
- LICENSE
checksum:
name_template: 'checksums.txt'
algorithm: sha256
brews:
- name: jira-cli
homepage: "https://github.com/ankitpokhrel/jira-cli"
description: "🔥 Feature-rich interactive Jira command-line"
license: "MIT"
ids:
- nix
repository:
owner: ankitpokhrel
name: homebrew-jira-cli
custom_block: |
head do
url "https://github.com/ankitpokhrel/jira-cli.git", branch: "main"
depends_on "go"
end
install: |
if build.head?
system "make", "install"
bin.install ENV["GOPATH"] + "/bin/jira"
else
bin.install File.exist?("bin/jira") ? "bin/jira" : "jira"
end
test: |
help_text = shell_output("#{bin}/jira version")
assert_includes help_text, "Version=\"#{version}\""
commit_author:
name: ankitpokhrel
email: oss@ankit.pl
commit_msg_template: "Formula update for version {{ .Tag }}"
# Folder inside the repository to put the formula to.
folder: Formula
# This will prevent goreleaser to actually try to commit the updated
# formula - leaving the responsibility of publishing it to the user.
skip_upload: true
changelog:
skip: true
use: github
sort: desc
filters:
exclude:
- '^doc:'
- '^dev:'
- '^build:'
- '^ci:'