Hello community,
here is the log from the commit of package openSUSE-release-tools for
openSUSE:Factory checked in at 2017-11-03 16:26:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old)
and /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-release-tools"
Fri Nov 3 16:26:10 2017 rev:16 rq:538263 version:20171102.0a45aba
Changes:
--------
---
/work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes
2017-11-01 11:10:22.832146602 +0100
+++
/work/SRC/openSUSE:Factory/.openSUSE-release-tools.new/openSUSE-release-tools.changes
2017-11-03 16:27:32.662327227 +0100
@@ -1,0 +2,22 @@
+Thu Nov 02 07:03:40 UTC 2017 - [email protected]
+
+- Update to version 20171102.0a45aba:
+ * accept_command: remove the ring package if it is 2nd specfile is removed
+ * accept_command: force to accept the staging if --force parameter is given
+
+-------------------------------------------------------------------
+Wed Nov 01 01:07:58 UTC 2017 - [email protected]
+
+- Update to version 20171031.d8cd193:
+ * systemd/devel-list: allow three retry attempts to handle regular OBS crash.
+
+-------------------------------------------------------------------
+Wed Nov 01 00:40:43 UTC 2017 - [email protected]
+
+- Update to version 20171031.0e1733f:
+ * repo_checker: add newline to cycles comment to format properly.
+ * repo_checker: project_only place dashboard update behind dryrun check.
+ * repo_checker: project_only ensure project repository is published.
+ * repo_checker: store and compare build hash to skip more aggressively.
+
+-------------------------------------------------------------------
Old:
----
openSUSE-release-tools-20171031.c32b59b.obscpio
New:
----
openSUSE-release-tools-20171102.0a45aba.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-release-tools.spec ++++++
--- /var/tmp/diff_new_pack.h5Kb6i/_old 2017-11-03 16:27:38.114128801 +0100
+++ /var/tmp/diff_new_pack.h5Kb6i/_new 2017-11-03 16:27:38.114128801 +0100
@@ -20,7 +20,7 @@
%define source_dir osc-plugin-factory
%define announcer_filename factory-package-news
Name: openSUSE-release-tools
-Version: 20171031.c32b59b
+Version: 20171102.0a45aba
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.h5Kb6i/_old 2017-11-03 16:27:38.158127200 +0100
+++ /var/tmp/diff_new_pack.h5Kb6i/_new 2017-11-03 16:27:38.158127200 +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">c32b59bd554556520bdc4334c8cb6dd1b2957a6b</param>
+ <param
name="changesrevision">0a45aba664a73e919c08490b0a8b0e187b0a6a5f</param>
</service>
</servicedata>
++++++ openSUSE-release-tools-20171031.c32b59b.obscpio ->
openSUSE-release-tools-20171102.0a45aba.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171031.c32b59b/osclib/accept_command.py
new/openSUSE-release-tools-20171102.0a45aba/osclib/accept_command.py
--- old/openSUSE-release-tools-20171031.c32b59b/osclib/accept_command.py
2017-10-31 23:21:12.000000000 +0100
+++ new/openSUSE-release-tools-20171102.0a45aba/osclib/accept_command.py
2017-11-02 07:57:41.000000000 +0100
@@ -138,7 +138,8 @@
change_request_state(self.api.apiurl,
str(req['id']),
'accepted',
- message='Accept to %s' % self.api.project)
+ message='Accept to %s' % self.api.project,
+ force=force)
self.create_new_links(self.api.project, req['package'],
oldspecs)
self.api.accept_status_comment(project, packages)
@@ -236,6 +237,11 @@
else:
# If the package was there bug could not be delete, raise
the error
raise
+
+ # Remove package from Rings in case 2nd specfile was removed
+ if self.api.ring_packages.get(spec[:-5]):
+ delete_package(self.api.apiurl,
self.api.ring_packages.get(spec[:-5]), spec[:-5], force=True, msg="Cleanup
package in Rings")
+
if len(filelist) > 1:
# There is more than one .spec file in the package; link package
containers as needed
origmeta = self.api.load_file_content(project, pkgname, '_meta')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171031.c32b59b/osclib/cache.py
new/openSUSE-release-tools-20171102.0a45aba/osclib/cache.py
--- old/openSUSE-release-tools-20171031.c32b59b/osclib/cache.py 2017-10-31
23:21:12.000000000 +0100
+++ new/openSUSE-release-tools-20171102.0a45aba/osclib/cache.py 2017-11-02
07:57:41.000000000 +0100
@@ -69,6 +69,7 @@
TTL_SHORT = 5 * 60
TTL_DUPLICATE = 3
PATTERNS = {
+ '/build/[^/]+/_result': TTL_DUPLICATE,
# 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-20171031.c32b59b/repo_checker.py
new/openSUSE-release-tools-20171102.0a45aba/repo_checker.py
--- old/openSUSE-release-tools-20171031.c32b59b/repo_checker.py 2017-10-31
23:21:12.000000000 +0100
+++ new/openSUSE-release-tools-20171102.0a45aba/repo_checker.py 2017-11-02
07:57:41.000000000 +0100
@@ -3,13 +3,16 @@
import cmdln
from collections import namedtuple
import hashlib
+from lxml import etree as ET
import os
+from osc.core import show_results_meta
import pipes
import re
import subprocess
import sys
import tempfile
+from osclib.comments import CommentAPI
from osclib.core import binary_list
from osclib.core import depends_on
from osclib.core import package_binary_list
@@ -41,6 +44,12 @@
# self.staging_config needed by target_archs().
api = self.staging_api(project)
+ root = ET.fromstringlist(show_results_meta(
+ self.apiurl, project, multibuild=True, repository=['standard']))
+ if len(root.xpath('result[@state!="published"]')):
+ self.logger.info('{}/standard not published'.format(project))
+ return
+
comment = []
for arch in self.target_archs(project):
directory_project = self.mirror(project, arch)
@@ -55,7 +64,10 @@
self.result_comment(arch, results, comment)
text = '\n'.join(comment).strip()
- api.dashboard_content_ensure('repo_checker', text, 'project_only run')
+ if not self.dryrun:
+ api.dashboard_content_ensure('repo_checker', text, 'project_only
run')
+ else:
+ print(text)
if post_comments:
self.package_comments(project)
@@ -89,6 +101,7 @@
# Reset for request batch.
self.requests_map = {}
self.groups = {}
+ self.groups_build = {}
# Manipulated in ensure_group().
self.group = None
@@ -98,6 +111,7 @@
self.package_results = {}
# Look for requests of interest and group by staging.
+ skip_build = set()
for request in self.requests:
# Only interesting if request is staged.
group = request_staged(request)
@@ -119,6 +133,30 @@
if request.reqid not in selected:
self.logger.debug('{}: inconsistent
state'.format(request.reqid))
+ if group not in self.groups_build:
+ # Generate build hash based on hashes from relevant projects.
+ builds = []
+ for staging in api.staging_walk(group):
+ builds.append(ET.fromstringlist(show_results_meta(
+ self.apiurl, staging, multibuild=True,
repository=['standard'])).get('state'))
+ builds.append(ET.fromstringlist(show_results_meta(
+ self.apiurl, api.project, multibuild=True,
repository=['standard'])).get('state'))
+
+ # Include meta revision for config changes (like whitelist).
+ builds.append(str(api.get_prj_meta_revision(group)))
+ self.groups_build[group] =
hashlib.sha1(''.join(builds)).hexdigest()[:7]
+
+ # Determine if build has changed since last comment.
+ comment_api = CommentAPI(api.apiurl)
+ comments = comment_api.get_comments(project_name=group)
+ _, info = comment_api.comment_find(comments, self.bot_name)
+ if info and self.groups_build[group] == info.get('build'):
+ skip_build.add(group)
+
+ if group in skip_build:
+ self.logger.debug('{}: {} build
unchanged'.format(request.reqid, group))
+ continue
+
self.requests_map[int(request.reqid)] = group
requests = self.groups.get(group, [])
@@ -183,15 +221,18 @@
self.group_pass = False
self.result_comment(arch, results, comment)
+ info_extra = {'build': self.groups_build[group]}
if not self.group_pass:
# Some checks in group did not pass, post comment.
self.comment_write(state='seen', result='failed', project=group,
- message='\n'.join(comment).strip(),
identical=True)
+ message='\n'.join(comment).strip(),
identical=True,
+ info_extra=info_extra)
else:
# Post passed comment only if previous failed comment.
text = 'Previously reported problems have been resolved.'
self.comment_write(state='done', result='passed', project=group,
- message=text, identical=True, only_replace=True)
+ message=text, identical=True, only_replace=True,
+ info_extra=info_extra)
return self.group_pass
@@ -374,7 +415,7 @@
if len(comment):
# New cycles, post comment.
self.logger.info('cycle check: failed')
- return CheckResult(False, '\n'.join(comment))
+ return CheckResult(False, '\n'.join(comment) + '\n')
self.logger.info('cycle check: passed')
return CheckResult(True, None)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171031.c32b59b/systemd/osrt-staging-bot-devel-list.service
new/openSUSE-release-tools-20171102.0a45aba/systemd/osrt-staging-bot-devel-list.service
---
old/openSUSE-release-tools-20171031.c32b59b/systemd/osrt-staging-bot-devel-list.service
2017-10-31 23:21:12.000000000 +0100
+++
new/openSUSE-release-tools-20171102.0a45aba/systemd/osrt-staging-bot-devel-list.service
2017-11-02 07:57:41.000000000 +0100
@@ -7,5 +7,10 @@
SyslogIdentifier=osrt-staging-bot
ExecStart=/usr/bin/osrt-devel-project list -w
+# API query regularly times out, but will be cached if called again.
+Restart=on-failure
+StartLimitInterval=1 hour
+StartLimitBurst=3
+
[Install]
WantedBy=multi-user.target
++++++ openSUSE-release-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.h5Kb6i/_old 2017-11-03 16:27:38.734106236 +0100
+++ /var/tmp/diff_new_pack.h5Kb6i/_new 2017-11-03 16:27:38.734106236 +0100
@@ -1,5 +1,5 @@
name: openSUSE-release-tools
-version: 20171031.c32b59b
-mtime: 1509488472
-commit: c32b59bd554556520bdc4334c8cb6dd1b2957a6b
+version: 20171102.0a45aba
+mtime: 1509605861
+commit: 0a45aba664a73e919c08490b0a8b0e187b0a6a5f