olivetin/.goreleaser.yml

108 lines
2.1 KiB
YAML

project_name: OliveTin
before:
hooks:
- go mod tidy
- make grpc
builds:
- env:
- CGO_ENABLED=0
goos:
- linux
- windows
- darwin
goarch:
- amd64
- arm64
- arm
goarm:
- 7 # For old RPIs
main: cmd/OliveTin/main.go
ignore:
- goos: darwin
goarch: arm # Mac does not work on [32bit] arm
- goos: windows
goarch: arm
- goos: windows # Does anyone use Windows on arm64?
goarch: arm64
ldflags:
- -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{ .CommitDate }}
checksum:
name_template: 'checksums.txt'
snapshot:
name_template: "{{ .Tag }}-next"
changelog:
sort: asc
filters:
exclude:
- '^docs:'
- '^test:'
archives:
-
format: tar.gz
files:
- var/config.yaml
- LICENSE
- README.md
- Dockerfile
- webui
- OliveTin.service
replacements:
darwin: macOS
name_template: "{{ .ProjectName }}-{{ .Version }}-{{ .Os }}-{{ .Arch }}"
wrap_in_directory: true
format_overrides:
- goos: windows
format: zip
dockers:
- image_templates:
- "docker.io/jamesread/olivetin:latest"
- "docker.io/jamesread/olivetin:{{ .Tag }}-amd64"
dockerfile: Dockerfile
goos: linux
goarch: amd64
skip_push: false
use: docker
build_flag_templates:
- "--platform=linux/amd64"
- "--label=org.opencontainers.image.title={{.ProjectName}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Tag}}"
extra_files:
- webui
nfpms:
- maintainer: James Read <contact@jread.com>
description: OliveTin is a web interface for running Linux shell commands.
homepage: https://github.com/jamesread/OliveTin
license: AGPL-3.0
formats:
- deb
- rpm
- apk
contents:
- src: OliveTin.service
dst: /etc/systemd/system/OliveTin.service
- src: webui
dst: /var/www/olivetin/
- src: var/config.yaml
dst: /etc/OliveTin/config.yaml
type: "config|noreplace"