From b2b1e75ec64b4fd890f679f649ed0cddbddd2f7d Mon Sep 17 00:00:00 2001 From: thePR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> Date: Sat, 14 Mar 2026 16:23:52 -0400 Subject: [PATCH] docs: establish formal release process and pre-flight checks --- RELEASE.md | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 RELEASE.md diff --git a/RELEASE.md b/RELEASE.md new file mode 100644 index 0000000..d038b00 --- /dev/null +++ b/RELEASE.md @@ -0,0 +1,65 @@ +# VoxVera Release Process + +This document outlines the mandatory steps to perform before every release to ensure code quality, cross-language integrity, and professional distribution assets. + +## 1. Pre-Flight Checks (Quality Assurance) + +Before any release, the codebase must pass all internal quality checks. + +### Run Tests +Ensure all core CLI, E2E, and Integrity tests pass: +```bash +pytest tests/ +``` +*Note: The `test_integrity.py` check is critical as it verifies that all 14+ language locales have synchronized keys.* + +### Run Linting +Ensure the code adheres to style guidelines (no trailing whitespace, proper spacing, etc.): +```bash +# Using flake8 (excluding vendored dependencies) +flake8 voxvera/ --exclude=voxvera/vendor/ +``` + +## 2. Generate Localized Assets + +Documentation and site templates must be regenerated to reflect the latest locale strings and binary names. + +```bash +# Regenerate docs/ folders for all languages +python3 -m voxvera.cli build-docs + +# Synchronize site/ directory (QRs, HTML, and portable Zips) +python3 -m voxvera.cli build-site +``` + +## 3. Build Distribution Binaries + +Standardized binaries and AppImages must be generated for the current platform. + +### Standard Binary +Generates an architecture-specific binary (e.g., `voxvera-linux-x86_64`) in `voxvera/resources/bin/`. +```bash +./scripts/build_binaries.sh +``` + +### AppImage (Linux) +Wraps the standard binary into a self-contained AppImage. +```bash +./packaging/build_appimage.sh +``` + +## 4. Release Execution + +1. **Version Bump:** Update `__version__` in `voxvera/__init__.py` and `version` in `pyproject.toml`. +2. **Commit & Tag:** + ```bash + git add . + git commit -m "chore: release vX.Y.Z" + git tag -a vX.Y.Z -m "VoxVera vX.Y.Z" + git push origin main --tags + ``` +3. **GitHub Release:** + Create a release and upload the assets from `voxvera/resources/bin/` and `site/download/`. + ```bash + gh release create vX.Y.Z voxvera/resources/bin/* site/download/*.zip --title "VoxVera vX.Y.Z" --notes "Release notes here..." + ```