-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy path.goreleaser.yml
More file actions
142 lines (126 loc) · 3.25 KB
/
.goreleaser.yml
File metadata and controls
142 lines (126 loc) · 3.25 KB
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
# GoReleaser configuration for lnk
version: 2
project_name: lnk
before:
hooks:
# You may remove this if you don't use go modules.
- go mod tidy
# you may remove this if you don't need go generate
- go generate ./...
builds:
- env:
- CGO_ENABLED=0
goos:
- linux
- windows
- darwin
goarch:
- amd64
- arm64
# Optional: exclude specific combinations
ignore:
- goos: windows
goarch: arm64
ldflags:
- -s -w
- -X main.version={{.Version}}
- -X main.buildTime={{.Date}}
main: ./main.go
binary: lnk
archives:
- id: default
# this name template makes the OS and Arch compatible with the results of uname.
name_template: >-
{{ .ProjectName }}_
{{- title .Os }}_
{{- if eq .Arch "amd64" }}x86_64
{{- else if eq .Arch "386" }}i386
{{- else }}{{ .Arch }}{{ end }}
{{- if .Arm }}v{{ .Arm }}{{ end }}
files:
- README.md
- LICENSE
builds_info:
group: root
owner: root
checksum:
name_template: "checksums.txt"
snapshot:
version_template: "{{ incpatch .Version }}-next"
changelog:
sort: asc
use: github
filters:
exclude:
- "^docs:"
- "^test:"
- "^ci:"
- "^chore:"
- "^style:"
- "^refactor:"
groups:
- title: Features
regexp: '^.*?feat(\([[:word:]]+\))??!?:.+$'
order: 0
- title: "Bug fixes"
regexp: '^.*?fix(\([[:word:]]+\))??!?:.+$'
order: 1
- title: Others
order: 999
# GitHub release configuration
release:
github:
owner: yarlson
name: lnk
draft: false
prerelease: auto
mode: replace
header: |
## Lnk {{.Tag}}
Git-native dotfiles management that doesn't suck.
### Installation
```bash
# Quick install
curl -sSL https://raw.githubusercontent.com/yarlson/lnk/main/install.sh | bash
# Homebrew
brew tap yarlson/lnk
brew install lnk
# Manual download
# Download the appropriate archive for your platform from the assets below
# Extract and move to your PATH:
# tar -xzf lnk_*.tar.gz && sudo mv lnk /usr/local/bin/
```
footer: |
---
**Full Changelog**: https://github.com/yarlson/lnk/compare/{{.PreviousTag}}...{{.Tag}}
# Homebrew tap
brews:
- repository:
owner: yarlson
name: homebrew-lnk
branch: main
token: "{{ .Env.GITHUB_TOKEN }}"
homepage: "https://github.com/yarlson/lnk"
description: "Git-native dotfiles management that doesn't suck"
license: "MIT"
skip_upload: auto
commit_author:
name: goreleaserbot
email: bot@goreleaser.com
commit_msg_template: "Brew formula update for {{ .ProjectName }} version {{ .Tag }}"
test: |
system "#{bin}/lnk --version"
install: |
bin.install "lnk"
# Docker images (optional)
# dockers:
# - image_templates:
# - "yarlson/lnk:latest"
# - "yarlson/lnk:{{ .Tag }}"
# - "yarlson/lnk:v{{ .Major }}"
# dockerfile: Dockerfile
# build_flag_templates:
# - "--label=org.opencontainers.image.created={{.Date}}"
# - "--label=org.opencontainers.image.title={{.ProjectName}}"
# - "--label=org.opencontainers.image.revision={{.FullCommit}}"
# - "--label=org.opencontainers.image.version={{.Version}}"