Two issues caused coverage and docs badges to show "unknown": 1. Coverage regex expected decimal (100.00%) but pytest-cov outputs 100% when coverage is exactly 100. Made decimal part optional. 2. doc_coverage.py passed pct="100%" to a template that already had %, producing (100%%). Removed the redundant % from the pct variable. Also relaxed the doc coverage regex to not require closing ). Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Gitea Runner Manager (GRM)
A lean command-line tool to automate the installation, configuration, and lifecycle management of Gitea Actions runners on Arch Linux, Ubuntu, and Debian hosts.
Each runner runs in an isolated rootless Docker environment under a dedicated system user, enabling multiple runners to operate in parallel on the same host without conflicts.
Pronunciation: GRM is short for Gitea Runner Manager, but say it like ГРЪМ (roughly "GRUM") — the Bulgarian word for thunder. An open-source project from Oblachno (облачно means cloudy in Bulgarian).
Quick Start
git clone https://git.oblachno.oblachno.fyi/oblachno-oss/grm.git
cd grm
make setup
cp .env.example .env # Edit with your Gitea URL and tokens
grm install 192.168.1.10 --user ubuntu --key ~/.ssh/id_ed25519 --name prod-runner
Tokens: You need two tokens from your Gitea instance — a registration token to register runners, and an admin API token for optional post-install verification. See Getting Started for detailed setup instructions.
Documentation
Full documentation lives on the GRM Wiki.
User Documentation
- Getting Started — Installation, quick start, token setup, first run
- Installation — Prerequisites, setup, multiple instances
- CLI Commands — All commands with arguments and options
- Troubleshooting — Common issues and solutions
- FAQ — Frequently asked questions
Technical Documentation
- Architecture — High-level design, component interactions
- Development Setup — Environment setup, dependencies, local testing
- CI/CD Workflow — How CI works, release process, branch protection
- Testing Strategy — Unit, integration, and Molecule tests
- Decision Log — Key technical decisions and rationale
- Contributing Guide — Coding standards, PR workflow, commit rules
License
GPL-3.0