version: 2 project_name: iris git: # nightly tags share the version stream and can land on the same commit # as a stable tag, which would make goreleaser diff the changelog against # a nightly instead of the real previous stable release ignore_tags: - "*-nightly.*" # without this, git's default tag sort ranks a same-commit nightly tag # above the stable tag, so goreleaser resolves the nightly as the # "current tag" and tries to re-upload assets into its release, which # already has them and fails with 422 already_exists prerelease_suffix: "-nightly" changelog: use: git sort: asc abbrev: 6 format: "{{ .SHA }} {{ .Message }}" filters: # these would otherwise fall under the "Bug fixes" group below since # they start with `fix`, but they're infra-only and not user-facing exclude: - "(?i)^fix\\(ci\\)" - "(?i)^fix\\(release\\)" groups: - title: "Features" regexp: '(?i)^.*?feat(\(.+\))?!?:.+$' order: 0 - title: "Bug fixes" regexp: '(?i)^.*?fix(\(.+\))?!?:.+$' order: 1 - title: "Performance" regexp: '(?i)^.*?perf(\(.+\))?!?:.+$' order: 2 - title: "Refactors" regexp: '(?i)^.*?refactor(\(.+\))?!?:.+$' order: 3 - title: "Documentation" regexp: '(?i)^.*?docs?(\(.+\))?!?:.+$' order: 4 # unmatched types (chore, build, ci, test, ...) are silently dropped builds: - env: - CGO_ENABLED=0 goos: - linux - darwin goarch: - amd64 - arm64 ldflags: - -s -w -X github.com/versenilvis/iris/root.Version={{.Version}} flags: - -trimpath main: ./cmd/iris binary: iris archives: - format: tar.gz name_template: >- {{ .ProjectName }}_{{ .Os }}_{{ .Arch }} checksum: name_template: "checksums.txt" algorithm: sha256 release: extra_files: - glob: ./iris-*-vendor.tar.gz - glob: ./iris-*-vendor.tar.gz.sha256 footer: | ## Update ```bash iris update ``` # Homebrew brews: - repository: owner: versenilvis name: homebrew-iris token: "{{ .Env.HOMEBREW_TAP_GITHUB_TOKEN }}" directory: Formula homepage: "https://github.com/versenilvis/iris" description: "A highly customizable, blazing fast and context-aware CLI autocomplete/navigation tool" license: "MIT" caveats: | To completely remove IRIS configurations and shell hooks, please run 'iris uninstall' BEFORE removing this package, or manually clean up ~/.config/iris and your shell RC files (e.g. ~/.zshrc). test: | system "#{bin}/iris", "--help" # Debian/RPM nfpms: - id: iris package_name: iris vendor: "versenilvis" homepage: "https://github.com/versenilvis/iris" maintainer: "VERSE " description: "A highly customizable, blazing fast and context-aware CLI autocomplete/navigation tool" license: "MIT" file_name_template: "{{ .ProjectName }}_{{ .Os }}_{{ .Arch }}" scripts: preremove: "scripts/prerm.sh" formats: - deb - rpm bindir: /usr/bin