Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
114 lines
2.7 KiB
YAML
114 lines
2.7 KiB
YAML
# yaml-language-server: $schema=https://goreleaser.com/static/schema.json
|
|
# Release: git tag -a v0.1.0 -m "v0.1.0" && git push origin v0.1.0 && goreleaser release --clean
|
|
# Local test (no publishing): goreleaser release --snapshot --clean
|
|
version: 2
|
|
|
|
project_name: gosh
|
|
|
|
# GITHUB_TOKEN/GITLAB_TOKEN may also be set; always use Gitea.
|
|
force_token: gitea
|
|
|
|
before:
|
|
hooks:
|
|
- go mod tidy
|
|
- go test ./...
|
|
# Man page with the release version, gzipped for /usr/share/man
|
|
- sh -c 'sed "s/@VERSION@/{{ .Version }}/" packaging/man/gosh.1 | gzip -9n > packaging/man/gosh.1.gz'
|
|
|
|
builds:
|
|
- id: gosh
|
|
binary: gosh
|
|
main: .
|
|
env:
|
|
- CGO_ENABLED=0
|
|
flags:
|
|
- -trimpath
|
|
ldflags:
|
|
- -s -w -X main.version={{ .Version }} -X main.commit={{ .ShortCommit }} -X main.branch={{ .Branch }}
|
|
goos:
|
|
- linux
|
|
- darwin
|
|
- freebsd
|
|
goarch:
|
|
- amd64
|
|
- arm64
|
|
- arm
|
|
- "386"
|
|
goarm:
|
|
- "7"
|
|
ignore:
|
|
- goos: darwin
|
|
goarch: "386"
|
|
- goos: darwin
|
|
goarch: arm
|
|
mod_timestamp: "{{ .CommitTimestamp }}"
|
|
|
|
archives:
|
|
- id: gosh
|
|
formats: [tar.gz]
|
|
name_template: >-
|
|
{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ with .Arm }}v{{ . }}{{ end }}
|
|
files:
|
|
- src: README.md
|
|
info:
|
|
mode: 0644
|
|
- src: packaging/man/gosh.1.gz
|
|
dst: man/gosh.1.gz
|
|
info:
|
|
mode: 0644
|
|
|
|
nfpms:
|
|
- id: gosh
|
|
package_name: gosh
|
|
file_name_template: "{{ .ConventionalFileName }}"
|
|
ids: [gosh]
|
|
formats:
|
|
- deb
|
|
- rpm
|
|
vendor: Florian Walther
|
|
maintainer: Florian Walther <florian.walther@certainity.com>
|
|
homepage: https://gitea.scu.si/Florian.Walther/gosh
|
|
description: |-
|
|
gosh - a simple shell written in Go
|
|
Proof of concept with history, tab completion,
|
|
tilde and environment variable expansion.
|
|
license: ""
|
|
section: shells
|
|
priority: optional
|
|
bindir: /usr/bin
|
|
contents:
|
|
- src: README.md
|
|
dst: /usr/share/doc/gosh/README.md
|
|
file_info:
|
|
mode: 0644
|
|
- src: packaging/man/gosh.1.gz
|
|
dst: /usr/share/man/man1/gosh.1.gz
|
|
file_info:
|
|
mode: 0644
|
|
scripts:
|
|
postinstall: packaging/scripts/postinstall.sh
|
|
postremove: packaging/scripts/postremove.sh
|
|
|
|
checksum:
|
|
name_template: checksums.txt
|
|
|
|
snapshot:
|
|
version_template: "{{ incpatch .Version }}-next"
|
|
|
|
changelog:
|
|
sort: asc
|
|
filters:
|
|
exclude:
|
|
- "^docs:"
|
|
- "^test:"
|
|
|
|
# Repository is hosted on Gitea; requires GITEA_TOKEN in the environment.
|
|
gitea_urls:
|
|
api: https://gitea.scu.si/api/v1
|
|
download: https://gitea.scu.si
|
|
|
|
release:
|
|
gitea:
|
|
owner: Florian.Walther
|
|
name: gosh
|