Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package openSUSE-release-tools for 
openSUSE:Factory checked in at 2022-04-02 18:20:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old)
 and      /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.1900 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openSUSE-release-tools"

Sat Apr  2 18:20:50 2022 rev:417 rq:966512 version:20220401.3c2ced48

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes
    2022-04-01 21:37:21.864668923 +0200
+++ 
/work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.1900/openSUSE-release-tools.changes
  2022-04-02 18:21:05.153907811 +0200
@@ -1,0 +2,7 @@
+Fri Apr 01 13:04:09 UTC 2022 - opensuse-releaset...@opensuse.org
+
+- Update to version 20220401.3c2ced48:
+  * repo monitor: If a repo is in scheduler flux, just keep monitoring it
+  * check.build.success check: Just keep checking on dirty repos
+
+-------------------------------------------------------------------

Old:
----
  openSUSE-release-tools-20220401.69e19f82.obscpio

New:
----
  openSUSE-release-tools-20220401.3c2ced48.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ openSUSE-release-tools.spec ++++++
--- /var/tmp/diff_new_pack.P8RRXy/_old  2022-04-02 18:21:05.889899550 +0200
+++ /var/tmp/diff_new_pack.P8RRXy/_new  2022-04-02 18:21:05.893899505 +0200
@@ -20,7 +20,7 @@
 %define source_dir openSUSE-release-tools
 %define announcer_filename factory-package-news
 Name:           openSUSE-release-tools
-Version:        20220401.69e19f82
+Version:        20220401.3c2ced48
 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.P8RRXy/_old  2022-04-02 18:21:05.933899056 +0200
+++ /var/tmp/diff_new_pack.P8RRXy/_new  2022-04-02 18:21:05.937899011 +0200
@@ -1,7 +1,7 @@
 <servicedata>
   <service name="tar_scm">
     <param 
name="url">https://github.com/openSUSE/openSUSE-release-tools.git</param>
-    <param 
name="changesrevision">044f19b7dca40683be8ccb7e1f270c18027f212d</param>
+    <param 
name="changesrevision">97ef270b3f325244edb26da7d2c387d3322538d4</param>
   </service>
 </servicedata>
 

++++++ openSUSE-release-tools-20220401.69e19f82.obscpio -> 
openSUSE-release-tools-20220401.3c2ced48.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20220401.69e19f82/gocd/rabbit-repoid.py 
new/openSUSE-release-tools-20220401.3c2ced48/gocd/rabbit-repoid.py
--- old/openSUSE-release-tools-20220401.69e19f82/gocd/rabbit-repoid.py  
2022-04-01 11:01:45.000000000 +0200
+++ new/openSUSE-release-tools-20220401.3c2ced48/gocd/rabbit-repoid.py  
2022-04-01 15:03:30.000000000 +0200
@@ -4,6 +4,7 @@
 import glob
 import json
 import logging
+import random
 import subprocess
 
 import osc
@@ -22,10 +23,13 @@
         self.apiurl = apiurl
         self.amqp_prefix = amqp_prefix
         self.namespaces = namespaces
+        # repos to check on startup
         self.repositories_to_check = []
+        # repos to check periodically that in flux
+        self.repositories_to_monitor = set()
 
     def interval(self):
-        if len(self.repositories_to_check):
+        if len(self.repositories_to_check) or 
len(self.repositories_to_monitor):
             return 5
         return super(Listener, self).interval()
 
@@ -44,6 +48,9 @@
             buildid = root.find('buildid')
             if buildid is not None:
                 return buildid.text
+        self.logger.info(f"{project}/{repository}/{architecture}: code=%s 
dirty=%s" % (root.get('code'), root.get('dirty', 'false')))
+        if root.get('code') == 'scheduling' or root.get('dirty', 'false') == 
'true':
+            self.repositories_to_monitor.add(f'{project}/{repository}')
 
     def check_all_archs(self, project, repository):
         ids = {}
@@ -58,6 +65,7 @@
                 return None
             ids[arch] = repoid
         self.logger.info('All of {}/{} finished'.format(project, repository))
+        self.repositories_to_monitor.discard(f'{project}/{repository}')
         return ids
 
     def is_part_of_namespaces(self, project):
@@ -86,6 +94,16 @@
             self.update_repo(project, repository)
             count += 1
             if count >= limit:
+                return
+        # shuffle to avoid starvation of the repos freshly added
+        repos = list(self.repositories_to_monitor)
+        random.shuffle(repos)
+        for entry in repos:
+            project, repository = entry.split('/')
+            self.logger.debug(f"Recheck repo {project}/{repository}")
+            self.update_repo(project, repository)
+            count += 1
+            if count >= limit:
                 return
 
     def push_git(self, message):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20220401.69e19f82/gocd/verify-repo-built-successful.py
 
new/openSUSE-release-tools-20220401.3c2ced48/gocd/verify-repo-built-successful.py
--- 
old/openSUSE-release-tools-20220401.69e19f82/gocd/verify-repo-built-successful.py
   2022-04-01 11:01:45.000000000 +0200
+++ 
new/openSUSE-release-tools-20220401.3c2ced48/gocd/verify-repo-built-successful.py
   2022-04-01 15:03:30.000000000 +0200
@@ -3,6 +3,7 @@
 import argparse
 import logging
 import sys
+import time
 
 import osc
 from osc.core import http_GET, makeurl
@@ -34,6 +35,12 @@
             continue
         logger.error('Repository {}/{}/{} is not yet 
finished'.format(args.project, args.repository, arch))
         logger.debug(ET.tostring(root).decode('utf-8'))
+        # scheduling means the scheduler had some reason to double check the 
repository state.
+        # this may or may not result in a restart of the build, but if it 
doesn't, we're in trouble.
+        # There won't arrive any new finished event - so better keep looking
+        if root.get('code') == 'scheduling' or root.get('dirty', 'false') == 
'true':
+            time.sleep(60)
+            continue
         sys.exit(1)
 
     # now check if all packages built fine

++++++ openSUSE-release-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.P8RRXy/_old  2022-04-02 18:21:06.557892051 +0200
+++ /var/tmp/diff_new_pack.P8RRXy/_new  2022-04-02 18:21:06.561892007 +0200
@@ -1,5 +1,5 @@
 name: openSUSE-release-tools
-version: 20220401.69e19f82
-mtime: 1648803705
-commit: 69e19f820a0957f39604df0ad1fbccc1a9fbb7e2
+version: 20220401.3c2ced48
+mtime: 1648818210
+commit: 3c2ced48e96f5a841d01866232769891d701b2a8
 

Reply via email to