Skip to content

systems release tooling

factory-droid[bot] edited this page Jul 5, 2026 · 1 revision

Release tooling

Active contributors: Douwe de Vries, vriesd

Purpose

Release tooling builds desktop artifacts, validates package metadata, and publishes GitHub releases and Linux repository assets. It is script-heavy and CI-driven.

Key source files

File Purpose
.github/workflows/ci.yml CI verification workflow.
.github/workflows/release.yml Release packaging and publishing workflow.
scripts/package-tauri-linux.mjs Linux Tauri packaging orchestration.
scripts/package-rust-macos.mjs macOS Rust/Tauri packaging helper.
scripts/build_apt_repository.py Builds APT repository metadata.
scripts/validate_linux_package_metadata.py Validates .deb and .rpm metadata.
scripts/check-release-metadata.mjs Release metadata guard.
docs/releasing.md Human release procedure.

Integration points

Release tooling uses the same build commands listed in Getting started, and it depends on package metadata in package.json, frontend/package.json, and Tauri config files under src-tauri.

Entry points for modification

Start with .github/workflows/release.yml for pipeline changes. Use scripts/check-release-metadata.mjs, scripts/validate_linux_package_metadata.py, and tests under tests when changing package metadata rules.

Clone this wiki locally