From 05d6a8db19b1bf54303900a80e4d820fc789d7f6 Mon Sep 17 00:00:00 2001
From: Dmitry Petrov <dmitry.petrov@rtsoft.de>
Date: Tue, 7 May 2024 16:37:33 +0200
Subject: [PATCH] fullbuildpipeline.py: fix timeout

The problem was found in pipeline:
https://git.seco.com/seco-ne/yocto/manifest/-/jobs/954246

Fix missing update of upstream pipeline status inside while loop.

The timeout in the script was not in sync with the default timeout for build jobs.
Set timeout in __get_build_pipelines() function to 8 hours.
---
 manifest-integration-jobs.yml | 2 +-
 scripts/fullbuildpipeline.py  | 5 +++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/manifest-integration-jobs.yml b/manifest-integration-jobs.yml
index 72c94b95..84948db7 100644
--- a/manifest-integration-jobs.yml
+++ b/manifest-integration-jobs.yml
@@ -64,7 +64,7 @@ build:
 report-image-diff:
   extends: .infrastructure
   stage: manifest-integration-jobs
-  timeout: 1h
+  timeout: 8h
   needs: ["build"]
   rules:
     # Do not run build if the "skip build" label is set on the merge request
diff --git a/scripts/fullbuildpipeline.py b/scripts/fullbuildpipeline.py
index b82d7501..e7d47bcb 100755
--- a/scripts/fullbuildpipeline.py
+++ b/scripts/fullbuildpipeline.py
@@ -61,8 +61,8 @@ class FullBuildPipeline:
             the value is a tuple of downstream jobs.
         """
 
-        timeout = 3000  # 50 min
-        check_interval = 30
+        timeout = 28800  # 8 hours
+        check_interval = 60
 
         not_rdy_status = ["created", "pending", "running"]
         if self.upstream_pipeline.status in not_rdy_status:
@@ -77,6 +77,7 @@ class FullBuildPipeline:
             timeout -= check_interval
             if timeout < 0:
                 sys.exit("timeout")
+            self.upstream_pipeline = self.__get_upstream_pipeline()
 
         ret = {}
         for bridge in self.upstream_pipeline.bridges.list():
-- 
GitLab