The build steps now declare 'runs-on: self-hosted' (default label
advertised by an act_runner registered with Docker mode). Previously
they used 'ubuntu-22.04' which would not match any default runner and
would leave every job in 'no runner available'.
ci.yml matrix extended to ['3.10','3.11','3.12','3.13'] for forward
coverage on Python 3.13 (current stable as of 2026).
docs/development.md 'CI/CD - Gitea Actions' section also corrected:
- the egress workaround now uses the actual Gitea 1.26 key
[actions].DEFAULT_ACTIONS_URL (not ENABLE_GITHUB_ACTIONS_MIRROR)
- the act_runner docker command uses --rm -it for the first run to
surface registration errors in the terminal before daemonization
- runner-scoping note clarifies global vs repo-scoped token URLs
Verified by ruff_exit=0 and pytest 66/66 still green locally.
- .gitea/workflows/ci.yml: ruff + matrix pytest on 3.10/3.11/3.12
on push and PR to main; concurrency cancels superseded runs
- .gitea/workflows/release.yml: gate (ruff + pytest) + build sdist/wheel
on tag 'v*', uploads via actions/upload-artifact@v4
- README.md: add ci and version badges right under H1
- src/viandante/cli.py: drop unused prompt_toolkit.patch_stdout import
- tests/test_deadsouls.py: add missing RoomBlock import (F821)
- tests/test_logger.py: drop unused local 'raw' in unicode test
- tests/test_mapper.py: rename unused locals to _a/_b/_c (F841) to
preserve intent (B has 's' back-edge; C is orphan)