Release: web UX overhaul + Android native port + server polish #59

Merged
bvandeusen merged 298 commits from dev into main 2026-06-01 16:11:21 -04:00
2 changed files with 15 additions and 5 deletions
Showing only changes of commit 8db488b8ab - Show all commits
+4
View File
@@ -5,6 +5,10 @@ name: android
# minstrel-android-<tag>.apk to minstrel-<tag>.apk so the server's bundled
# in-app-update channel (release.yml polls this name) resolves to the
# native APK with no further changes.
#
# Tag format: vYYYY.MM.DD (per-day CalVer, mutable within the day). If a
# tag is force-moved within the day, this workflow re-runs and overwrites
# the existing release asset — same name, new content.
on:
push:
+11 -5
View File
@@ -2,9 +2,15 @@ name: release
# Builds and pushes the minstrel container image to the Gitea registry.
#
# push to main → :main and :latest
# push tag vX.Y.Z → :vX.Y.Z and :latest
# workflow_dispatch → manual trigger (same rules based on the ref)
# push to main → :main and :latest
# push tag vYYYY.MM.DD → :vYYYY.MM.DD and :latest
# workflow_dispatch → manual trigger (same rules based on the ref)
#
# Release model: per-day CalVer tags (no trailing patch digit). The day's
# tag is intentionally mutable — if a second release happens the same day,
# move the tag with `git push -f origin vYYYY.MM.DD` and the image tag of
# the same name gets overwritten. :latest is updated by every main push
# AND every tag push, so it always reflects the newest blessed image.
on:
push:
@@ -57,8 +63,8 @@ jobs:
else
# Main is the protected, post-PR-merge branch. Treat it as the
# rolling stable channel — every main push moves :latest.
# Pinned consumers can target :vX.Y.Z; everyone else gets the
# newest main.
# Pinned consumers can target :vYYYY.MM.DD; everyone else
# gets the newest main.
echo "args=-t ${IMAGE}:main -t ${IMAGE}:latest" >> "$GITHUB_OUTPUT"
echo "version=main" >> "$GITHUB_OUTPUT"
echo "::notice::Main-branch build: :main + :latest"