Files
gosh/.goreleaser.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