Files
kportal/RELEASE_SETUP.md
T
lukaszraczylo 1167847fd4 bugfixes nov2025 pt4 (#7)
* Add mDNS resolution.
* Update the website and documentation
2025-11-25 11:14:33 +00:00

2.8 KiB

Release Infrastructure

Documentation for kportal's release automation and distribution.

🔄 CI/CD Pipeline

File: .github/workflows/release.yml

The pipeline builds multi-platform binaries, creates GitHub releases, and updates Homebrew on version tags.

Trigger a Release

git tag -a v0.2.0 -m "Release v0.2.0"
git push origin v0.2.0

The pipeline will:

  1. Build binaries for all platforms
  2. Create GitHub release with binaries and checksums
  3. Update Homebrew tap formula

📦 Installation Methods

Homebrew

File: Formula/kportal.rb

brew install lukaszraczylo/tap/kportal

Formula is automatically updated by CI/CD. Requires:

  • Tap repository: https://github.com/lukaszraczylo/brew-taps
  • Secret: HOMEBREW_TAP_TOKEN with repo scope

Install Script

File: install.sh

curl -fsSL https://raw.githubusercontent.com/lukaszraczylo/kportal/main/install.sh | bash

Auto-detects OS/architecture and installs to /usr/local/bin.

Manual Download

Download from releases page.

Platform Support

OS Architecture Format
Linux amd64, arm64 tar.gz
macOS amd64, arm64 tar.gz
Windows amd64, arm64 zip

🚀 Release Process

  1. Make changes and test

    make test && make all
    
  2. Update CHANGELOG.md

  3. Tag and push

    git tag -a v0.2.0 -m "Release v0.2.0"
    git push origin main
    git push origin v0.2.0
    

Version Bumping

Version determined by commit message keywords:

Bump Keywords
Patch (0.0.X) fix, bugfix, docs, test, refactor
Minor (0.X.0) feat, feature, add, enhance, update
Major (X.0.0) breaking, major, BREAKING CHANGE

Required Secrets

Secret Purpose
GITHUB_TOKEN Provided by GitHub Actions
HOMEBREW_TAP_TOKEN Personal access token with repo scope

⚙️ Initial Setup

1. Enable GitHub Pages

Repository Settings → Pages → Source: main branch, /docs folder

2. Create Homebrew Tap

gh repo create lukaszraczylo/brew-taps --public
cd brew-taps
mkdir Formula
# Formula will be auto-updated by CI

3. Add Token Secret

Repository Settings → Secrets → Actions → New secret:

  • Name: HOMEBREW_TAP_TOKEN
  • Value: Personal access token with repo scope

🐛 Troubleshooting

Release workflow fails

  • Check GitHub Actions logs
  • Verify secrets are configured
  • Ensure tag follows v\d+.\d+.\d+ format

Homebrew not updating

  • Verify HOMEBREW_TAP_TOKEN is valid
  • Check tap repository permissions

Install script fails

  • Verify release binaries are attached
  • Check binary naming matches script expectations