olivetin/.goreleaser.yml

166 lines
4.0 KiB
YAML

project_name: OliveTin
before:
hooks:
- go mod download
- rm -rf webui/node_modules
builds:
- env:
- CGO_ENABLED=0
goos:
- linux
- windows
- darwin
goarch:
- amd64
- arm64
- arm
goarm:
- 5 # For old RPIs
- 6
- 7
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: "{{ .Commit }}"
changelog:
sort: asc
filters:
exclude:
- '^docs:'
- '^test:'
archives:
-
format: tar.gz
files:
- config.yaml
- LICENSE
- README.md
- Dockerfile
- webui
- OliveTin.service
replacements:
darwin: macOS
arm: arm32v
name_template: "{{ .ProjectName }}-{{ .Version }}-{{ .Os }}-{{ .Arch }}{{ .Arm }}"
wrap_in_directory: true
format_overrides:
- goos: windows
format: zip
dockers:
- image_templates:
- "docker.io/jamesread/olivetin:{{ .Tag }}-amd64"
dockerfile: Dockerfile
goos: linux
goarch: amd64
skip_push: false
build_flag_templates:
- "--platform=linux/amd64"
- "--label=org.opencontainers.image.title={{.ProjectName}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Tag}}"
- "--platform=linux/amd64"
extra_files:
- webui
- image_templates:
- "docker.io/jamesread/olivetin:{{ .Tag }}-arm64"
dockerfile: Dockerfile.arm64
goos: linux
goarch: arm64
skip_push: false
build_flag_templates:
- "--platform=linux/arm64"
- "--label=org.opencontainers.image.title={{.ProjectName}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Tag}}"
extra_files:
- webui
# This container image actually uses the goarm v5 binary, because v5 helps
# support rpi 1's, but it seems most container images start with v7.
- image_templates:
- "docker.io/jamesread/olivetin:{{ .Tag }}-armv7"
dockerfile: Dockerfile.armv7
goos: linux
goarch: arm
goarm: 7
skip_push: false
build_flag_templates:
- "--platform=linux/arm/v7"
- "--label=org.opencontainers.image.title={{.ProjectName}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Tag}}"
extra_files:
- webui
docker_manifests:
- name_template: docker.io/jamesread/olivetin:{{ .Version }}
image_templates:
- docker.io/jamesread/olivetin:{{ .Version }}-amd64
- docker.io/jamesread/olivetin:{{ .Version }}-arm64
- docker.io/jamesread/olivetin:{{ .Version }}-armv7
- name_template: docker.io/jamesread/olivetin:latest
image_templates:
- docker.io/jamesread/olivetin:{{ .Version }}-amd64
- docker.io/jamesread/olivetin:{{ .Version }}-arm64
- docker.io/jamesread/olivetin:{{ .Version }}-armv7
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
contents:
- src: OliveTin.service
dst: /etc/systemd/system/OliveTin.service
- src: webui
dst: /var/www/olivetin/
- src: config.yaml
dst: /etc/OliveTin/config.yaml
type: "config|noreplace"
release:
footer: |
## Useful links
- [Which download do I need?](https://docs.olivetin.app/choose-package.html)
- [Ask for help and chat with others users in the Discord community](https://discord.gg/jhYWWpNJ3v)
Thanks for your interest in OliveTin!