generated from hashicorp/packer-plugin-scaffolding
-
Notifications
You must be signed in to change notification settings - Fork 14
/
.goreleaser.yml
108 lines (106 loc) · 3.34 KB
/
.goreleaser.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: MPL-2.0
# This is an example goreleaser.yaml file with some defaults.
# Make sure to check the documentation at http://goreleaser.com
env:
- CGO_ENABLED=1
before:
hooks:
# We strongly recommend running tests to catch any regression before release.
# Even though, this an optional step.
- go clean -testcache
- go test ./... -count=1
# Check plugin compatibility with required version of the Packer SDK
- make plugin-check
builds:
# A separated build to run the packer-plugins-check only once for a linux_amd64 binary
# -
# id: plugin-check
# mod_timestamp: '{{ .CommitTimestamp }}'
# flags:
# - -trimpath #removes all file system paths from the compiled executable
# ldflags:
# - '-s -w -X {{ .ModulePath }}/version.Version={{.Version}} -X {{ .ModulePath }}/version.VersionPrerelease= '
# goos:
# - linux
# goarch:
# - amd64
# binary: '{{ .ProjectName }}_v{{ .Version }}_{{ .Env.API_VERSION }}_{{ .Os }}_{{ .Arch }}'
# -
# id: linux-builds
# mod_timestamp: '{{ .CommitTimestamp }}'
# flags:
# - -trimpath #removes all file system paths from the compiled executable
# ldflags:
# - '-s -w -X {{ .ModulePath }}/version.Version={{.Version}} -X {{ .ModulePath }}/version.VersionPrerelease= '
# goos:
# - linux
# goarch:
# - amd64
# - '386'
# - arm
# - arm64
# ignore:
# - goos: linux
# goarch: amd64
# binary: '{{ .ProjectName }}_v{{ .Version }}_{{ .Env.API_VERSION }}_{{ .Os }}_{{ .Arch }}'
-
id: darwin-builds
mod_timestamp: '{{ .CommitTimestamp }}'
flags:
- -trimpath #removes all file system paths from the compiled executable
ldflags:
- '-s -w -X {{ .ModulePath }}/version.Version={{.Version}} -X {{ .ModulePath }}/version.VersionPrerelease= '
goos:
- darwin
goarch:
- amd64
- arm64
binary: '{{ .ProjectName }}_v{{ .Version }}_{{ .Env.API_VERSION }}_{{ .Os }}_{{ .Arch }}'
# -
# id: other-builds
# mod_timestamp: '{{ .CommitTimestamp }}'
# flags:
# - -trimpath #removes all file system paths from the compiled executable
# ldflags:
# - '-s -w -X {{ .ModulePath }}/version.Version={{.Version}} -X {{ .ModulePath }}/version.VersionPrerelease= '
# goos:
# - netbsd
# - openbsd
# - freebsd
# - windows
# - solaris
# goarch:
# - amd64
# - '386'
# - arm
# ignore:
# - goos: windows
# goarch: arm
# - goos: solaris
# goarch: arm
# - goos: solaris
# goarch: '386'
# binary: '{{ .ProjectName }}_v{{ .Version }}_{{ .Env.API_VERSION }}_{{ .Os }}_{{ .Arch }}'
archives:
- format: zip
files:
- none*
name_template: '{{ .ProjectName }}_v{{ .Version }}_{{ .Env.API_VERSION }}_{{ .Os }}_{{ .Arch }}'
checksum:
name_template: '{{ .ProjectName }}_v{{ .Version }}_SHA256SUMS'
algorithm: sha256
signs:
- artifacts: checksum
args:
# if you are using this is in a GitHub action or some other automated pipeline, you
# need to pass the batch flag to indicate its not interactive.
- "--batch"
- "--local-user"
- "{{ .Env.GPG_FINGERPRINT }}"
- "--output"
- "${signature}"
- "--detach-sign"
- "${artifact}"
changelog:
use: github-native