- Add CONTRIBUTING.md with branch naming, commit format, and PR workflow - Add TROUBLESHOOTING.md with common issues and solutions - Update README.md with CI badge and commit convention section - Update pyproject.toml with pythonpath and coverage settings for scripts
1.6 KiB
1.6 KiB
Contributing to GRM
Thank you for contributing to Gitea Runner Manager (GRM)!
Branch Naming
All feature branches must include a GRM-N prefix corresponding to the Vikunja task identifier. Examples:
GRM-19GRM-19-fix-bugGRM-42-add-update-command
The GRM-N prefix is mandatory — CI extracts it for merge messages and Vikunja updates.
Commit Format
Use conventional commits on feature branches:
feat: add new command
fix: resolve timeout issue
chore: update dependencies
docs: improve README
Allowed types: feat, fix, chore, docs, style, refactor, perf, test, ci, build, revert, BREAKING CHANGE.
Do NOT include the GRM-N: prefix in commit messages on feature branches — it is added automatically during squash merge.
PR Workflow
- Create a branch
GRM-NorGRM-N-brief-descriptionfrommaster - Make changes, committing with conventional format
- Push and open a PR against
master - CI runs lint, unit tests, and molecule tests
- When all checks pass, add the
ready-to-mergelabel - The auto-merge workflow squash-merges with message
GRM-N: <PR title> - The post-merge workflow updates the Vikunja task
Local Testing
make test-all # Runs pytest-cov + molecule
make lint-all # Runs ruff, pyright, ansible-lint, checkmake
make pytest-cov # Unit tests with 100% coverage enforcement
make molecule # All 7 molecule scenarios
Code Quality
- ruff: Line length 120
- pyright: Strict mode
- Test coverage: 100% required
- ansible-lint: For all Ansible content