From 1feca00e239a90dac9975fadd48803ace5792b4e Mon Sep 17 00:00:00 2001
From: Lorenzo Pagliai <lorenzo.pagliai@seco.com>
Date: Thu, 30 Mar 2023 12:34:28 +0200
Subject: [PATCH] [CUSTOM] Add management of custom project CI/CD integration

* Modify common.py script to hide integration comments on custom
projects
---
 .gitlab-ci.yml    | 30 ++++++++++++++++++++++++++++++
 scripts/common.py | 15 ++++++++-------
 2 files changed, 38 insertions(+), 7 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 9f8aa7e..1d906c9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -108,6 +108,14 @@ executable:
     PROJECT_GROUP: ${CI_PROJECT_ROOT_NAMESPACE}
     MANIFEST_PROJECT: ${PROJECT_GROUP}/seco-manifest
 
+.integrate-custom-1:
+  extends: .integrate
+  resource_group: integrate-custom-1
+  variables:
+    PROJECT_GROUP: ${CUSTOM_1_GROUP}
+    MANIFEST_PROJECT: ${PROJECT_GROUP}/manifest
+    MANIFEST_BRANCH: ${CUSTOM_1_BRANCH}
+
 # Jobs
 
 #integrate-ci-test:primary:
@@ -130,6 +138,10 @@ integrate-yocto:kirkstone:
   variables:
     MANIFEST_BRANCH: kirkstone
 
+integrate-yocto:custom-1:
+  extends: .integrate-yocto
+  variables:
+    MANIFEST_BRANCH: ${CUSTOM_1_BRANCH}
 
 # --------------------------------------------------------------------------------------
 # Stage: build
@@ -157,6 +169,12 @@ integrate-yocto:kirkstone:
     branch: "integrate/${CI_PROJECT_NAME}/${CI_COMMIT_REF_NAME}/into/${MANIFEST_BRANCH}"
     strategy: depend
 
+.build-custom-1:
+  extends: .build
+  trigger:
+    project: ${CUSTOM_1_GROUP}/manifest
+    branch: "integrate/${CI_PROJECT_NAME}/${CI_COMMIT_REF_NAME}/into/${CUSTOM_1_BRANCH}"
+    strategy: depend
 # Jobs
 
 #build-ci-test:primary:
@@ -183,6 +201,11 @@ build-yocto:kirkstone:
   variables:
     MANIFEST_BRANCH: kirkstone
 
+build-yocto:custom-1:
+  extends: .build-custom-1
+  needs: ["integrate-yocto:custom-1"]
+  variables:
+    MANIFEST_BRANCH: ${CUSTOM_1_BRANCH}
 
 # --------------------------------------------------------------------------------------
 # Stage: merge
@@ -209,3 +232,10 @@ merge-yocto:
     - .merge
   variables:
     MANIFEST_BRANCH: kirkstone
+
+merge-custom-1:
+  extends:
+    - .integrate-custom-1
+    - .merge
+  variables:
+    MANIFEST_BRANCH: ${CUSTOM_1_BRANCH}
\ No newline at end of file
diff --git a/scripts/common.py b/scripts/common.py
index e6e4f65..ff00747 100755
--- a/scripts/common.py
+++ b/scripts/common.py
@@ -130,13 +130,14 @@ def rebase_merge_request(project, merge_request):
 
 def crosslink_merge_requests(source_mr: MergeRequest, integration_mr: MergeRequest):
     """Insert cross-links in merge requests"""
-    integration_mr.notes.create(
-        {"body": "Source merge request: %s" % source_mr.web_url}
-    )
-    source_mr.notes.create(
-        {"body": "Integration merge request: %s" % integration_mr.web_url}
-    )
-
+    if "custom" not in source_mr.web_url:
+        integration_mr.notes.create(
+             {"body": "Source merge request: %s" % source_mr.web_url}
+        )
+    if "custom" not in integration_mr.web_url:
+        source_mr.notes.create(
+            {"body": "Integration merge request: %s" % integration_mr.web_url}
+        )
 
 def wait_until_merge_status_is_set(project: Project, mr: MergeRequest):
     """Periodically query MR until GitLab has checked its merge status"""
-- 
GitLab