-
Notifications
You must be signed in to change notification settings - Fork 0
systems packaging and release
Active contributors: Douwe de Vries
Packaging and release turn the local Tauri app into desktop bundles with bundled k6 and licensing notices. The main files are src-tauri/tauri.conf.json, .github/workflows/release.yml, and scripts under scripts/.
package.json
src-tauri/tauri.conf.json
src-tauri/Cargo.toml
src-tauri/bin/
scripts/install-k6.sh
scripts/build_apt_repository.py
scripts/install-apt-repo.sh
.github/workflows/ci.yml
.github/workflows/release.yml
| Abstraction | File | Description |
|---|---|---|
| npm scripts | package.json |
Build, lint, test, k6 install, and Tauri commands |
| Tauri bundle resources | src-tauri/tauri.conf.json |
k6 binaries and license files included in desktop bundles |
| k6 installer | scripts/install-k6.sh |
Downloads and verifies the bundled k6 binary |
| Release workflow | .github/workflows/release.yml |
Verifies, builds, signs, publishes, and deploys release assets |
| APT builder | scripts/build_apt_repository.py |
Generates signed APT repository metadata and setup package |
graph LR
Tag[v* tag or dispatch] --> Verify[Verify job]
Verify --> Matrix[Linux/macOS matrix]
Matrix --> Tauri[Tauri bundles]
Matrix --> MacSign[macOS signing]
Matrix --> Apt[APT repository]
Tauri --> Release[GitHub release]
Apt --> Pages[GitHub Pages]
CI in .github/workflows/ci.yml installs Tauri Linux dependencies, Node.js 22, Rust 1.88.0, npm dependencies, and the bundled k6 binary before linting, typechecking, testing, building, and running Rust checks.
The release workflow verifies first, then builds Linux and macOS bundles. macOS jobs validate signing secrets, import a Developer ID certificate, write App Store Connect credentials, sign the bundled k6 binary, and publish DMGs. The Linux path builds a signed APT repository and setup assets.
Runtime binary resolution is documented in k6 runtime. Dependency lists are documented in Dependencies.
Change bundle metadata or resources in src-tauri/tauri.conf.json. Change install behavior in scripts/install-k6.sh. Change release publishing in .github/workflows/release.yml.
| File | Purpose |
|---|---|
src-tauri/tauri.conf.json |
Tauri app, CSP, bundle, and resource settings |
.github/workflows/ci.yml |
Pull request and main branch validation |
.github/workflows/release.yml |
Tagged release publishing |
scripts/install-k6.sh |
k6 binary download and checksum verification |
scripts/build_apt_repository.py |
APT repository generation |