evcc-io/.goreleaser.yml

144 lines
3.1 KiB
YAML

version: 2
dist: release
release:
github:
owner: evcc-io
name: evcc
mode: replace
# bugfix releases of an older line are published, but do not become "latest"
make_latest: '{{ envOrDefault "MAKE_LATEST" "true" }}'
builds:
- id: evcc
main: .
flags:
- -trimpath
- -tags=release
ldflags:
- -X github.com/evcc-io/evcc/util.Version={{ .Version }} -s -w
env:
- CGO_ENABLED=0
goos:
- linux
- darwin
- windows
goarch:
- amd64
- arm
- arm64
goarm:
- "6"
ignore:
- goos: windows
goarch: arm
- goos: windows
goarch: arm64
overrides:
- goos: windows
goarch: amd64
flags:
- -trimpath
- -tags=release,timetzdata
env:
- CGO_ENABLED=0
archives:
- ids:
- evcc
formats: [tar.gz]
format_overrides:
- goos: windows
formats: [zip]
files:
- evcc.dist.yaml
name_template: >-
{{ .ProjectName }}_{{ .Version }}_{{ if eq .Os "darwin" }}macOS{{ else }}{{ .Os }}{{ end }}-{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}
universal_binaries:
- replace: true
checksum:
name_template: "checksums.txt"
snapshot:
version_template: "{{ .Tag }}-next"
changelog:
sort: asc
# drop the marker the backport command appends to the pull request title
format: '{{ .SHA }} {{ reReplaceAll ` \[\d+\.\d+ backport\]` .Message "" }}'
filters:
exclude:
- "^chore"
- "(?i)^bump"
- "(?i)^ci:"
- "^docs:"
- "^test:"
- "^build"
- "^Translations"
groups:
- title: "Breaking Changes 🚨"
regexp: '(?i)\(BC\)'
order: 10
- title: "Bug Fixes 🐞"
regexp: '(?i)^fix:|\bfix\b'
order: 40
- title: "New Features 💫"
regexp: '(?i)^feat:|\badd\b'
order: 20
- title: "Experimental Features 🧪"
regexp: '(?i)^experimental:|\bexperimental\b'
order: 25
- title: "Other Changes ☀️"
order: 30
nfpms:
- id: default
package_name: evcc
file_name_template: "{{ .ConventionalFileName }}"
homepage: https://evcc.io
description: EV Charge Controller
maintainer: info@evcc.io
license: MIT
vendor: evcc.io
formats:
- deb
dependencies:
- adduser
- ucf
contents:
- src: ./packaging/init/evcc.service
dst: /lib/systemd/system/evcc.service
scripts:
preinstall: ./packaging/scripts/preinstall.sh
postinstall: ./packaging/scripts/postinstall.sh
preremove: ./packaging/scripts/preremove.sh
postremove: ./packaging/scripts/postremove.sh
brews:
- skip_upload: '{{ if eq (envOrDefault "MAKE_LATEST" "true") "true" }}false{{ else }}true{{ end }}'
repository:
owner: evcc-io
name: homebrew-tap
commit_author:
name: andig
email: info@evcc.io
directory: Formula
homepage: "https://evcc.io"
description: "Sonne tanken ☀️🚘"
license: "MIT"
test: |
system "#{bin}/evcc --version"
service: |
run [opt_bin/"evcc"]
working_dir HOMEBREW_PREFIX
keep_alive true
log_path var/"log/evcc.log"
error_log_path var/"log/evcc.log"