Hello community, here is the log from the commit of package openSUSE-release-tools for openSUSE:Factory checked in at 2019-12-10 22:42:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old) and /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.4691 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-release-tools" Tue Dec 10 22:42:19 2019 rev:261 rq:755411 version:20191210.05e7447a Changes: -------- --- /work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes 2019-12-09 21:36:11.822075147 +0100 +++ /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.4691/openSUSE-release-tools.changes 2019-12-10 22:42:39.293803959 +0100 @@ -1,0 +2,6 @@ +Tue Dec 10 01:44:00 UTC 2019 - opensuse-releaset...@opensuse.org + +- Update to version 20191210.05e7447a: + * Unify openqa checks over multiple ISOs + +------------------------------------------------------------------- Old: ---- openSUSE-release-tools-20191209.3bc7455e.obscpio New: ---- openSUSE-release-tools-20191210.05e7447a.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ openSUSE-release-tools.spec ++++++ --- /var/tmp/diff_new_pack.tCe6Hl/_old 2019-12-10 22:42:40.693803440 +0100 +++ /var/tmp/diff_new_pack.tCe6Hl/_new 2019-12-10 22:42:40.693803440 +0100 @@ -20,7 +20,7 @@ %define source_dir openSUSE-release-tools %define announcer_filename factory-package-news Name: openSUSE-release-tools -Version: 20191209.3bc7455e +Version: 20191210.05e7447a Release: 0 Summary: Tools to aid in staging and release work for openSUSE/SUSE License: GPL-2.0-or-later AND MIT ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.tCe6Hl/_old 2019-12-10 22:42:40.733803425 +0100 +++ /var/tmp/diff_new_pack.tCe6Hl/_new 2019-12-10 22:42:40.733803425 +0100 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/openSUSE/openSUSE-release-tools.git</param> - <param name="changesrevision">a354d6c88206a708014d68ef46f02e238a36d4e3</param> + <param name="changesrevision">05e7447a3faa926367662f77b09627d7f81ba83d</param> </service> </servicedata> ++++++ openSUSE-release-tools-20191209.3bc7455e.obscpio -> openSUSE-release-tools-20191210.05e7447a.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20191209.3bc7455e/gocd/rabbit-openqa.py new/openSUSE-release-tools-20191210.05e7447a/gocd/rabbit-openqa.py --- old/openSUSE-release-tools-20191209.3bc7455e/gocd/rabbit-openqa.py 2019-12-09 11:10:39.000000000 +0100 +++ new/openSUSE-release-tools-20191210.05e7447a/gocd/rabbit-openqa.py 2019-12-10 02:28:30.000000000 +0100 @@ -71,16 +71,9 @@ return {'isos': self.gather_isos(name, 'images'), 'id': self.gather_buildid(name, 'images')} - def fetch_openqa_jobs(self, staging, iso): - buildid = self.staging_projects[staging].get('id') - if not buildid: - self.logger.info("I don't know the build id of " + staging) - return - # all openQA jobs are created at the same URL - url = self.api.makeurl(['status_reports', 'published', staging, 'images', 'reports', buildid]) + def fetch_openqa_jobs(self, staging, iso, openqa_infos): openqa = self.listener.jobs_for_iso(iso) # collect job infos to pick names - openqa_infos = dict() for job in openqa: print(staging, iso, job['id'], job['state'], job['result'], job['settings']['MACHINE'], job['settings']['TEST']) @@ -89,6 +82,18 @@ openqa_infos[job['id']]['name'] = job['settings']['TEST'] openqa_infos[job['id']]['machine'] = job['settings']['MACHINE'] + def update_staging_status(self, staging): + openqa_infos = dict() + for iso in self.staging_projects[staging]['isos']: + self.fetch_openqa_jobs(staging, iso, openqa_infos) + + buildid = self.staging_projects[staging].get('id') + if not buildid: + self.logger.info("I don't know the build id of " + staging) + return + # all openQA jobs are created at the same URL + url = self.api.makeurl(['status_reports', 'published', staging, 'images', 'reports', buildid]) + # make sure the names are unique taken_names = dict() for id in openqa_infos: @@ -96,8 +101,10 @@ if name in taken_names: openqa_infos[id]['name'] = openqa_infos[id]['name'] + "@" + openqa_infos[id]['machine'] # the other id - id = taken_names[name] - openqa_infos[id]['name'] = openqa_infos[id]['name'] + "@" + openqa_infos[id]['machine'] + oid = taken_names[name] + openqa_infos[oid]['name'] = openqa_infos[oid]['name'] + "@" + openqa_infos[oid]['machine'] + if openqa_infos[id]['name'] == openqa_infos[oid]['name']: + raise Exception(f'Names of job #{id} and #{oid} collide') taken_names[name] = id for info in openqa_infos.values(): @@ -107,10 +114,6 @@ except HTTPError: self.logger.error('failed to post status to ' + url) - def update_staging_status(self, project): - for iso in self.staging_projects[project]['isos']: - self.fetch_openqa_jobs(project, iso) - def update_staging_buildid(self, project, repository, buildid): self.staging_projects[project]['id'] = buildid self.staging_projects[project]['isos'] = self.gather_isos(project, repository) @@ -140,7 +143,7 @@ if not staging: return # we fetch all openqa jobs so we can avoid long job names - self.fetch_openqa_jobs(staging, iso) + self.update_staging_status(staging) def openqa_check_xml(self, url, state, name): check = ET.Element('check') ++++++ openSUSE-release-tools.obsinfo ++++++ --- /var/tmp/diff_new_pack.tCe6Hl/_old 2019-12-10 22:42:41.421803170 +0100 +++ /var/tmp/diff_new_pack.tCe6Hl/_new 2019-12-10 22:42:41.425803168 +0100 @@ -1,5 +1,5 @@ name: openSUSE-release-tools -version: 20191209.3bc7455e -mtime: 1575886239 -commit: 3bc7455e13efdf853fd8438d21cd00815cae828f +version: 20191210.05e7447a +mtime: 1575941310 +commit: 05e7447a3faa926367662f77b09627d7f81ba83d