Files
iris-context/.goreleaser.yaml
T
VERSE 87b91c45d7 feat: update changelog (#131)
closes #130 

- CHANGELOG.md file for people who can view changelog from github
---
`iris changelog` command:
`iris changelog [version]` (e.g. iris changelog v0.5.1)
`iris changelog -n 3` (see changelog of 3 latest releaseas)

=> `iris changelog` looks just like CHANGELOG.md, grouped headers and
all. It only stops looking that way if we personally overwrite that
release's description with something else
=> With 1-hour local cache (invalidated on updater-channel change),
`--refresh` flag to bypass, graceful fallback to stale cache on GitHub
rate-limiting

---
- New auto update config
```toml
# 0 = off (default, notify only), 1 = auto-install, 2 = always confirm first
auto-update = 1
```

- New just debug-changelog and just debug-autoupdate recipes (fully
offline, mocked HTTP servers, no real network/config touched)
2026-08-07 17:16:18 +07:00

113 lines
3.3 KiB
YAML

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 <sunnyone0901@gmail.com>"
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