Quests first
The Create Game screen now leads with Quest mode, and new games default to Quest. Horde’s still there, just in the second slot.
Behind the scenes this is also the first release built and shipped entirely from GitHub Actions instead of my laptop. No user-visible difference, but it means patches can go out faster and from anywhere.
- Move Android keystore passwords out of
Client.Android.csproj;build.ps1now readsANDROID_KEYSTORE_PASSfrom the environment - Start of GitHub Actions release workflow;
release.ymlnow publishes Client.Desktop for all four RIDs (win-x64, linux-x64, osx-x64, osx-arm64) plus the Facilitator (linux-x64) onworkflow_dispatch - GHA release: add
package-archivesjob that produces per-RIDblight-<rid>.tar.gz/.zipfrom the shared publish artifact; archives are Client.Desktop only (Facilitator is a server binary, deployed separately to Lightsail) - GHA release: add
package-velopackmatrix job (win-x64 on windows-latest, linux-x64 on ubuntu-latest) that runsvpk packagainst the shared publish artifact and uploadsblight-velopack-<rid>artifacts - GHA release: add
build-androidjob (ubuntu-latest) that decodesANDROID_KEYSTORE_B64, installs the Android workload, and publishes both signed AAB and APK asblight-androidartifact - Fix Android build on a clean checkout: lift
GenerateScriptManifeststoInitialTargetson theClient.Androidproject so the Lua manifest files exist before AndroidAsset resolution (previouslyBeforeTargets="Build"ran too late and only succeeded locally because stale manifest files were left over from a prior build) - GHA release: add Phase 3 distribution jobs;
distribute-s3(OIDC role, no long-lived AWS keys),distribute-itch(butler push to all five itch.io channels),distribute-googleplay(curl-based Edits API upload + commit + verify, mirrorsship.ps1) - GHA release: add
deploy-facilitatorjob (SSH to Lightsail withLIGHTSAIL_SSH_KEYsecret, scp + systemd restart) andreleasejob (auto-tagv$VERSION, create GitHub Release, attach archives + Velopack installers + AAB/APK) - GHA release: add
dry_runworkflow input (default true) gating all distribute/deploy/release jobs so initial dispatches validate build + package without touching live channels - Reorder Create Game mode toggle so Quest comes before Horde, and default new games to Quest mode