Skip to content

Commit a83064a

Browse files
committed
chore: improve release pipeline and add Homebrew tap support
- Enable darwin/arm64 builds in GoReleaser (was incorrectly disabled) - Add Homebrew formula generation via GoReleaser - Clean up version injection (single source of truth in main.go) - Update README with installation instructions - Regenerate showcase SVGs
1 parent 0566436 commit a83064a

151 files changed

Lines changed: 8509 additions & 4549 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/homebrew.yml

Lines changed: 0 additions & 16 deletions
This file was deleted.

.github/workflows/release.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ on:
55
tags:
66
- 'v*'
77
workflow_dispatch:
8+
# Manual trigger for re-running failed releases (requires existing tag)
89

910
permissions:
1011
contents: write
@@ -29,3 +30,4 @@ jobs:
2930
args: release --clean
3031
env:
3132
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
33+
HOMEBREW_TAP_TOKEN: ${{ secrets.HOMEBREW_TAP_TOKEN }}

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
*.dll
55
*.so
66
*.dylib
7+
/stacktower
78
/bin/
89
/dist/ # GoReleaser output
910

@@ -27,6 +28,9 @@ go.work.sum
2728
*~
2829
.DS_Store
2930

31+
# Personal notes
32+
brew.md
33+
3034
# bin
3135
bin/
3236

.goreleaser.yaml

Lines changed: 19 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,6 @@ builds:
2323
goarch:
2424
- amd64
2525
- arm64
26-
# Don't build darwin/arm64 on Go < 1.16
27-
ignore:
28-
- goos: darwin
29-
goarch: arm64
3026
ldflags:
3127
- -s -w
3228
- -X main.version={{.Version}}
@@ -35,7 +31,8 @@ builds:
3531

3632
archives:
3733
- id: stacktower
38-
format: tar.gz
34+
formats:
35+
- tar.gz
3936
name_template: >-
4037
{{ .ProjectName }}_
4138
{{- .Version }}_
@@ -46,7 +43,8 @@ archives:
4643
{{- if .Arm }}v{{ .Arm }}{{ end }}
4744
format_overrides:
4845
- goos: windows
49-
format: zip
46+
formats:
47+
- zip
5048
files:
5149
- LICENSE
5250
- README.md
@@ -55,7 +53,7 @@ checksum:
5553
name_template: 'checksums.txt'
5654

5755
snapshot:
58-
name_template: "{{ incpatch .Version }}-next"
56+
version_template: "{{ incpatch .Version }}-next"
5957

6058
changelog:
6159
sort: asc
@@ -105,18 +103,17 @@ release:
105103
footer: |
106104
**Full Changelog**: https://github.com/matzehuels/stacktower/compare/{{ .PreviousTag }}...{{ .Tag }}
107105
108-
# Homebrew tap (disabled until ready)
109-
# Uncomment and create homebrew-tap repo when ready for brew distribution
110-
# brews:
111-
# - name: stacktower
112-
# repository:
113-
# owner: matzehuels
114-
# name: homebrew-tap
115-
# folder: Formula
116-
# homepage: https://github.com/matzehuels/stacktower
117-
# description: Visualize dependency graphs as elegant "stack tower" diagrams
118-
# license: MIT
119-
# test: |
120-
# system "#{bin}/stacktower --version"
121-
# install: |
122-
# bin.install "stacktower"
106+
brews:
107+
- name: stacktower
108+
repository:
109+
owner: matzehuels
110+
name: homebrew-tap
111+
token: "{{ .Env.HOMEBREW_TAP_TOKEN }}"
112+
directory: Formula
113+
homepage: https://github.com/matzehuels/stacktower
114+
description: Visualize dependency graphs as elegant stacktower diagrams
115+
license: Apache-2.0
116+
test: |
117+
system "#{bin}/stacktower", "--version"
118+
install: |
119+
bin.install "stacktower"

0 commit comments

Comments
 (0)