ghcr.io/teranos/qntx:latest and ghcr.io/teranos/qntx:{version}qntx-{version}-linux-{amd64,arm64}.tar.gz (built natively per arch on amd64 + ubuntu-24.04-arm runners).github/workflows/branch-latest.yml publishes/updates a pre-release tagged branch-<name>-latest with Linux amd64/arm64 tarballs at a stable URL:
https://github.com/teranos/QNTX/releases/download/branch-<name>-latest/qntx-<name>-linux-<arch>.tar.gz
For deployments that want the tip of a branch (e.g. q.sbvh.nl tracking main) without waiting for a tag.What: Attach binaries to git tags automatically
Platforms to distribute:
Implementation:
v* tagsgoreleaser for CLI multi-platform buildsBenefits:
Effort: Medium (1-2 days)
What: Package manager for macOS and Linux
Command:
brew install teranos/tap/qntx
Requirements:
teranos/homebrew-tap)Benefits:
brew upgradeEffort: Low (few hours after GitHub Releases exist)
Current:
Could Add:
Multi-arch manifests: ✅ Already implemented
microsoft/winget-pkgsOptions:
Google Play Store (Recommended)
F-Droid (Open source alternative)
GitHub Releases (Sideloading)
Recommendation: Start with GitHub Releases (APK), add Play Store when ready for wider distribution.
Not Recommended (QNTX is a platform, not a library):
Goal: Make QNTX downloadable
GitHub Releases workflow
Update README
Deliverable: Users can download QNTX for their platform from GitHub
Goal: Native installation experience
Homebrew tap
teranos/homebrew-tapwinget manifest
Deliverable:
brew install teranos/tap/qntx # macOS/Linux
winget install Teranos.QNTX # Windows
Goal: Native package managers for Linux
APT repository (Debian/Ubuntu)
Snap package
Deliverable:
sudo apt install qntx # Debian/Ubuntu
snap install qntx # Any Linux
Goal: Official app store presence
Google Play Store
iOS App Store (if budget allows)
Using goreleaser:
.goreleaser.yml:
builds:
- main: ./cmd/qntx
binary: qntx
goos:
- linux
- darwin
- windows
goarch:
- amd64
- arm64
ldflags:
- -X github.com/teranos/QNTX/internal/version.Version={{.Version}}
- -X github.com/teranos/QNTX/internal/version.CommitHash={{.Commit}}
archives:
- format: tar.gz
format_overrides:
- goos: windows
format: zip
release:
github:
owner: teranos
name: QNTX
GitHub workflow:
- uses: goreleaser/goreleaser-action@v5
with:
version: latest
args: release --clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Add to existing workflows:
- name: Build Tauri app
uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tagName: ${{ github.ref_name }}
releaseName: 'QNTX ${{ github.ref_name }}'
releaseBody: 'See CHANGELOG.md for details'
releaseDraft: false
prerelease: false
Tauri automatically:
homebrew-tap/Formula/qntx.rb:
class Qntx < Formula
desc "Continuous Intelligence Platform"
homepage "https://github.com/teranos/QNTX"
version "0.16.14"
on_macos do
if Hardware::CPU.arm?
url "https://github.com/teranos/QNTX/releases/download/v0.16.14/qntx_Darwin_arm64.tar.gz"
sha256 "..."
else
url "https://github.com/teranos/QNTX/releases/download/v0.16.14/qntx_Darwin_x86_64.tar.gz"
sha256 "..."
end
end
on_linux do
if Hardware::CPU.arm?
url "https://github.com/teranos/QNTX/releases/download/v0.16.14/qntx_Linux_arm64.tar.gz"
sha256 "..."
else
url "https://github.com/teranos/QNTX/releases/download/v0.16.14/qntx_Linux_x86_64.tar.gz"
sha256 "..."
end
end
def install
bin.install "qntx"
end
end
Auto-update with brew bump-formula-pr.
microsoft/winget-pkgs/manifests/t/Teranos/QNTX/0.16.14/:
PackageIdentifier: Teranos.QNTX
PackageVersion: 0.16.14
PackageLocale: en-US
Publisher: Teranos
PackageName: QNTX
License: MIT
ShortDescription: Continuous Intelligence Platform
Installers:
- Architecture: x64
InstallerType: msi
InstallerUrl: https://github.com/teranos/QNTX/releases/download/v0.16.14/qntx_Windows_x64.msi
InstallerSha256: ...
| Channel | Setup Cost | Ongoing Cost | Effort |
|---|---|---|---|
| GitHub Releases | Free | Free | Medium |
| Homebrew | Free | Free | Low |
| winget | Free | Free | Low |
| Docker (GHCR) | Free | Free | Done ✓ |
| Snap Store | Free | Free | Medium |
| Google Play | $25 once | Free | Medium |
| Apple App Store | Free (have account?) | $99/year | High |
| F-Droid | Free | Free | Medium |
Total upfront: $25-124 (depending on iOS) Annual: $0-99 (depending on iOS)
Post-distribution, monitor:
.goreleaser.yml for CLI builds.github/workflows/release.yml)