mirror of
https://github.com/lukaszraczylo/kportal.git
synced 2026-06-05 23:03:40 +00:00
1167847fd4
* Add mDNS resolution. * Update the website and documentation
2.8 KiB
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:
- Build binaries for all platforms
- Create GitHub release with binaries and checksums
- 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_TOKENwithreposcope
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
-
Make changes and test
make test && make all -
Update CHANGELOG.md
-
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
reposcope
🐛 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_TOKENis valid - Check tap repository permissions
Install script fails
- Verify release binaries are attached
- Check binary naming matches script expectations