Skip to content

Commit e851043

Browse files
committed
ci: goreleaser config and release workflow
Signed-off-by: Sanjay Santhanam <[email protected]>
1 parent 0ff2c9e commit e851043

2 files changed

Lines changed: 103 additions & 0 deletions

File tree

.github/workflows/release.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: release
2+
3+
on:
4+
push:
5+
tags:
6+
- "v*"
7+
8+
permissions:
9+
contents: write
10+
11+
jobs:
12+
goreleaser:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: actions/checkout@v4
16+
with:
17+
fetch-depth: 0
18+
- uses: actions/setup-go@v5
19+
with:
20+
go-version: "1.22.x"
21+
cache: true
22+
- uses: goreleaser/goreleaser-action@v6
23+
with:
24+
distribution: goreleaser
25+
version: "~> v2"
26+
args: release --clean
27+
env:
28+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.goreleaser.yaml

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
version: 2
2+
3+
project_name: tsk
4+
5+
before:
6+
hooks:
7+
- go mod tidy
8+
9+
builds:
10+
- id: tsk
11+
main: ./cmd/tsk
12+
binary: tsk
13+
env:
14+
- CGO_ENABLED=0
15+
flags:
16+
- -trimpath
17+
ldflags:
18+
- -s -w
19+
- -X main.version={{.Version}}
20+
- -X main.commit={{.Commit}}
21+
- -X main.date={{.Date}}
22+
goos:
23+
- linux
24+
- darwin
25+
- windows
26+
goarch:
27+
- amd64
28+
- arm64
29+
30+
archives:
31+
- id: tsk
32+
name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
33+
formats: [tar.gz]
34+
format_overrides:
35+
- goos: windows
36+
formats: [zip]
37+
files:
38+
- README.md
39+
- LICENSE
40+
41+
checksum:
42+
name_template: "checksums.txt"
43+
44+
snapshot:
45+
version_template: "{{ .Tag }}-next"
46+
47+
changelog:
48+
sort: asc
49+
filters:
50+
exclude:
51+
- "^docs:"
52+
- "^test:"
53+
- "^chore:"
54+
55+
# Homebrew tap skeleton (not activated; flip `skip_upload` to false once the tap repo exists).
56+
brews:
57+
- name: tsk
58+
skip_upload: true
59+
repository:
60+
owner: Sanjays2402
61+
name: homebrew-tap
62+
homepage: "https://github.com/Sanjays2402/tsk"
63+
description: "Fast, keyboard-first markdown todo manager"
64+
license: MIT
65+
commit_author:
66+
name: Sanjay Santhanam
67+
68+
install: |
69+
bin.install "tsk"
70+
test: |
71+
system "#{bin}/tsk", "version"
72+
73+
release:
74+
draft: false
75+
prerelease: auto

0 commit comments

Comments
 (0)