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 tags found
No related merge requests found
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.
Finish editing this message first!
Please register or to comment