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 - [email protected]
+
+- 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