Skip to content

deployment

Douwe de Vries edited this page Jul 1, 2026 · 1 revision

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.

Local builds

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.

CI

.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.

Release flow

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
Loading

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.

Key source files

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.

Clone this wiki locally