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.