3.2 KiB
Stable and experimental channels
One source branch (main), two release channels:
| Channel | Tag example | GitHub release | Installer |
|---|---|---|---|
| Stable | v0.1.0 |
Normal release, marked Latest | ./get.sh --channel stable |
| Experimental | v0.1.0-experimental.1 |
Prerelease, never Latest | ./get.sh --channel experimental |
Stable resolves GitHub's latest non-prerelease. Experimental resolves the newest
published experimental prerelease by publication time. There are no mutable
channel tags and no automatic updates; users select a channel when installing.
The public installer downloads release assets over HTTPS without requiring GitHub
CLI or a login. The repository must be public before publishing that install URL.
During private development, GH_TOKEN can authenticate the downloader.
Build action
.github/workflows/release.yml uses GitHub's native ubuntu-22.04-arm runner,
checks formatting/tests/Clippy, builds the daemon/helper and tray with glibc, then
packages the application, input helpers, capture tool, local engine, setup scripts,
units, assets, third-party licenses and corresponding helper sources.
OpenVR headers are pinned to SDK v2.15.6. Runtime builds use ydotool v1.0.4,
whisper.cpp v1.9.4 and a minimal FFmpeg n8.0.3 build with Pulse input. The Frame supplies the SteamVR runtime;
it is not included. Development notes, project tests and build directories are excluded from the
binary bundle. Helper sources accompany their separately licensed binaries.
Ordinary branch pushes do not run CI or consume build minutes. Release tags run
the checks and build before publishing.
Run ARM64 distribution manually in Actions to build a downloadable artifact
without publishing. Its version input defaults to v0.1.0-experimental.1.
Pushing a valid version tag builds and publishes the corresponding channel:
# Update both Cargo.toml versions and lockfiles to match the tag's base version.
git tag -a v0.1.0-experimental.1 -m 'Experimental 0.1.0, build 1'
git push origin v0.1.0-experimental.1
After testing the candidate on Frame, tag a qualified commit as stable:
git tag -a v0.1.0 -m 'Stable 0.1.0'
git push origin v0.1.0
Pushing main does not build or publish anything. Release CI verifies compilation and host
tests; microphone, controller, SteamVR overlay and text delivery behavior still
need on-device qualification before stable promotion. Runners must be enabled
and the repository must have access to the required GitHub Actions runner.
Artifacts
Frame Voice's code is MIT licensed. Separately bundled ydotool, Whisper and FFmpeg retain their upstream licenses; the archive includes their license text and corresponding sources.
frame-voice-vVERSION-aarch64-unknown-linux-gnu.tar.gzSHA256SUMS
Inside the archive, FILES-SHA256SUMS covers installed files and release.json
records version, channel, architecture and source commit. The installer retains
release metadata and includes it in rollback snapshots. The project source is
available through Git/GitHub's source archives.
References: GitHub ARM64 runners, release/prerelease behavior.