From 39cfde215b767bf45af17443eb596e041e6b192f Mon Sep 17 00:00:00 2001 From: Juan Fumero Date: Mon, 24 Jun 2024 09:46:13 +0200 Subject: [PATCH] [docs] Contributions page updated --- CONTRIBUTING.md | 60 ++++++++++++++++++++++++++++--------------------- 1 file changed, 35 insertions(+), 25 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5f3562e16d..a3f65990ed 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -5,49 +5,59 @@ Please follow the instructions below for your Pull Requests (PRs). ## How to submit your changes -1. **Fork** the repository in GitHub -2. **Clone** the project -3. **Create a new branch from the `develop` branch** -4. **Commit your changes** -5. **Push** your work to your repository -6. Create a **Pull Request** to the `develop` branch. - -Please, ensure that your changes are merged with the latest changes in the `develop` branch, and the code follows the -code conventions (see below). - -Be aware we are a very small team. -Thus, depending on the PR, it might take some time for us to review it since we check on many OCL/SPIR-V/PTX platforms and different drivers. +1. **Fork** the repository in GitHub. +2. **Clone** the project. +3. **Create a new branch from the `develop` branch**: + ```bash + $ git checkout -b fix/my/branch + ``` +4. **Commit your changes**: + ```bash + $ git add + $ git commit -a -m "My new feature/fix" + ``` +5. **Push** your work to your repository: + ```bash + $ git push -u myRepo feat/my/branch + ``` +6. Create a **Pull Request** (PR) to the `develop` branch. +7. When you open PR, there are a few GitHub actions. One of them is the checker for the **Contributor License Agreement**, [CLA](https://cla-assistant.io/beehive-lab/TornadoVM), if you haven't signed before, you will be prompted with the link to sign the CLA. Use the same email as you commit email. + +Please, ensure that your changes are merged with the latest changes in the `develop` branch, and the code follows the code conventions (see below). + +### What's next? + +We check the PR and test it internally. Be aware we are a very small team. Thus, depending on the PR, it might take some time for us to review it since we check the PR with our regression tests and benchmarks for all backends (OCL/SPIR-V/PTX platforms) as well as with different drivers and Operating Systems. + +## Code of Conduct For the PR process as well as any issues and discussions we follow this [CODE_OF_CONDUCT](https://github.com/beehive-lab/TornadoVM/blob/master/CODE_OF_CONDUCT.md). -## What happens after you open the PR? +## How is the review process? -We have a few GitHub actions, such as code formatter, documentation rendering and checks for the CLA (Contributor License Agreement). -If you haven't signed the CLA yet, you will be redirected to the TornadoVM CLA webpage, where you can read and review it. +1. We have a few GitHub actions, such as code formatter, documentation rendering and checks for the CLA (Contributor License Agreement). +2. As mentioned earlier, if you haven't signed the CLA yet, you will be redirected to the TornadoVM CLA webpage, where you can read and review it. If you agree with the terms, then you will sign it. -After that, the TornadoVM team can process your PR to be able to merge it into the TornadoVM's codebase. - -At least two researchers/engineers from the TornadoVM team will review your PR. -Expect a few comments, questions and possible changes. +3. After that, the TornadoVM team can process your PR to be able to merge it into the TornadoVM's codebase. +4. At least two researchers/engineers from the TornadoVM team will review your PR. +**Expect a few comments, questions and possible changes.** This is a totally normal process, and it tries not to introduce untested code for specific devices, better documentation, etc. -Thus, we work together to improve TornadoVM. +We are proud to say that TornadoVM is 10+ years of active development, with many different researchers and developers. Thus, we prioritize code maintainability and reproducibility, and we will work together to guarantee this as much as possible. ## Coding Conventions -We use the auto-formatter for **Eclipse** and **IntelliJ**. -Please, ensure that your code follows the formatter rules before the pull request. -The auto-formatter is set automatically by running the following script: +We use the auto-formatter for **Eclipse** and **IntelliJ**. You can use any IDE you like, but keep in mind the whole TornadoVM team uses IntelliJ. Please, ensure that your code follows the formatter rules before the pull request. The auto-formatter is set automatically by running the following script: -#### Using Eclipse: +### Using Eclipse: ```bash ## For Eclipse, use the following script $ python3 scripts/eclipseSetup.py ``` -#### Using IntelliJ: +### Using IntelliJ: For IntelliJ, import the XML auto-formatter. Steps [here](https://tornadovm.readthedocs.io/en/latest/installation.html#ide-code-formatter). Additionally, be sure that IntelliJ uses a single class import: