Hi! We're really excited that you are interested in contributing to Raspberry API. Before submitting your contribution, please make sure to take a moment and read through the following guidelines:
-
Checkout a topic branch from the relevant branch, e.g.
main
, and merge back against that branchdevelop
first thenmain
after testing on a real device (more information about the here below). -
If adding a new feature:
- Provide a convincing reason to add this feature. Ideally, you should open a suggestion issue first and have it approved before working on it.
-
If fixing bug:
- Provide a detailed description of the bug in the PR. Live demo preferred.
-
It's OK to have multiple small commits as you work on the PR - GitHub can automatically squash them before merging.
You will need Golang installed on your local machine as well as a Raspberry Pi to test your code on a real device.
There are 3 types of branches:
- one main branch (long-lived)
- one develop branch (long-lived)
- multiple feature/fix/etc. branches
To implement new functionality, a dedicated branch prefixed with "ft/" is established. Development efforts are focused on this branch, upon completion, it is merged with the "develop" branch via a pull request. The "develop" release is then thoroughly tested in a live environment to evaluate code quality and identify any issues. Once deemed stable, the "develop" release is subsequently merged with the "main" branch.
To resolve bugs, a "fix/" branch is established and the necessary fixes are implemented. The updated code is then pushed to the "develop" branch and tested on a real device. Upon successful testing, the changes are merged into the "main" branch.
Create a hotfix/* branch, fix the bug and push directly to main.