diff --git a/docs/get-involved/how-to-contribute/contribute.md b/docs/get-involved/how-to-contribute/contribute.md index a448e8c5d775e4283e9cc4378a339b035ca42575..b552979ed5aac7c5a627c48e6b86ffcdea4859ec 100644 --- a/docs/get-involved/how-to-contribute/contribute.md +++ b/docs/get-involved/how-to-contribute/contribute.md @@ -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} diff --git a/docs/get-involved/how-to-contribute/merge-request.md b/docs/get-involved/how-to-contribute/merge-request.md index cd011462ce52baa07de4b779abeca0d4649d8fff..8eca905ef59c4619304bd97eaa3c4cecf6259e1a 100644 --- a/docs/get-involved/how-to-contribute/merge-request.md +++ b/docs/get-involved/how-to-contribute/merge-request.md @@ -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.