The source code of **UNICADO** is grouped into different repositories.
The source code of **UNICADO** is grouped into different repositories.
You can get an overview of which repository contains which topic [here](../documentation/overview.md).
You can get an overview of which repository contains which topic [here](../documentation/overview.md).
...
@@ -19,10 +19,11 @@ If you are not familiar with *Git Submodules*, please read their Documentation !
...
@@ -19,10 +19,11 @@ If you are not familiar with *Git Submodules*, please read their Documentation !
The repository [Unicado Package](https://git.rwth-aachen.de/unicado/unicado-package) contains all necessary source code as submodules to get started compiling **UNICADO** and its installer. It is used to create UNICADO releases and provides a good starting point for development. UNICADO project is hosted on GitLab platform. So you need to have a GitLab account if you want to fork the repsitory and start contributing to it.
The repository [Unicado Package](https://git.rwth-aachen.de/unicado/unicado-package) contains all necessary source code as submodules to get started compiling **UNICADO** and its installer. It is used to create UNICADO releases and provides a good starting point for development. UNICADO project is hosted on GitLab platform. So you need to have a GitLab account if you want to fork the repsitory and start contributing to it.
**Step 1: Create a GitLab Account**
**Step 1: Create a GitLab Account**
1. Open your browser and navigate to [GitLab](https://gitlab.com/).
2. Click on the **"Register"** button and fill in the required fields. Optionally, sign up using **Google** or **GitHub** credentials.
- Open your browser and navigate to [GitLab](https://gitlab.com/).
3. Check your email for a confirmation link, and click on it to verify your account.
- Click on the **"Register"** button and fill in the required fields. Optionally, sign up using **Google** or **GitHub** credentials.
4. Once verified, log in to your GitLab account.
- Check your email for a confirmation link, and click on it to verify your account.
- Once verified, log in to your GitLab account.
**Step 2: Locate the Repository You Want to Fork**
**Step 2: Locate the Repository You Want to Fork**
...
@@ -31,40 +32,45 @@ The repository [Unicado Package](https://git.rwth-aachen.de/unicado/unicado-pack
...
@@ -31,40 +32,45 @@ The repository [Unicado Package](https://git.rwth-aachen.de/unicado/unicado-pack
**Step 3: Fork the Repository**
**Step 3: Fork the Repository**
1.**Click "Fork":** Find the **"Fork"** button at the top-left of the repository page.
-**Click "Fork":** Find the **"Fork"** button at the top-left of the repository page.
2.**Select Namespace:** Choose your **Personal** or **Group** namespace.
-**Select Namespace:** Choose your **Personal** or **Group** namespace.
3.**Confirm Fork:** Click **Fork project** to create your copy.
-**Confirm Fork:** Click **Fork project** to create your copy.
4.**Wait for Completion:** The process will take a few moments, after which you’ll be redirected to your forked repository.
-**Wait for Completion:** The process will take a few moments, after which you’ll be redirected to your forked repository.
Fork method is used for contributing to a GitLab project when you are not a member of the project with write access. Allows you to freely make changes to your fork and propose changes to the original repository through a merge request (MR).
Fork method is used for contributing to a GitLab project when you are not a member of the project with write access. Allows you to freely make changes to your fork and propose changes to the original repository through a merge request (MR).
Forking Creates a personal copy of a repo on the server, the general format of forked repository is https://gitlab.com/your-username/repo.git. Now if you want to work on the repository locally using an IDE ( for eg. VSC), you need to clone the forked version of Unicado Package Repository to your locall machine. Cloning will create a local copy of Forked repository.
Forking Creates a personal copy of a repo on the server, the general format of forked repository is https://gitlab.com/your-username/repo.git. Now if you want to work on the repository locally using an IDE ( for eg. VSC), you need to clone the forked version of Unicado Package Repository to your locall machine. Cloning will create a local copy of Forked repository.
**Step 4: Clone Your Forked Repository**
**Step 4: Clone Your Forked Repository**
1.**Navigate to Your Fork:** Navigate to your forked repository in the GitLab dashboard under Projects.
-**Navigate to Your Fork:** Navigate to your forked repository in the GitLab dashboard under Projects.
2.**Copy the Clone URL:** Click the Clone button and choose HTTPS or SSH.
-**Copy the Clone URL:** Click the Clone button and choose HTTPS or SSH.
Should the default branch not yet contain the submodules or you want to update the submodules afterwards, you can do that with:
Should the default branch not yet contain the submodules or you want to update the submodules afterwards, you can do that with:
```{.cmd .copy}
```{.cmd .copy}
git submodule update --init --recursive
git submodule update --init --recursive
```
```
>⚠️You can push to a forked repository without configuring SSH by using HTTPS for authentication instead of SSH. However, SSH is often preferred for its security and ease of use once set up. 🎥**Follow [SSH Configuration](../assets/videos/SSH_Configuration.mp4) tutorial video if you wan to set up SSH**.
>⚠️You can push to a forked repository without configuring SSH by using HTTPS for authentication instead of SSH. However, SSH is often preferred for its security and ease of use once set up. 🎥**Follow [SSH Configuration](../assets/videos/SSH_Configuration.mp4) tutorial video if you want to set up SSH**.
>⚠️Only proceed when all submodules could be checked out successfully. Otherwise the builds will not work!
>⚠️Only proceed when all submodules could be checked out successfully. Otherwise the builds will not work!
@@ -93,14 +93,14 @@ To propose your changes to the original UNICADO repository:
...
@@ -93,14 +93,14 @@ To propose your changes to the original UNICADO repository:
2. Click Create Merge Request.
2. Click Create Merge Request.
3. Set your forked repository's <new-branch-name> as the source branch and `main` in the original repository as the target branch.
3. Set your forked repository's <new-branch-name> as the source branch and `main` in the original repository as the target branch.
4. Fill out the MR details:
4. Fill out the MR details:
- Provide a clear title and description of your changes.
- Provide a clear title and description of your changes.
- Use available MR templates for consistency.( You can choose one available from the available templates. These templates are saved in merge_request_templates folder inside .gitlab)
- Use the available MR templates for consistency. Select a suitable one from the dropdown menu. These templates are saved in merge_request_templates folder inside .gitlab
5. Add reviewers who will assess your changes (e.g., project maintainers).
5. Add reviewers who will assess your changes (e.g., project maintainers):
-Reviewers will leave comments or request changes.
-Reviewers will leave comments or request changes.
-Make the necessary updates locally, commit them, and push to the same branch. In case you need to commit adaptions, check the [Guidelines for a Good Commit Message](#guidelines-for-a-good-commit-message) again!
-Make the necessary updates locally, commit them, and push to the same branch. In case you need to commit adaptions, check the [Guidelines for a Good Commit Message](#guidelines-for-a-good-commit-message) again!
6. After pushing your branch, the Continuous Integration (CI) pipeline will run automatically for the MR. CI checks ensure that your code meets the project’s quality standards and passes all tests.
6. After pushing your branch, the Continuous Integration (CI) pipeline will run automatically for the MR. CI checks ensure that your code meets the project’s quality standards and passes all tests.
- Monitor Pipeline Status: Once your MR is created, GitLab will display the pipeline status in the MR. Look for ✅ (success) or ❌ (failure).
- Monitor Pipeline Status: Once your MR is created, GitLab will display the pipeline status in the MR. Look for ✅ (success) or ❌ (failure).
- Fixing CI Failures: Open the pipeline logs to identify the issue. Fix the problem in your local branch. Commit and push the updates:
- Fixing CI Failures: Open the pipeline logs to identify the issue. Fix the problem in your local branch. Commit and push the updates:
> As a reviewer, don't close the merge request. It will be closed automatically, when the merge is completed.
> As a reviewer, don't close the merge request. It will be closed automatically, when the merge is completed.