feat(ci): beta release channel + live updater channel switching #98

Merged
sarman merged 5 commits from fix/proxmox-v1.2.1 into master 2026-06-13 23:38:36 +00:00

5 Commits

Author SHA1 Message Date
Shaun Arman
758d783ee0 Merge branch 'fix/proxmox-v1.2.1' of https://gogs.tftsr.com/sarman/tftsr-devops_investigation into fix/proxmox-v1.2.1
Some checks failed
PR Review Automation / review (pull_request) Has been cancelled
Test / frontend-typecheck (pull_request) Has been cancelled
Test / rust-fmt-check (pull_request) Has been cancelled
Test / frontend-tests (pull_request) Has been cancelled
Test / rust-clippy (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
2026-06-13 18:36:44 -05:00
Shaun Arman
8befa47226 chore: bump version to 1.2.3 2026-06-13 18:36:31 -05:00
e0bb594efa Merge branch 'master' into fix/proxmox-v1.2.1
All checks were successful
Test / frontend-tests (pull_request) Successful in 1m57s
Test / frontend-typecheck (pull_request) Successful in 2m4s
PR Review Automation / review (pull_request) Successful in 4m33s
Test / rust-fmt-check (pull_request) Successful in 13m7s
Test / rust-clippy (pull_request) Successful in 15m4s
Test / rust-tests (pull_request) Successful in 17m23s
2026-06-13 23:12:45 +00:00
Shaun Arman
5680a28940 feat(ci): auto-sync beta from master after every push
Adds sync-beta.yml: triggers on push to master, merges master into
beta using RELEASE_TOKEN (admin — same mechanism auto-tag.yml uses to
push CHANGELOG commits to protected master). Skips gracefully if beta
does not exist yet or is already up to date.

Note: commits with [skip ci] suppress all workflow runs; those commits
are picked up on the next real push to master.
2026-06-13 18:04:37 -05:00
Shaun Arman
c5cacfd57d feat(ci): add beta release channel with two-track pipeline
Some checks failed
PR Review Automation / review (pull_request) Successful in 3m57s
Test / rust-tests (pull_request) Has been cancelled
Test / frontend-typecheck (pull_request) Has been cancelled
Test / rust-fmt-check (pull_request) Has been cancelled
Test / rust-clippy (pull_request) Has been cancelled
Test / frontend-tests (pull_request) Has been cancelled
- Add release-beta.yml: triggers on push to beta, creates
  v{CARGO}-beta.N pre-release tags with prerelease: true, builds all
  four platforms; tag counter resets when Cargo.toml version bumps
- Add beta to test.yml push triggers so CI runs on direct pushes to
  beta (pull_request already covers PRs targeting beta)
- Implement update_channel in AppSettings (state.rs) with serde
  default "stable"; wire get/set_update_channel commands to AppState
  instead of returning hardcoded stubs
- Implement channel-aware check_app_updates: queries /releases?limit=20
  and picks first non-draft release matching the active channel
  (stable = !prerelease, beta = prerelease), skipping drafts
- Document two-channel strategy in docs/wiki/CICD-Pipeline.md

Manual steps still required in Gitea UI:
  1. Create beta branch from master
  2. Apply same branch protection rules as master to beta
  3. Set repo default PR target branch to beta
2026-06-13 17:59:36 -05:00