How to contribute?


Welcome to the onesait Platform Community

As an open-source project, onesait Platform is waiting for your contributions. You can contribute to the Community in various ways.

What fits you best?

  • I want to do some examples on the platform and I want these examples to be part of the platform.

  • I like to improve your documentation or event create new guides.

  • I have found some bugs. What should I do?

  • I have found a bug, I have the source code and I have resolved it.

  • I think you need more tests. I have the time and desire to help you.

  • I´d love to improve one of your modules/components.

  • I need a functionality not covered by the platform but I think I can do it as a module or extension in the platform.

  • I have a business case (or idea) and I think I can do it with the platform. Would you help me?


We are following the open-source standard for collaboration, so:

Feel free to contribute to our repository on GitHub

To contribute to project on GitHub, read below.

But if you think it's better to talk to us

To see how to approach the contribution, write to our mail contributions@onesaitplatform.com 

How to contribute in Github

To contribute to project on GitHub, use the GitHub flow. It means that you should branch from the main repository and contribute back by making Pull Requests. (That is a generally accepted process flow on GitHub).

To follow the instructions in this guide and start contributing to onesait Platform project on GitHub:

  1. Fork the main repository.

On https://github.com/onesaitplatform/onesait-cloud-platform select

  1. Clone your new repository.

To do this, run the following command.

git clone https://github.com/<your_github_name>/onesait-cloud-platform   # Replace <your_github_name> with your GitHub profile name.

cd onesait-cloud-platform

3. To synchronize with the main repository, add it to the remotes:

git remote add upstream https://github.com/onesaitplatform/onesait-cloud-platform.git 


Now your upstream points to onesaitplatform/onesait-cloud-tplatform.

Branches

The master branch represents the latest development version of onesait Platform.

Most changes should go there.

The release-x.x branches are used as stabilizing branches for maintenance releases. 

If you want to backport a bug fix, open your pull request (PR) against the appropriate release branch.

Merge requirements

Resolve any merge conflicts that may arise. If conflict occurs, a corresponding message will be displayed on the PR page on GitHub.

To resolve a conflict, run the following commands:


# checkout a branch you open PR from

git fetch upstream # assuming upstream is onesaitplatform/onesait-cloud-platform.

git merge upstream/merge_branch # Where merge_branch is a branch you open PR against. # resolve pull requests

git add *

git commit

git push

GitHub will automatically update your pull request.

Testing

All the pull requests will be automatically tested using Jenkins. If some tests fail, fix the issues or describe why the fix cannot be done.

Review

The assigned team members review every pull request as per standard GitHub procedure. Reviewers can comment on a PR, approve it, or request changes to it. A PR can be merged when it is approved by at least two assigned reviewers and has no pending requests for changes.

Gatekeepers

A gatekeeper is a person responsible for the final review and merge. They are also responsible for managing Git repositories. Only gatekeepers can write to master and release branches.