This document explains how you can contribute on RCM development.
You can contribute in may ways:
You can open a new issue here: https://github.com/RemoteConnectionManager/RCM/issues
Please, include:
- Your operating system name and version.
- Your RCM version or your local development environment.
- If you can, provide detailed steps to reproduce the bug.
- If you don't have steps to reproduce the bug, just note your observations in as much detail as you can. Questions to start a discussion about the issue are welcome.
Look through the GitHub issues for bugs.
Please do not combine multiple feature enhancements into a single pull request.
Add documentation on development processes, add docstring to the code or help us to write a user guide.
-
Install
git
andgit-flow
.# Ubuntu $ sudo apt update && sudo apt install git gitflow
# macOS ## Install homebrew if necessary (https://brew.sh/) $ brew install git git-flow
# Windows > winget install --id Git.Git -e --source winget ## Add <Git_opt>/usr/bin to path in order to use patch and git-flow > $env:Path = (Join-Path -Path (Split-Path -parent (Split-Path -parent (Get-Command git).source)) -ChildPath "usr/bin")+";"+$env:Path ## Make the $env:Path modification permanent > [System.Environment]::SetEnvironmentVariable('Path',$env:Path,[System.EnvironmentVariableTarget]::User)
-
Clone the repository (see How to contribute).
-
Based on your platform, install the proper version of Python, configure the Python virtual environment and download and extract external packages. You can check the steps from
RCM/.github/workflows/main.yaml
or use the installation scripts in theRCM/scripts/ci
folder.# Ubuntu setup # Install missing Python dependency libraries and Qt libraries $ sudo apt update $ sudo apt install libbz2-dev libncurses-dev libssl-dev $ sudo apt install qtbase5-dev qt5-qmake qtwayland5 $ RCM/scripts/ci/setup.sh
# macOS setup $ RCM/scripts/ci/setup.sh
# Windows setup > RCM\scripts\ci\setup.ps1
-
Fork
RCM
repo on GitHub (https://github.com/RemoteConnectionManager/RCM/fork). -
Clone your fork locally:
$ git clone [email protected]:<your_name_here>/RCM.git
-
Start using
git-flow
by initializing your git repository:$ cd ./RCM $ git flow init --defaults
-
Start a new feature based on your contribution:
$ git flow feature start <your_feature_name>
-
Publish your feature with command:
$ git flow feature publish <your_feature_name>
This is useful if you are developing a feature in collaboration 🤝, if you want to run GitHub workflow 🤖.
-
Contribute ❤️! You can commit your change with commands:
$ git commit -a -m "category: My amazing changes" $ git push
-
Submit a pull request through the GitHub website, and wait for the approval 🤞.
-
[Optional 🧹] Once your request has been accepted, you can delete your feature with the command:
$ git flow feature delete --remote --force <your_feature_name>
and/or delete your forked repository from GitHub website.
Before you submit a pull request, check that it meets these guidelines:
-
The pull request should be contained: if it's too big consider splitting it into smaller pull requests.
-
Update the
CHANGELOG.md
, by adding a description of your feature or bug fix. -
The pull request must pass all CI/CD jobs before being ready for review.