Add CI with checks and automated release builds

Gitea Actions workflow (.gitea/workflows/ci.yml):

- check job: ruff format --check, ruff check, ty check on pushes to main
- release job on v* tags: build a standalone Linux executable with
  PyInstaller (--onefile), smoke-test it, create a Gitea release via
  the API and upload the binary as an asset

Also add a pyinstaller build dependency group and bump to 0.3.0.
This commit is contained in:
2026-08-25 20:07:58 +02:00
parent 98eb6ab542
commit 2e51e9c41f
4 changed files with 94 additions and 1 deletions
+15
View File
@@ -82,6 +82,21 @@ uv run ruff check src # lint
uv run ty check # type check
```
## CI / releases
Gitea Actions (`.gitea/workflows/ci.yml`) runs two jobs:
- **check** — format, lint, and type check on every push to `main`
- **release** — on `v*` tags: builds a standalone Linux executable with
PyInstaller, smoke-tests it, creates a Gitea release, and uploads the
binary as an asset
Cut a release with:
```bash
git tag vX.Y.Z && git push origin vX.Y.Z
```
## Dependencies
- **launchpadlib** — Launchpad REST API client