ci(release): split canary/stable tracks + unified Gitea Releases
A push to main publishes canary builds to canary channels (fast iteration,
unchanged); a single vX.Y.Z tag releases every platform at one version to the
stable channels and attaches all artifacts (.deb/.rpm/.msix/.apk/.aab/.dmg +
flatpak/decky/host-installer) to one Gitea Release. Collapses the
host-v*/win-v*/host-win-v* tag namespaces into v* — the channel split makes the
version-shadow bug structurally impossible (canary and stable are separate repos,
never a shared version line).
- scripts/ci/gitea-release.{sh,ps1}: one idempotent release helper
(create-or-fetch + delete-before-upload), replacing 3 copy-pasted inline blocks
and fixing their latent 409-on-reupload bug; prerelease flag auto-derived from
the tag (an -rc tag won't shadow "Latest")
- channels: apt canary/stable distributions; rpm *-canary/base groups; flatpak
canary/stable OSTree branches + a 2nd .Canary.flatpakref; generic-registry
canary/ vs latest/ aliases; Play internal/alpha; Apple TestFlight vs notarized DMG
- android versionName threaded through gradle (versionCode stays run_number);
Apple canary = TestFlight-only (no DMG/tvOS); canary base bumped to 0.3.0
- docs: new docs-site channels.md (subscribe table + cut-a-release runbook +
box migration), refreshed ci.md workflow table + packaging READMEs
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -17,12 +17,12 @@
|
||||
################################################################################
|
||||
|
||||
Name: punktfunk
|
||||
# Version/Release are overridable so CI can stamp a rolling snapshot: a main build passes
|
||||
# --define "pf_version 0.2.0" --define "pf_release 0.ci42.gdeadbee"
|
||||
# (Release starting "0." sorts BEFORE the eventual "1" release; base 0.2.0 sits ABOVE the stray
|
||||
# 0.1.1), a host-v* tag passes the clean version with "pf_release 1". A plain `rpmbuild` (or COPR)
|
||||
# with no defines builds 0.2.0-1.
|
||||
Version: %{?pf_version}%{!?pf_version:0.2.0}
|
||||
# Version/Release are overridable so CI can stamp a rolling snapshot: a canary main build passes
|
||||
# --define "pf_version 0.3.0" --define "pf_release 0.ci42.gdeadbee"
|
||||
# (Release starting "0." sorts BEFORE the eventual "1" release; the canary base stays one minor
|
||||
# ahead of the latest stable), a vX.Y.Z release tag passes the clean version with "pf_release 1".
|
||||
# A plain `rpmbuild` (or COPR) with no defines builds 0.3.0-1.
|
||||
Version: %{?pf_version}%{!?pf_version:0.3.0}
|
||||
Release: %{?pf_release}%{!?pf_release:1}%{?dist}
|
||||
Summary: Low-latency desktop/game streaming host (Moonlight-compatible + punktfunk/1)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user