Caddyview/.github/workflows/release.yml
Jan Vetesnik 378ccc1a28 ci: push formula to shared homebrew-tools tap
Tap was renamed from homebrew-caddyview to homebrew-tools and now
hosts formulae for multiple tools. Workflow URL updated.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-13 16:20:02 +02:00

100 lines
3.2 KiB
YAML

name: Release
on:
push:
tags:
- 'v[0-9]*'
permissions:
contents: write
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Build binaries and archives
run: |
VERSION=${{ github.ref_name }}
mkdir -p dist
for PAIR in darwin/arm64 darwin/amd64 linux/amd64; do
OS=${PAIR%/*}
ARCH=${PAIR#*/}
GOOS=$OS GOARCH=$ARCH go build -ldflags="-s -w" -o dist/caddyview-${OS}-${ARCH} .
STAGING=$(mktemp -d)
cp dist/caddyview-${OS}-${ARCH} ${STAGING}/caddyview
tar -czf dist/caddyview-${VERSION}-${OS}-${ARCH}.tar.gz -C ${STAGING} caddyview
rm -rf ${STAGING}
done
echo "=== SHA256 checksums ==="
sha256sum dist/*.tar.gz
- name: Create GitHub Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
VERSION=${{ github.ref_name }}
gh release create "$VERSION" dist/*.tar.gz \
--title "$VERSION" \
--generate-notes
- name: Update Homebrew formula
env:
TAP_TOKEN: ${{ secrets.TAP_TOKEN }}
run: |
VERSION=${{ github.ref_name }}
VER=${VERSION#v}
SHA_ARM64=$(sha256sum dist/caddyview-${VERSION}-darwin-arm64.tar.gz | awk '{print $1}')
SHA_AMD64=$(sha256sum dist/caddyview-${VERSION}-darwin-amd64.tar.gz | awk '{print $1}')
SHA_LINUX=$(sha256sum dist/caddyview-${VERSION}-linux-amd64.tar.gz | awk '{print $1}')
git clone "https://x-access-token:${TAP_TOKEN}@github.com/janvete/homebrew-tools.git" tap
cat > tap/Formula/caddyview.rb << FORMULA
class Caddyview < Formula
desc "TUI SSH monitor for Caddy web server logs"
homepage "https://github.com/janvete/caddyview"
version "${VER}"
license "MIT"
on_macos do
if Hardware::CPU.arm?
url "https://github.com/janvete/caddyview/releases/download/${VERSION}/caddyview-${VERSION}-darwin-arm64.tar.gz"
sha256 "${SHA_ARM64}"
else
url "https://github.com/janvete/caddyview/releases/download/${VERSION}/caddyview-${VERSION}-darwin-amd64.tar.gz"
sha256 "${SHA_AMD64}"
end
end
on_linux do
if Hardware::CPU.intel?
url "https://github.com/janvete/caddyview/releases/download/${VERSION}/caddyview-${VERSION}-linux-amd64.tar.gz"
sha256 "${SHA_LINUX}"
end
end
def install
bin.install "caddyview"
end
test do
assert_match "TUI monitor", shell_output("#{bin}/caddyview --help")
end
end
FORMULA
cd tap
git config user.email "github-actions[bot]@users.noreply.github.com"
git config user.name "github-actions[bot]"
git add Formula/caddyview.rb
git commit -m "chore: bump caddyview to ${VERSION}"
git push