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 2023-06-27 23:18:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old)
and /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.15902 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-release-tools"
Tue Jun 27 23:18:12 2023 rev:475 rq:1095653 version:20230627.8db5f62
Changes:
--------
---
/work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes
2023-06-22 23:27:53.878403658 +0200
+++
/work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.15902/openSUSE-release-tools.changes
2023-06-27 23:18:31.924050277 +0200
@@ -1,0 +2,7 @@
+Tue Jun 27 15:17:04 UTC 2023 - [email protected]
+
+- Update to version 20230627.8db5f62:
+ * Don't decline SRs from non-devel project for scmsync packages from the bot
+ * Add type hints to action_ methods of ReviewBot
+
+-------------------------------------------------------------------
Old:
----
openSUSE-release-tools-20230622.459489f.obscpio
New:
----
openSUSE-release-tools-20230627.8db5f62.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-release-tools.spec ++++++
--- /var/tmp/diff_new_pack.64z1Xj/_old 2023-06-27 23:18:32.768055244 +0200
+++ /var/tmp/diff_new_pack.64z1Xj/_new 2023-06-27 23:18:32.776055291 +0200
@@ -20,7 +20,7 @@
%define source_dir openSUSE-release-tools
%define announcer_filename factory-package-news
Name: openSUSE-release-tools
-Version: 20230622.459489f
+Version: 20230627.8db5f62
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.64z1Xj/_old 2023-06-27 23:18:32.832055620 +0200
+++ /var/tmp/diff_new_pack.64z1Xj/_new 2023-06-27 23:18:32.836055644 +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">459489fa072029ea908996e2015712125a22373e</param>
+ <param
name="changesrevision">8db5f6242cb5018068a0b9019454ea331a3665e4</param>
</service>
</servicedata>
++++++ openSUSE-release-tools-20230622.459489f.obscpio ->
openSUSE-release-tools-20230627.8db5f62.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openSUSE-release-tools-20230622.459489f/ReviewBot.py
new/openSUSE-release-tools-20230627.8db5f62/ReviewBot.py
--- old/openSUSE-release-tools-20230622.459489f/ReviewBot.py 2023-06-22
16:42:31.000000000 +0200
+++ new/openSUSE-release-tools-20230627.8db5f62/ReviewBot.py 2023-06-27
17:14:47.000000000 +0200
@@ -4,6 +4,7 @@
import sys
import re
import logging
+from typing import List
import cmdln
from collections import namedtuple
from collections import OrderedDict
@@ -95,7 +96,7 @@
self.logger = logger
self.review_user = user
self.review_group = group
- self.requests = []
+ self.requests: List[osc.core.Request] = []
self.review_messages = ReviewBot.DEFAULT_REVIEW_MESSAGES
self._review_mode = 'normal'
self.fallback_user = None
@@ -398,7 +399,7 @@
return True
- def check_one_request(self, req):
+ def check_one_request(self, req: osc.core.Request):
"""
check all actions in one request.
@@ -427,11 +428,12 @@
overall = True
for a in req.actions:
+ a: osc.core.Action
if self.multiple_actions:
self.review_messages = self.DEFAULT_REVIEW_MESSAGES.copy()
# Store in-case sub-classes need direct access to original values.
- self.action = a
+ self.action: osc.core.Action = a
key = request_action_key(a)
override = self.request_override_check()
@@ -462,7 +464,7 @@
return overall
- def action_method(self, action):
+ def action_method(self, action: osc.core.Action):
method_prefix = 'check_action'
method_type = action.type
method_suffix = None
@@ -511,7 +513,7 @@
return self.check_source_submission(a.src_project, a.src_package,
a.src_rev,
a.tgt_releaseproject, tgt_package)
- def check_action_maintenance_release(self, req, a):
+ def check_action_maintenance_release(self, req: osc.core.Request, a:
osc.core.Action):
pkgname = a.src_package
if action_is_patchinfo(a):
self.logger.debug('ignoring patchinfo action')
@@ -530,7 +532,7 @@
pkgname = linkpkg
return self.check_source_submission(a.src_project, a.src_package,
None, a.tgt_project, pkgname)
- def check_action_submit(self, req, a):
+ def check_action_submit(self, req: osc.core.Request, a: osc.core.Action):
return self.check_source_submission(a.src_project, a.src_package,
a.src_rev, a.tgt_project, a.tgt_package)
def check_action__default(self, req, a):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20230622.459489f/check_source.py
new/openSUSE-release-tools-20230627.8db5f62/check_source.py
--- old/openSUSE-release-tools-20230622.459489f/check_source.py 2023-06-22
16:42:31.000000000 +0200
+++ new/openSUSE-release-tools-20230627.8db5f62/check_source.py 2023-06-27
17:14:47.000000000 +0200
@@ -21,7 +21,7 @@
from osclib.core import package_kind
from osclib.core import create_add_role_request
from osclib.core import maintainers_get
-from osc.core import show_project_meta
+from osc.core import show_package_meta, show_project_meta
from osc.core import get_request_list
from urllib.error import HTTPError
@@ -62,6 +62,7 @@
self.allow_valid_source_origin =
str2bool(config.get('check-source-allow-valid-source-origin', 'False'))
self.valid_source_origins =
set(config.get('check-source-valid-source-origins', '').split(' '))
self.add_devel_project_review =
str2bool(config.get('check-source-add-devel-project-review', 'False'))
+ self.allowed_scm_submission_sources =
set(config.get('allowed-scm-submission-sources', '').split(' '))
if self.action.type == 'maintenance_incident':
# The workflow effectively enforces the names to match and the
@@ -150,12 +151,25 @@
self.logger.info('checking if target package exists and has devel
project')
devel_project, devel_package = devel_project_get(self.apiurl,
target_project, target_package)
if devel_project:
- if ((source_project != devel_project or source_package !=
devel_package) and
- not (source_project == target_project and source_package ==
target_package)):
- # Not from proper devel project/package and not
self-submission.
- self.review_messages['declined'] = 'Expected submission
from devel package %s/%s' % (
- devel_project, devel_package)
- return False
+ if (
+ (source_project != devel_project or source_package !=
devel_package)
+ and not (source_project == target_project and
source_package == target_package)):
+ # check if the devel project & package are using scmsync &
match the allowed prj prefix
+ # => waive the devel project source submission requirement
+ meta = ET.fromstringlist(show_package_meta(self.apiurl,
devel_project, devel_package))
+ scm_sync = meta.find('scmsync')
+ if (
+ not scm_sync or
+ (
+ scm_sync and
+ not
scm_sync.text.startswith(f"https://src.opensuse.org/pool/{source_package}")
+ and all(not
source_project.startswith(allowed_src) for allowed_src in
self.allowed_scm_submission_sources)
+ )
+ ):
+ # Not from proper devel project/package and not
self-submission and not scmsync.
+ self.review_messages['declined'] = 'Expected
submission from devel package %s/%s' % (
+ devel_project, devel_package)
+ return False
else:
# Check to see if other packages exist with the same source
project
# which indicates that the project has already been used as
devel.
++++++ openSUSE-release-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.64z1Xj/_old 2023-06-27 23:18:33.552059858 +0200
+++ /var/tmp/diff_new_pack.64z1Xj/_new 2023-06-27 23:18:33.552059858 +0200
@@ -1,5 +1,5 @@
name: openSUSE-release-tools
-version: 20230622.459489f
-mtime: 1687444951
-commit: 459489fa072029ea908996e2015712125a22373e
+version: 20230627.8db5f62
+mtime: 1687878887
+commit: 8db5f6242cb5018068a0b9019454ea331a3665e4