-
Notifications
You must be signed in to change notification settings - Fork 2
/
.goreleaser.yml
156 lines (125 loc) · 4.42 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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
project_name: whisper
dist: dist
builds:
# Define multiple builds as a yaml list, specify by a unique ID
- id: "cmd-whisper-build"
# Path to project's (sub)directory containing Go code.
dir: .
# Path to main.go file or main package.
main: ./cmd/whisper
# Binary name (can be a path to wrap binary in a directory)
binary: whisper
# Custom flags templates
flags:
- -v
# Custom ldflags templates.
ldflags: -s -w -X github.com/rotationalio/whisper/pkg.GitVersion={{.Commit}} -X github.com/rotationalio/whisper/pkg.BuildDate={{.Date}}
# Custom environment variables to be set during the build
env:
- CGO_ENABLED=0
# GOOS list to build for
# For more info refer to: https://golang.org/doc/install/source#environment
goos:
- linux
- darwin
- windows
# GOARCH to build for.
# For more info refer to: https://golang.org/doc/install/source#environment
goarch:
- amd64
- "386"
- arm64
# GOARM to build for when GOARCH is arm.
# For more info refer to: https://golang.org/doc/install/source#environment
goarm:
- "6"
# List of combinations of GOOS + GOARCH + GOARM to ignore.
ignore:
- goos: darwin
goarch: "386"
- goos: linux
goarch: "386"
- goos: windows
goarch: arm64
# Set the modified timestamp on the output binary, typically
# you would do this to ensure a build was reproducible. Pass
# empty string to skip modifying the output.
mod_timestamp: '{{ .CommitTimestamp }}'
# Create .tar.gz and .zip archives
archives:
# tar.gz archive of the binaries
- id: "whisper-archive-tgz"
format: tar.gz
builds:
- "cmd-whisper-build"
name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
wrap_in_directory: true
files:
- LICENSE
- README.md
# Used to validate if downloaded files are correct
checksum:
name_template: '{{ .ProjectName }}_{{ .Version }}_checksums.txt'
algorithm: sha256
# Publish the release on GitHub
release:
# Repo in which the release will be created.
# Default is extracted from the origin remote URL or empty if its private hosted.
# Valid options are either github, gitlab or gitea
github:
owner: rotationalio
name: whisper
# You can change the name of the release.
name_template: 'Whisper v{{.Version}}'
# If set to auto, will mark the release as not ready for production
# in case there is an indicator for this in the tag e.g. v1.0.0-rc1
# If set to true, will mark the release as not ready for production.
prerelease: auto
# Header for the release body.
header: |
[TODO: describe release]
# Footer for the release body.
footer: |
### About
The whisper service is an internal helper tool used at Rotational Labs to share
secrets and secret files securely. We've made the code open source and are happy to
have general contributions that enhance the project, and have made these releases
freely available with no warranty to anyone who would like to use them.
Please note that because this service is primarily internal to Rotational Labs it is
focused on the needs of Rotational's engineering team. Rotational Labs makes no
guarantees or warranties about the security of this software project and provides
all compiled binaries as is for general use. Use at your own risk!
# If set to true, will not auto-publish the release.
disable: false
changelog:
# Set it to true if you wish to skip the changelog generation.
skip: false
filters:
# Commit messages matching the regexp listed here will be removed from the changelog
exclude:
- (?i)typo
- (?i)^f$
source:
enabled: true
format: 'zip'
name_template: '{{ .ProjectName }}_v{{ .Version }}_source'
signs:
- artifacts: checksum
args: ["--batch", "-u", "{{ .Env.GPG_FINGERPRINT }}", "--output", "${signature}", "--detach-sign", "${artifact}"]
# Publish a homebrew formulae on our brew tap
brews:
-
name: whisper
tap:
owner: rotationalio
name: homebrew-tools
token: "{{ .Env.HOMEBREW_TAP_GITHUB_TOKEN }}"
commit_author:
name: Rotational Labs
email: [email protected]
folder: Formula
homepage: "https://whisper.rotational.dev"
description: "Create and fetch whisper secret messages and files via the command-line"
license: "Apache-2.0"
test: |
system "#{bin}/whisper", "--version"