Hello community, here is the log from the commit of package openSUSE-release-tools for openSUSE:Factory checked in at 2018-05-02 12:19:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old) and /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-release-tools" Wed May 2 12:19:29 2018 rev:89 rq:602860 version:20180430.eb1d0be Changes: -------- --- /work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes 2018-04-30 22:58:20.121782012 +0200 +++ /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new/openSUSE-release-tools.changes 2018-05-02 12:19:45.193266848 +0200 @@ -1,0 +2,21 @@ +Mon Apr 30 20:34:37 UTC 2018 - opensuse-releaset...@opensuse.org + +- Update to version 20180430.eb1d0be: + * ReviewBot: runner: reload checker and reset memoize session caches. + * osclib/memoize: provide memoize_session_reset(). + +------------------------------------------------------------------- +Fri Apr 27 16:22:23 UTC 2018 - opensuse-releaset...@opensuse.org + +- Update to version 20180427.1730947: + * systemd/osrt-repo-checker-project_only@.timer: increase frequency to hourly. + * repo_checker: project_only: store build hash and skip when unchanged. + +------------------------------------------------------------------- +Fri Apr 27 16:16:04 UTC 2018 - opensuse-releaset...@opensuse.org + +- Update to version 20180427.adbbde2: + * repo_checker: invoke whitelist_clean() as part of project_only. + * repo_checker: whitelist_clean: provide interactive flag. + +------------------------------------------------------------------- Old: ---- openSUSE-release-tools-20180427.add0eb7.obscpio New: ---- openSUSE-release-tools-20180430.eb1d0be.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ openSUSE-release-tools.spec ++++++ --- /var/tmp/diff_new_pack.79ovC5/_old 2018-05-02 12:19:46.049235617 +0200 +++ /var/tmp/diff_new_pack.79ovC5/_new 2018-05-02 12:19:46.053235471 +0200 @@ -20,7 +20,7 @@ %define source_dir openSUSE-release-tools %define announcer_filename factory-package-news Name: openSUSE-release-tools -Version: 20180427.add0eb7 +Version: 20180430.eb1d0be 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.79ovC5/_old 2018-05-02 12:19:46.089234158 +0200 +++ /var/tmp/diff_new_pack.79ovC5/_new 2018-05-02 12:19:46.089234158 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/openSUSE/openSUSE-release-tools.git</param> - <param name="changesrevision">add0eb7927dde22dc83b06ae66b3027fbbe83228</param> + <param name="changesrevision">b20c01669e0fe5d1bc199858dfeefcf71e4d7b2f</param> </service> </servicedata> ++++++ openSUSE-release-tools-20180427.add0eb7.obscpio -> openSUSE-release-tools-20180430.eb1d0be.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20180427.add0eb7/ReviewBot.py new/openSUSE-release-tools-20180430.eb1d0be/ReviewBot.py --- old/openSUSE-release-tools-20180427.add0eb7/ReviewBot.py 2018-04-27 17:55:47.000000000 +0200 +++ new/openSUSE-release-tools-20180430.eb1d0be/ReviewBot.py 2018-04-30 22:28:09.000000000 +0200 @@ -30,6 +30,7 @@ from osclib.conf import Config from osclib.core import group_members from osclib.memoize import memoize +from osclib.memoize import memoize_session_reset from osclib.stagingapi import StagingAPI import signal import datetime @@ -719,7 +720,17 @@ else: self.logger.info("sleeping %d minutes." % interval) time.sleep(interval * 60) + + # Reset all memoize session caches which are designed for single + # tool run and not extended usage. + memoize_session_reset() + + # Reload checker to flush instance variables and thus any config + # or caches they may contain. + self.postoptparse() + continue + break if __name__ == "__main__": diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20180427.add0eb7/osclib/memoize.py new/openSUSE-release-tools-20180430.eb1d0be/osclib/memoize.py --- old/openSUSE-release-tools-20180427.add0eb7/osclib/memoize.py 2018-04-27 17:55:47.000000000 +0200 +++ new/openSUSE-release-tools-20180430.eb1d0be/osclib/memoize.py 2018-04-30 22:28:09.000000000 +0200 @@ -100,6 +100,7 @@ SLOTS = 4096 # Number of slots in the cache file NCLEAN = 1024 # Number of slots to remove when limit reached TIMEOUT = 60*60*2 # Time to live for every cache slot (seconds) + memoize.session_functions = [] def _memoize(fn): # Implement a POSIX lock / unlock extension for shelves. Inspired @@ -123,6 +124,7 @@ else: if not hasattr(fn, '_memoize_session_cache'): fn._memoize_session_cache = {} + memoize.session_functions.append(fn) cache = fn._memoize_session_cache return cache @@ -197,3 +199,8 @@ ttl = ttl if ttl else TIMEOUT return _memoize + +def memoize_session_reset(): + """Reset all session caches.""" + for i, _ in enumerate(memoize.session_functions): + memoize.session_functions[i]._memoize_session_cache = {} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20180427.add0eb7/repo_checker.py new/openSUSE-release-tools-20180430.eb1d0be/repo_checker.py --- old/openSUSE-release-tools-20180427.add0eb7/repo_checker.py 2018-04-27 17:55:47.000000000 +0200 +++ new/openSUSE-release-tools-20180430.eb1d0be/repo_checker.py 2018-04-30 22:28:09.000000000 +0200 @@ -59,7 +59,16 @@ self.logger.info('{}/standard not published'.format(project)) return - comment = [] + build = ET.fromstringlist(show_results_meta( + self.apiurl, project, multibuild=True, repository=['standard'])).get('state') + dashboard_content = api.dashboard_content_load('repo_checker') + if not self.force and dashboard_content: + build_previous = dashboard_content.splitlines()[0] + if build == build_previous: + self.logger.info('{} build unchanged'.format(project)) + return + + comment = [build] for arch in self.target_archs(project): directory_project = self.mirror(project, arch) @@ -75,6 +84,7 @@ text = '\n'.join(comment).strip() if not self.dryrun: api.dashboard_content_ensure('repo_checker', text, 'project_only run') + self.whitelist_clean(project) else: print(text) @@ -520,7 +530,7 @@ self.review_messages['accepted'] = 'delete request is safe' return True - def whitelist_clean(self, project): + def whitelist_clean(self, project, interactive=False): from copy import copy from difflib import unified_diff from osclib.core import BINARY_REGEX @@ -579,9 +589,15 @@ # Present diff and prompt to apply. print(''.join(unified_diff(config, config_new, fromfile='config.orig', tofile='config.new'))) print('Apply config changes? [y/n] (y): ', end='') - response = raw_input().lower() - if response == '' or response == 'y': - api.dashboard_content_save('config', ''.join(config_new), 'repo_checker whitelist clean') + if interactive: + response = raw_input().lower() + if response != '' and response != 'y': + print('quit') + return + else: + print('y') + + api.dashboard_content_save('config', ''.join(config_new), 'repo_checker whitelist clean') def whitelist_clean_set(self, config, key, value): # Unfortunately even OscConfigParser does not preserve empty lines. @@ -625,7 +641,7 @@ def do_whitelist_clean(self, subcmd, opts, project): self.checker.check_requests() # Needed to properly init ReviewBot. - self.checker.whitelist_clean(project) + self.checker.whitelist_clean(project, interactive=True) if __name__ == "__main__": app = CommandLineInterface() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20180427.add0eb7/systemd/osrt-repo-checker-project_only@.timer new/openSUSE-release-tools-20180430.eb1d0be/systemd/osrt-repo-checker-project_only@.timer --- old/openSUSE-release-tools-20180427.add0eb7/systemd/osrt-repo-checker-project_only@.timer 2018-04-27 17:55:47.000000000 +0200 +++ new/openSUSE-release-tools-20180430.eb1d0be/systemd/osrt-repo-checker-project_only@.timer 2018-04-30 22:28:09.000000000 +0200 @@ -2,7 +2,7 @@ Description=openSUSE Release Tools: repo-checker project_only for %i [Timer] -OnCalendar=daily +OnCalendar=hourly Unit=osrt-repo-checker-project_only@%i.service [Install] ++++++ openSUSE-release-tools.obsinfo ++++++ --- /var/tmp/diff_new_pack.79ovC5/_old 2018-05-02 12:19:46.929203511 +0200 +++ /var/tmp/diff_new_pack.79ovC5/_new 2018-05-02 12:19:46.929203511 +0200 @@ -1,5 +1,5 @@ name: openSUSE-release-tools -version: 20180427.add0eb7 -mtime: 1524844547 -commit: add0eb7927dde22dc83b06ae66b3027fbbe83228 +version: 20180430.eb1d0be +mtime: 1525120089 +commit: eb1d0be0cd0fc7da80fb917f23e39d081983f946