summaryrefslogtreecommitdiffhomepage
path: root/CONTRIBUTING.md
blob: a2f42c59603d157d2130f730590fdbef3eae4d7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# How to Contribute #

## Tools required ##
- Python 3.7.x or 3.8.x (3.8.x is highly recommanded and 3.9 is proscribed).
- Pycharm or Visual Studio code IDE.
- Git.
- UI testing must be done using Chrome latest version.

## Branching ##
### Basic rules ###
- master branch contains only stable releases (which have been merged to master) and is intended for end-users.
- develop branch is the target for integration and is not intended for end-users.
- `feature` is a temporary feature branch based on develop.

### Conditions ###
- master is not merged back to develop.
- develop is not re-based on master.
- all feature branches branch from develop only.
- Bugfixes created specifically for a feature branch are done there (because they are specific, they're not cherry-picked to develop).
- We will not release a patch (0.0.x) if a newer minor (0.x.0) has already been released.


## Typical contribution workflow ##
### Community devs ###
- Fork the repository or pull latest changes if you already have forked it.
- Checkout development branch.
- Make the desired changes.
- Submit a PR to Bazarr development branch.
- Once reviewed, your PR will be merged using Squash and Merge with a meaningful message.

### Official devs team ###
- All commits must have a meaningful commit message (ex.: Fixed issue with this, Improved process abc, Added input field to UI, etc.).
- Fixes can be made directly to development branch but keep in mind that a pre-release with a beta versioning will be created for every push you make.
- Features must be developed in dedicated feature branch and merged back to development branch using PR.
- Once reviewed, your PR will be merged using Squash and Merge with a meaningful message.