Skip to content
Snippets Groups Projects
Commit 1c16e01d authored by Alfin Johny's avatar Alfin Johny
Browse files

edit contribute.md

parent ec6a1368
No related branches found
No related tags found
1 merge request!84Update how to contribute
Pipeline #1658278 waiting for manual action
......@@ -19,30 +19,30 @@ Awesome! :sunglasses: Please make sure to read our *style guides* first:
## How to actually contribute
This is how you can actually make a difference:
The flowchart below illustrates the Merge Request workflow, along with the commands used at each stage.
The flowchart below illustrates the Merge Request workflow.
<pre class="mermaid">
graph TB;
A(Clone 'Unicado Package' repository) -->| git clone --recurse-submodules 'repository-url' | B[Checkout submodule and create new branch];
B -->|"git submodule update --init --recursive <br> cd path-to-submodule <br> git fetch <br> git checkout main <br> git checkout -b new-branch"| C[Make Changes & Commit];
C -->|"git add . <br> git commit -m message"| E[Push to Remote Repository];
E -->|git push origin new-branch| G[Open Merge Request in GitLab];
G --> I[CI Pipeline Triggers Automated tests, linting etc...];
I <--> |CI Checks fail?|K{Review and CI checks Pass?};
G --> J[Code Review & Discussion];
K <-->|Approvals & Final Review| J;
K -- Yes ✅ --> M[Merge to main branch of the submodule];
M --> N(Clean Up After Merge: Deletes source barnch and close associated issues);
classDef wideBox width:250px, height:100px, font-size:12px, padding:10px;
class A,B,C,E,F,G,H,I,J,K,L,M,N wideBox;
A(Clone 'Unicado Package' repository) --> B[Update Submodules];
B --> C[Create new-branch];
C --> D[Make Changes & Commit];
D --> D1[Push to Remote Repository];
D1 --> E[Open Merge Request in GitLab];
E --> I[MR triggers the CI/CD pipeline];
I <--> |CI Checks fail?|K{Review&CI checks Pass?};
E --> J[Code Review & Discussion];
K <-->|Approvals & Final Review| J;
K -- Yes ✅ --> M[Merge the MR];
M --> N(Clean Up After Merge);
classDef wideBox stroke-width:3px, stroke:#FF0000, fill:#000000, color:#FFFFFF, font-size:20px, padding:15px, width:350px, height:100px;
class A,B,C,D,D1,E,I,J,K,M,N wideBox;
</pre>
<figure>
<figcaption>Merge request workflow</figcaption>
</figure>
You cloned the UNICADO Package successfully acc. to [Get Source Code](../build-instructions/get-source-code.md). Nice! You want to make a change, e.g. fixing a bug or creating a new feature, so you create a *issue* (see also [types of contribution](#contributions)). Then you :point_up: create a feature branch, change the code and create a merge request (here a [how to](merge-request.md)). An automatic CI/CD pipeline is triggered, which helps your selected reviewer to make sure that request is ok. If it is accepted and ready-to-land :airplane:, the documentation is automatically updated. Nicely done :+1:
## Types of contribution {#contributions}
......
......@@ -19,6 +19,7 @@ There are several ways to create a merge request within GitLab, which are explai
However, we will highlight the workflow, we prefer - but feel free to make your own choice.
## Preferred Merge Request Workflow for a Forked Repository
This is the first and preferred way to make a merge request, as it is similar to our previous UNICADO workflow.
Let's assume you have forked( if you are not a direct member of UNICADO project) and cloned the Unicado Package repoistory and updated all it's submodules following [Get Source Code](../build-instructions/get-source-code.md ). Open your preferred IDE (e.g., Visual Studio Code). Ensure that Git is integrated within your IDE. Most IDEs, such as VSCode, have built-in Git integration. Go to the sub module where you want to make the change. Create your own (local) branch, where you are developing a new feature / fixing bug / addong documentation.
For a more detailed explanation of the steps mentioned below, watch the [Merge Request Workflow](contributor-tutorial/videos/Merge_Request_Workflow.mp4) video.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment