From bb000eb18b0d8e723f9a4dffc6795709e73dd992 Mon Sep 17 00:00:00 2001 From: Saumya Vishwakarma Date: Tue, 10 Jun 2025 16:56:01 +0530 Subject: [PATCH] Modified job.py to extract OCP Build version --- src/objects/job.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/objects/job.py b/src/objects/job.py index c3d2b31a..09dbe2a8 100644 --- a/src/objects/job.py +++ b/src/objects/job.py @@ -1,5 +1,7 @@ import json import os +import re +import requests from typing import Any from typing import Optional from xml.etree.ElementTree import ParseError @@ -136,6 +138,21 @@ def __init__( gcs_bucket=self.gcs_bucket, ) + def extract_ocp_build_version(log_url: str) -> str: + """ + Extracts OCP build version from the log content of a Prow job. + Looks for patterns like 4.19.0-0.nightly-2025-05-27-223016 + """ + try: + response = requests.get(log_url) + if response.status_code == 200: + match = re.search(r'(\d+\.\d+\.\d+-0\.nightly-\d+-\d+)', response.text) + if match: + return match.group(1) + except Exception as e: + print(f"Error fetching or parsing log URL: {e}") + return "unknown" + def _check_is_rehearsal( self, job_name: Optional[str],