Skip to content

background release and packaging history

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

Release and packaging history

Purpose

Release and packaging code grew because CSV Align publishes desktop artifacts and Linux repository metadata, not just a library crate. The release flow now validates app metadata before users see release assets.

Timeline

  • May 9 to May 10, 2026: Linux license metadata and Debian package validation became a major focus.
  • May 2026: scripts/build_rpm_package.py replaced default RPM output with project-owned packaging rules.
  • May 2026 onward: .github/workflows/release.yml reuses CI artifacts, verifies metadata, publishes GitHub Release assets, and builds the APT repository.

Why the scripts exist

src-tauri/tauri.conf.json defines app identity and package file mappings, but Tauri's generated Linux package output still needs project-specific metadata normalization and validation. scripts/normalize_linux_deb_desktop_id.py, scripts/validate_linux_deb_metadata.py, and scripts/build_rpm_package.py keep Debian, RPM, and AppStream metadata aligned with com.csvalign.desktop.

Key source files

File Purpose
.github/workflows/ci.yml Build and validate reusable Tauri artifacts.
.github/workflows/release.yml Publish release assets and APT repository.
scripts/validate_linux_deb_metadata.py Metadata gate for Debian and RPM assets.
tests/linux_package_metadata_integration.rs Regression tests for package metadata.
docs/releasing.md Maintainer release runbook.

See deployment for the active release flow.

Clone this wiki locally