From 4e7b4de921fc6f0767cda145c9c2c2a162550f7e Mon Sep 17 00:00:00 2001 From: Max Lin Date: Thu, 12 Sep 2024 16:19:34 +0800 Subject: [PATCH 1/2] ttm: support Leap 16.0 development structure --- ttm/manager.py | 8 ++++++++ ttm/releaser.py | 18 +++++++++++++++--- ttm/totest.py | 1 + 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/ttm/manager.py b/ttm/manager.py index 3c3649a2a..482ea8c1d 100644 --- a/ttm/manager.py +++ b/ttm/manager.py @@ -72,6 +72,14 @@ def iso_build_version(self, project, tree, repo=None, arch=None): return result.group(1) raise NotFoundException(f"can't find {project} iso version") + def productcompose_build_version(self, project, tree, repo=None, arch=None): + for binary in self.binaries_of_product(project, tree, repo=repo, arch=arch): + result = re.match( + r'.*-(?:Build|Snapshot)([0-9.]+)(.report)', binary) + if result: + return result.group(1) + raise NotFoundException(f"can't find {project} productcompose version") + def version_from_totest_project(self): if len(self.project.main_products): return self.iso_build_version(self.project.test_project, self.project.main_products[0]) diff --git a/ttm/releaser.py b/ttm/releaser.py index 0e48341ba..43265e4a1 100644 --- a/ttm/releaser.py +++ b/ttm/releaser.py @@ -76,6 +76,11 @@ def version_from_project(self): return self.release_version() if len(self.project.main_products): + # 000productcompose has ftp built only and the build number + # agama-installer carry over build number from 000prodcutcompose + # but they are not from the same package container + if 'productcompose' in self.project.main_products[0]: + return self.productcompose_build_version(self.project.name, self.project.main_products[0]) return self.iso_build_version(self.project.name, self.project.main_products[0]) return self.iso_build_version(self.project.name, self.project.image_products[0].package, @@ -286,8 +291,12 @@ def _release(self, set_release=None): self.release_package(self.project.name, product, repository=self.project.product_repo) for cd in self.project.main_products: - self.release_package(self.project.name, cd, set_release=set_release, - repository=self.project.product_repo) + # do not set release number if it is productcompose + if 'productcompose' in self.project.main_products[0]: + self.release_package(self.project.name, cd, repository=self.project.product_repo) + else: + self.release_package(self.project.name, cd, set_release=set_release, + repository=self.project.product_repo) for cd in self.project.livecd_products: self.release_package('%s:Live' % @@ -295,8 +304,11 @@ def _release(self, set_release=None): repository=self.project.livecd_repo) for image in self.project.image_products: + source_repo = self.project.product_repo + if self.project.same_target_images_repo_for_source_repo: + source_repo = self.project.totest_images_repo self.release_package(self.project.name, image.package, set_release=set_release, - repository=self.project.product_repo, + repository=source_repo, target_project=self.project.test_project, target_repository=self.project.totest_images_repo) diff --git a/ttm/totest.py b/ttm/totest.py index 4b4310b0f..3e4fc9556 100755 --- a/ttm/totest.py +++ b/ttm/totest.py @@ -31,6 +31,7 @@ def __init__(self, project, apiurl): self.set_snapshot_number = False self.snapshot_number_prefix = "Snapshot" self.take_source_from_product = False + self.same_target_images_repo_for_source_repo = False self.arch = 'x86_64' self.openqa_server = None From 0f8f0173ae1c80235ee367344c87d75b41dc2f68 Mon Sep 17 00:00:00 2001 From: Max Lin Date: Thu, 12 Sep 2024 17:45:00 +0800 Subject: [PATCH 2/2] gocd: enable Leap 16.0 TTM --- gocd/totestmanager.gocd.yaml | 21 +++++++++++++++++++++ gocd/totestmanager.gocd.yaml.erb | 1 + 2 files changed, 22 insertions(+) diff --git a/gocd/totestmanager.gocd.yaml b/gocd/totestmanager.gocd.yaml index bda3d7d78..fafb0d1ea 100644 --- a/gocd/totestmanager.gocd.yaml +++ b/gocd/totestmanager.gocd.yaml @@ -252,6 +252,27 @@ pipelines: - script: |- install -D /home/go/config/openqa-client.conf /home/go/.config/openqa/client.conf scripts/totest-manager.py -A https://api.opensuse.org --debug run openSUSE:Leap:15.6:ARM:Images + TTM.Leap_16.0: + group: openSUSE.Checkers + lock_behavior: unlockWhenFinished + environment_variables: + OSC_CONFIG: /home/go/config/oscrc-totest-manager + materials: + script: + git: https://github.com/openSUSE/openSUSE-release-tools.git + destination: scripts + timer: + spec: 0 */15 * ? * * + only_on_changes: false + stages: + - Run: + approval: manual + resources: + - staging-bot + tasks: + - script: |- + install -D /home/go/config/openqa-client.conf /home/go/.config/openqa/client.conf + scripts/totest-manager.py -A https://api.opensuse.org --debug run openSUSE:Leap:16.0 TTM.Leap_Micro_6.0: group: openSUSE.Checkers lock_behavior: unlockWhenFinished diff --git a/gocd/totestmanager.gocd.yaml.erb b/gocd/totestmanager.gocd.yaml.erb index a0fd3ab6b..7536a2164 100644 --- a/gocd/totestmanager.gocd.yaml.erb +++ b/gocd/totestmanager.gocd.yaml.erb @@ -13,6 +13,7 @@ pipelines: openSUSE:Leap:15.6:Images openSUSE:Leap:15.6:ARM openSUSE:Leap:15.6:ARM:Images + openSUSE:Leap:16.0 openSUSE:Leap:Micro:6.0 openSUSE:Leap:Micro:6.0:Images ) -%>