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
 


Reply via email to