From d71d26d901be436dd7248877d414a47e551152b6 Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Mon, 5 May 2025 17:14:27 +0530 Subject: [PATCH] ci: Stop assuming that MR CI runs in a user namespace This should un-break cerbero trigger pipelines. Part-of: --- ci/gitlab/trigger_cerbero_pipeline.py | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/ci/gitlab/trigger_cerbero_pipeline.py b/ci/gitlab/trigger_cerbero_pipeline.py index caef3e2e7e..cbe6e1b929 100755 --- a/ci/gitlab/trigger_cerbero_pipeline.py +++ b/ci/gitlab/trigger_cerbero_pipeline.py @@ -48,16 +48,23 @@ if __name__ == "__main__": return None cerbero = None - # We do not want to run on (often out of date) user upstream branch - if os.environ["CI_COMMIT_REF_NAME"] != os.environ['GST_UPSTREAM_BRANCH']: - try: - cerbero_name = f'{os.environ["CI_PROJECT_NAMESPACE"]}/cerbero' - cerbero_branch = os.environ["CI_COMMIT_REF_NAME"] - cerbero = get_matching_user_project(cerbero_name, cerbero_branch) - except gitlab.exceptions.GitlabGetError: - pass + # Only look for user namespace cerbero branch when running in a merge request + if "CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" in os.environ: + print("GStreamer monorepo merge request") + cerbero_branch = os.environ["CI_MERGE_REQUEST_SOURCE_BRANCH_NAME"] + user_project_path = os.environ["CI_MERGE_REQUEST_SOURCE_PROJECT_PATH"] + user_ns = os.path.dirname(user_project_path) + cerbero_name = f'{user_ns}/cerbero' + # We do not want to run on (often out of date) user upstream branch + if os.environ["CI_MERGE_REQUEST_SOURCE_BRANCH_NAME"] != os.environ["GST_UPSTREAM_BRANCH"]: + try: + cerbero = get_matching_user_project(cerbero_name, cerbero_branch) + except gitlab.exceptions.GitlabGetError as e: + print("No matching user project found: " + str(e)) + pass if cerbero is None: + print("Using gstreamer org namespace") cerbero_name = CERBERO_PROJECT cerbero_branch = os.environ["GST_UPSTREAM_BRANCH"] cerbero = gl.projects.get(cerbero_name)