Submit a PR
- Fork this repository
- Make changes and push to fork
- Make sure that tests, linting, etc. pass by running
chicknlocally - New code shall have type hints
- Update documentation if needed
- PR cannot be merged if any check in
chicknfails
- Make sure that tests, linting, etc. pass by running
- Open a new PR
- If you are fixing a bug, please reference it with “Fixes #xxx” (alternatively “Relates to #xxx”) in commit message or pull request message to connect them
- Prefix the commit message with a topic, see topics
- Await review comments
- Fix potential comments
- Wait for PR to be merged
Topics
To make it easier to see where a commit makes changes, add a prefix topic to the commit message. Here are a few topics that are used (suggest new if necessary):
| Topic | What/where you have changed |
|---|---|
| airplay | Something related to AirPlay, likely in airplay. |
| companion | Something related to Companion, likely in companion. |
| cq | Code Quality, e.g, clean ups, added documentation, refactoring. |
| docs | Documentation in docs. |
| gha | GitHub Actions (.github/workflows). |
| dmap | Something related to DMAP, likely in dmap. |
| if | Interface related changes (e.g. interface.py). |
| mrp | Something related to MRP, likely in mrp. |
| raop | Something related to RAOP, likely in raop. |
| scan | Scanning related code, likely support/scan.py. |
Try so split changes over multiple commits if possible, to keep them small (e.g. one for adding interface, one for implementing MRP, one for DMAP and one for documentation).
Some examples of first lines in commit messages:
cq: Add typing hints to public interface
if: Add interface for device information
raop: Send feedback if supported by receiver
test: Migrate from asynctest to pytest-asyncio
Known Issues
There are currently two known issues with GitHub Actions:
- pytest sometimes fails with an “internal error”. Reason is still unknown, restart jobs until it succeeds.
- pip sometimes fails due to files being broken (bad CRC or BadGzipFile), not sure how to fix that