refactor(ci): split release pipeline, add nfpm/homebrew/git-cliff

Split monolithic release.yml into independent workflows:
- release-binaries.yml: tag-triggered, GoReleaser + git-cliff notes
- release-docker.yml: tag-triggered + manual dispatch, SHA tags

Add DEB/RPM packaging via nfpm in GoReleaser. Add Homebrew cask
config (skip_upload until macOS builds exist). Replace GoReleaser
built-in changelog with git-cliff for structured release notes.
This commit is contained in:
2026-06-01 21:14:54 -04:00
parent a08d6ce2c5
commit 50eb43971c
5 changed files with 161 additions and 60 deletions
+37 -6
View File
@@ -33,10 +33,41 @@ archives:
checksum:
name_template: checksums.txt
nfpms:
- package_name: uptop
file_name_template: "{{ .ConventionalFileName }}"
vendor: LerkoLabs
homepage: https://gitea.lerkolabs.com/lerkolabs/uptop
maintainer: Tyler Koenig <tyler@lerkolabs.com>
description: Self-hosted uptime monitoring with a TUI over SSH
license: MIT
section: net
priority: optional
formats:
- deb
- rpm
bindir: /usr/bin
contents:
- src: ./LICENSE
dst: /usr/share/doc/uptop/LICENSE
type: doc
homebrew_casks:
- name: uptop
homepage: https://gitea.lerkolabs.com/lerkolabs/uptop
description: Self-hosted uptime monitoring with a TUI over SSH
directory: Casks
skip_upload: true
commit_msg_template: "update uptop to {{ .Tag }}"
url:
template: "https://gitea.lerkolabs.com/lerkolabs/uptop/releases/download/{{ .Tag }}/{{ .ArtifactName }}"
repository:
owner: lerkolabs
name: homebrew-tap
git:
url: "ssh://git@gitea.lerkolabs.com:2222/lerkolabs/homebrew-tap.git"
private_key: "{{ if index .Env \"TAP_SSH_KEY\" }}{{ .Env.TAP_SSH_KEY }}{{ end }}"
ssh_command: "ssh -o StrictHostKeyChecking=accept-new"
changelog:
sort: asc
filters:
exclude:
- "^docs:"
- "^chore:"
- "^style:"
disable: true