-
Notifications
You must be signed in to change notification settings - Fork 0
deployment
Load Rift ships as native Tauri desktop bundles and, on Linux, through direct assets plus an APT repository. Release automation lives in .github/workflows/release.yml.
| Command | Output |
|---|---|
npm run build |
Frontend assets in dist/
|
npm run tauri build |
Native app bundles under src-tauri/target/release/bundle/
|
src-tauri/tauri.conf.json runs npm run install:k6 && npm run build before desktop bundling, then includes bin/, LICENSE, THIRD_PARTY_LICENSES.md, and licenses/AGPL-3.0.txt as resources.
.github/workflows/ci.yml runs on pushes to main and pull requests. It installs Tauri Linux dependencies, Node.js 22, Rust 1.88.0, npm dependencies, and the bundled k6 binary. It then runs lint, typecheck, frontend tests, frontend build, Rust tests, and Rust check.
graph LR
Trigger[Tag or workflow dispatch] --> Verify[Verify on Ubuntu]
Verify --> Linux[Linux bundle]
Verify --> MacIntel[macOS Intel DMG]
Verify --> MacArm[macOS Apple Silicon DMG]
Linux --> Apt[Signed APT repository]
Apt --> Pages[GitHub Pages]
Linux --> Release[GitHub release assets]
MacIntel --> Release
MacArm --> Release
macOS jobs validate signing/notarization secrets, import the Developer ID certificate, write the App Store Connect key, sign the bundled k6 binary, and publish through the Tauri action. The Linux job builds a signed APT repository with scripts/build_apt_repository.py, validates setup assets, uploads release assets, and deploys APT metadata to GitHub Pages.
| File | Purpose |
|---|---|
package.json |
Local build/test scripts |
src-tauri/tauri.conf.json |
Tauri bundle and resource configuration |
.github/workflows/ci.yml |
CI validation |
.github/workflows/release.yml |
Release publishing |
scripts/build_apt_repository.py |
APT repository generation |
scripts/install-apt-repo.sh |
End-user APT setup installer |
For release tooling internals, see Packaging and release.