CI And Release Automation
This page summarizes what runs automatically and what each workflow is responsible for.
CI workflow
- File:
.github/workflows/ci.yml - Trigger: pushes to
master - Purpose: validate code quality and correctness before release work
It runs:
- Backend checks (lint, type check, migrations, tests)
- Frontend checks (tests, build)
Release workflow
- File:
.github/workflows/release.yml - Trigger: pushed tags matching
v* - Purpose: build and publish release artifacts
It does:
- Enforce release preconditions (tag on
masterand successful CI for same commit) - Build desktop artifacts (macOS/Windows)
Practical release behavior
- Release waits for CI to finish successfully for the same commit before build/publish steps begin.
- Releases are published immediately as prereleases (not drafts).
- Release title/body are synchronized from
.github/release/metadata.jsonduring the workflow run. - Windows desktop is currently non-blocking in release workflow.
Detailed steps: Release Process
Next: Architecture