Skip to content

Latest commit

 

History

History
65 lines (43 loc) · 1.49 KB

File metadata and controls

65 lines (43 loc) · 1.49 KB

Contributing to ReleaseBoard

Thank you for your interest in contributing to ReleaseBoard! This guide covers everything you need to get started.

Development Setup

Clone the repository and install in development mode:

git clone https://github.com/polprog-tech/ReleaseBoard.git
cd ReleaseBoard
pip3 install -e ".[dev]"

Verify the installation:

releaseboard version

Pre-commit hook

cp scripts/pre-commit .git/hooks/pre-commit && chmod +x .git/hooks/pre-commit

Running Tests

pytest                                              # all tests
pytest -v                                           # verbose
pytest tests/test_config.py                         # specific file
pytest tests/test_config.py::TestBranchPatternOverrides   # specific class
pytest --cov=releaseboard --cov-report=term-missing # with coverage

Tests follow the GIVEN/WHEN/THEN docstring pattern (see existing tests for examples).

Code Quality

ruff check src/ tests/
ruff format src/ tests/

How to Contribute

Reporting Bugs

Include: expected vs actual behavior, releaseboard.json (redacted), Python/OS version, steps to reproduce.

Pull Requests

  1. Branch from main
  2. Make changes + add tests
  3. Run pytest and ruff check src/ tests/
  4. Open PR with clear description

Commit Convention

Conventional Commits: feat:, fix:, docs:, test:, refactor:, chore:

License

See LICENSE.