Hello community,
here is the log from the commit of package openSUSE-release-tools for
openSUSE:Factory checked in at 2017-12-02 13:12:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old)
and /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-release-tools"
Sat Dec 2 13:12:19 2017 rev:25 rq:547141 version:20171201.913531e
Changes:
--------
---
/work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes
2017-12-01 15:54:07.374990378 +0100
+++
/work/SRC/openSUSE:Factory/.openSUSE-release-tools.new/openSUSE-release-tools.changes
2017-12-02 13:12:25.450540328 +0100
@@ -1,0 +2,8 @@
+Fri Dec 01 14:56:52 UTC 2017 - [email protected]
+
+- Update to version 20171201.913531e:
+ * osclib/cycles: only cache target project builddepinfo to avoid excessive
cache.
+ * osclib/cycles: drop _get_builddepinfo and _get_builddepinfo_cycles since
unused.
+ * Add more details to openQA job group description about current status
+
+-------------------------------------------------------------------
Old:
----
openSUSE-release-tools-20171130.3b99a9d.obscpio
New:
----
openSUSE-release-tools-20171201.913531e.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-release-tools.spec ++++++
--- /var/tmp/diff_new_pack.Zl5UeI/_old 2017-12-02 13:12:26.298509443 +0100
+++ /var/tmp/diff_new_pack.Zl5UeI/_new 2017-12-02 13:12:26.302509298 +0100
@@ -20,7 +20,7 @@
%define source_dir osc-plugin-factory
%define announcer_filename factory-package-news
Name: openSUSE-release-tools
-Version: 20171130.3b99a9d
+Version: 20171201.913531e
Release: 0
Summary: Tools to aid in staging and release work for openSUSE/SUSE
License: GPL-2.0+ and MIT
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.Zl5UeI/_old 2017-12-02 13:12:26.354507404 +0100
+++ /var/tmp/diff_new_pack.Zl5UeI/_new 2017-12-02 13:12:26.354507404 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param
name="url">https://github.com/openSUSE/osc-plugin-factory.git</param>
- <param
name="changesrevision">3c8a8411cdc12accf623a9e829c68f9177c891f7</param>
+ <param
name="changesrevision">913531e12bef3c42c0732b1ff12d388a3e711cb3</param>
</service>
</servicedata>
++++++ openSUSE-release-tools-20171130.3b99a9d.obscpio ->
openSUSE-release-tools-20171201.913531e.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171130.3b99a9d/osclib/cache.py
new/openSUSE-release-tools-20171201.913531e/osclib/cache.py
--- old/openSUSE-release-tools-20171130.3b99a9d/osclib/cache.py 2017-11-30
13:13:27.000000000 +0100
+++ new/openSUSE-release-tools-20171201.913531e/osclib/cache.py 2017-12-01
15:52:24.000000000 +0100
@@ -66,10 +66,13 @@
CACHE_DIR = os.path.expanduser('~/.cache/osc-plugin-factory')
TTL_LONG = 12 * 60 * 60
+ TTL_MEDIUM = 30 * 60
TTL_SHORT = 5 * 60
TTL_DUPLICATE = 3
PATTERNS = {
'/build/[^/]+/_result': TTL_DUPLICATE,
+ # For cycles when run via repo-checker cache non-stagings.
+ '/build/(?:[^/](?!:Staging:))+/[^/]+/[^/]+/_builddepinfo$': TTL_MEDIUM,
# Group members cannot be guaranteed, but change rarely.
'/group/[^/?]+$': TTL_SHORT,
# Clear target project cache upon request acceptance.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171130.3b99a9d/osclib/cycle.py
new/openSUSE-release-tools-20171201.913531e/osclib/cycle.py
--- old/openSUSE-release-tools-20171130.3b99a9d/osclib/cycle.py 2017-11-30
13:13:27.000000000 +0100
+++ new/openSUSE-release-tools-20171201.913531e/osclib/cycle.py 2017-12-01
15:52:24.000000000 +0100
@@ -150,7 +150,6 @@
# Store packages prevoiusly ignored. Don't pollute the screen.
self._ignore_packages = set()
- @memoize(ttl=60*60*6)
def _builddepinfo(self, project, repository, arch):
root = None
try:
@@ -161,13 +160,6 @@
print('ERROR in URL %s [%s]' % (url, e))
return root
- def _get_builddepinfo(self, project, repository, arch, package):
- """Get the builddep info for a single package"""
- root = ET.fromstring(self._builddepinfo(project, repository, arch))
- packages = [Package(element=e) for e in root.findall('package')]
- package = [p for p in packages if p.pkg == package]
- return package[0] if package else None
-
def _get_builddepinfo_graph(self, project, repository, arch):
"""Generate the buildepinfo graph for a given architecture."""
@@ -210,12 +202,6 @@
graph.subpkgs = subpkgs
return graph
- def _get_builddepinfo_cycles(self, package, repository, arch):
- """Generate the buildepinfo cycle list for a given architecture."""
- root = ET.fromstring(self._builddepinfo(package, repository, arch))
- return frozenset(frozenset(e.text for e in cycle.findall('package'))
- for cycle in root.findall('cycle'))
-
def cycles(self, staging, project=None, repository='standard',
arch='x86_64'):
"""Detect cycles in a specific repository."""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171130.3b99a9d/totest-manager.py
new/openSUSE-release-tools-20171201.913531e/totest-manager.py
--- old/openSUSE-release-tools-20171130.3b99a9d/totest-manager.py
2017-11-30 13:13:27.000000000 +0100
+++ new/openSUSE-release-tools-20171201.913531e/totest-manager.py
2017-12-01 15:52:24.000000000 +0100
@@ -170,7 +170,7 @@
logger.info('%s %s %s' %
(module['name'], module['result'], module['flags']))
- def update_ignored_issues(self):
+ def update_openqa_status_message(self):
url = makeurl(self.openqa_server,
['api', 'v1', 'job_groups'])
f = self.api.retried_GET(url)
@@ -181,27 +181,37 @@
group_id = jg['id']
break
- if group_id:
- pinned_ignored_issue = 0
- issues = ' , '.join(self.issues_to_ignore)
- msg = "pinned-description: Ignored issues\r\n\r\n{}".format(issues)
- data = {'text': msg}
- url = makeurl(self.openqa_server,
- ['api', 'v1', 'groups', str(group_id), 'comments'])
- f = self.api.retried_GET(url)
- comments = json.load(f)
- for comment in comments:
- if comment['userName'] == 'ttm' and \
- comment['text'].startswith('pinned-description:
Ignored issues'):
- pinned_ignored_issue = comment['id']
+ if not group_id:
+ logger.debug('No openQA group id found for status comment update,
ignoring')
+ return
+
+ pinned_ignored_issue = 0
+ issues = ' , '.join(self.issues_to_ignore)
+ status_flag = 'publishing' if self.status_for_openqa['is_publishing']
else \
+ 'preparing' if self.status_for_openqa['can_release'] else \
+ 'testing' if self.status_for_openqa['snapshotable'] else \
+ 'building'
+ status_msg =
"tag:{}:{}:{}".format(self.status_for_openqa['new_snapshot'], status_flag,
status_flag)
+ msg = "pinned-description: Ignored
issues\r\n\r\n{}\r\n\r\n{}".format(issues, status_msg)
+ data = {'text': msg}
- if not self.dryrun:
- if pinned_ignored_issue:
- self.openqa.openqa_request(
- 'PUT', 'groups/%s/comments/%d' % (group_id,
pinned_ignored_issue), data=data)
- else:
- self.openqa.openqa_request(
- 'POST', 'groups/%s/comments' % group_id, data=data)
+ url = makeurl(self.openqa_server,
+ ['api', 'v1', 'groups', str(group_id), 'comments'])
+ f = self.api.retried_GET(url)
+ comments = json.load(f)
+ for comment in comments:
+ if comment['userName'] == 'ttm' and \
+ comment['text'].startswith('pinned-description: Ignored
issues'):
+ pinned_ignored_issue = comment['id']
+
+ logger.debug('Writing openQA status message: {}'.format(data))
+ if not self.dryrun:
+ if pinned_ignored_issue:
+ self.openqa.openqa_request(
+ 'PUT', 'groups/%s/comments/%d' % (group_id,
pinned_ignored_issue), data=data)
+ else:
+ self.openqa.openqa_request(
+ 'POST', 'groups/%s/comments' % group_id, data=data)
def overall_result(self, snapshot):
"""Analyze the openQA jobs of a given snapshot Returns a QAResult"""
@@ -217,7 +227,7 @@
number_of_fails = 0
in_progress = False
- update_pinned_descr = False
+ self.update_pinned_descr = False
for job in jobs:
# print json.dumps(job, sort_keys=True, indent=4)
if job['result'] in ('failed', 'incomplete', 'skipped',
'user_cancelled', 'obsoleted', 'parallel_failed'):
@@ -242,7 +252,7 @@
if ref not in self.issues_to_ignore:
if to_ignore:
self.issues_to_ignore.append(ref)
- update_pinned_descr = True
+ self.update_pinned_descr = True
with open(self.issuefile, 'a') as f:
f.write("%s\n" % ref)
else:
@@ -274,9 +284,6 @@
else:
raise Exception(job['result'])
- if update_pinned_descr:
- self.update_ignored_issues()
-
if number_of_fails > 0:
return QA_FAILED
@@ -496,10 +503,21 @@
can_publish = (current_result == QA_PASSED)
# already published
- if self.totest_is_publishing():
+ totest_is_publishing = self.totest_is_publishing()
+ if totest_is_publishing:
logger.debug("totest already publishing")
can_publish = False
+ if self.update_pinned_descr:
+ self.status_for_openqa = {
+ 'current_snapshot': current_snapshot,
+ 'new_snapshot': new_snapshot,
+ 'snapshotable': snapshotable,
+ 'can_release': can_release,
+ 'is_publishing': totest_is_publishing,
+ }
+ self.update_openqa_status_message()
+
if can_publish:
if current_qa_version == current_snapshot:
self.publish_factory_totest()
++++++ openSUSE-release-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.Zl5UeI/_old 2017-12-02 13:12:27.110479870 +0100
+++ /var/tmp/diff_new_pack.Zl5UeI/_new 2017-12-02 13:12:27.110479870 +0100
@@ -1,5 +1,5 @@
name: openSUSE-release-tools
-version: 20171130.3b99a9d
-mtime: 1512044007
-commit: 3b99a9d434c0d142996d94879ba47f94702a5178
+version: 20171201.913531e
+mtime: 1512139944
+commit: 913531e12bef3c42c0732b1ff12d388a3e711cb3