b684ac0668
This commit simplifies the goreleaser configuration and then adds nfpm support which allows us to build .deb and .rpm for each of the ARCH we support. The deb and rpm packages adds systemd services and users, creates directories etc and should in general give the user a working environment. We should be able to remove a lot of the complicated, PEBCAK inducing documentation after this. Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
94 lines
2.1 KiB
YAML
94 lines
2.1 KiB
YAML
---
|
|
before:
|
|
hooks:
|
|
- go mod tidy -compat=1.19
|
|
|
|
release:
|
|
prerelease: auto
|
|
|
|
builds:
|
|
- id: headscale
|
|
main: ./cmd/headscale/headscale.go
|
|
mod_timestamp: "{{ .CommitTimestamp }}"
|
|
env:
|
|
- CGO_ENABLED=0
|
|
targets:
|
|
- darwin_amd64
|
|
- darwin_arm64
|
|
- freebsd_amd64
|
|
- linux_386
|
|
- linux_amd64
|
|
- linux_arm64
|
|
- linux_arm_5
|
|
- linux_arm_6
|
|
- linux_arm_7
|
|
flags:
|
|
- -mod=readonly
|
|
ldflags:
|
|
- -s -w -X github.com/juanfont/headscale/cmd/headscale/cli.Version=v{{.Version}}
|
|
tags:
|
|
- ts2019
|
|
|
|
archives:
|
|
- id: golang-cross
|
|
builds:
|
|
- darwin_amd64
|
|
- darwin_arm64
|
|
- freebsd_amd64
|
|
- linux_386
|
|
- linux_amd64
|
|
- linux_arm64
|
|
- linux_arm_5
|
|
- linux_arm_6
|
|
- linux_arm_7
|
|
name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
|
|
format: binary
|
|
|
|
nfpms:
|
|
# Configure nFPM for .deb and .rpm releases
|
|
#
|
|
# See https://nfpm.goreleaser.com/configuration/
|
|
# and https://goreleaser.com/customization/nfpm/
|
|
#
|
|
# Useful tools for debugging .debs:
|
|
# List file contents: dpkg -c dist/headscale...deb
|
|
# Package metadata: dpkg --info dist/headscale....deb
|
|
#
|
|
- builds:
|
|
- headscale
|
|
package_name: headscale
|
|
priority: optional
|
|
vendor: headscale
|
|
maintainer: Kristoffer Dalby <kristoffer@dalby.cc>
|
|
homepage: https://github.com/juanfont/headscale
|
|
license: BSD
|
|
bindir: /usr/bin
|
|
formats:
|
|
- deb
|
|
- rpm
|
|
contents:
|
|
- src: ./config-example.yaml
|
|
dst: /etc/headscale/config.yaml
|
|
type: config|noreplace
|
|
file_info:
|
|
mode: 0644
|
|
- src: ./docs/packaging/headscale.systemd.service
|
|
dst: /etc/systemd/system/headscale.service
|
|
- dst: /var/lib/headscale
|
|
type: dir
|
|
- dst: /var/run/headscale
|
|
type: dir
|
|
scripts:
|
|
postinstall: ./docs/packaging/postinstall.sh
|
|
postremove: ./docs/packaging/postremove.sh
|
|
|
|
checksum:
|
|
name_template: "checksums.txt"
|
|
snapshot:
|
|
name_template: "{{ .Tag }}-next"
|
|
changelog:
|
|
sort: asc
|
|
filters:
|
|
exclude:
|
|
- "^docs:"
|
|
- "^test:"
|