151 Commits

Author SHA1 Message Date
Stephan Kulow
5df665ccc5 Targeting E123 - Closing bracket does not match indentation
https://www.flake8rules.com/rules/E123.html
2022-02-18 15:52:47 +01:00
Stephan Kulow
e52dc6ce2b Harmonize imports on using lxml for XML parsing 2022-02-18 11:16:01 +01:00
Stephan Kulow
a8f7146baf Remove E713 offense from flaker 2021-09-21 14:20:08 +02:00
Ludwig Nussel
60e5fd94a2 abi-checker: recognize staging 2019-12-19 14:13:48 +01:00
ad06348dcf More flake8 cleanups 2019-12-10 12:50:57 +01:00
ea3b07568c Fix E203
This fixes incorrect whitespacing inside dictionaries.
2019-12-10 08:54:32 +01:00
ec88760187 Fix Flake E241
One more step towards white space sanity. Next group is E20x.
2019-12-10 08:46:02 +01:00
32ad0adc2d Fix all E22x errors
This cleans up white spaces around various kinds of operators to be
consistent.
2019-11-27 11:08:06 +01:00
Jimmy Berry
a3761c62e5 ReviewBot: include request description in search for comment commands. 2019-11-04 13:22:38 -06:00
Jimmy Berry
701021070c ReviewBot: rework override check to operate on actions.
In multi-action workflows the override check should be performed by
action so that different groups of users can override for different
actions. Additionally, abstracting the request_commands() method provides
a flexible base for additional commands to be added by ReviewBots.
2019-11-04 13:22:38 -06:00
Jimmy Berry
7033044469 ReviewBot: provide request_age_wait().
Provides configurable default, config key, and config override value.
2019-09-25 14:17:21 -05:00
Jimmy Berry
0930b8368e ReviewBot: add_review(): handle 403 as expected when superseded/rovoked. 2019-09-18 20:03:41 -05:00
Jimmy Berry
43067cf8e4 ReviewBot: _set_review(): handle review being revoked or superseded.
This can occur when the review state is changed during the review.
2019-09-18 18:22:56 -05:00
Jimmy Berry
14971e2db0
Merge pull request #2174 from jberry-suse/sentry-improvements
sentry improvements and check_source logger error demotion
2019-08-28 15:34:02 -05:00
Jimmy Berry
208336ca80 ReviewBot: action_method(): drop request.type sentry extra in favor or action.key. 2019-08-27 14:45:29 -05:00
Jimmy Berry
4ca9995b5d ReviewBot: simplify sentry_sdk initialization line since defined globally. 2019-08-27 14:44:54 -05:00
Jimmy Berry
b0d7e9930a ReviewBot: provide request.id and action.key as sentry extras. 2019-08-27 14:44:42 -05:00
Jimmy Berry
ca4033e614 ReviewBot: action_method(): reduce sentry extra to filter(None, ...). 2019-08-27 14:31:00 -05:00
Jimmy Berry
12d15ae850 ReviewBot: reduce unhandled request type log message from error to info.
Uninteresting request action types are intentionally left to the default
handler and does not constitute and error.
2019-08-27 08:20:13 -05:00
Jimmy Berry
5dd0a99068 ReviewBot: provide sentry_sdk integration. 2019-08-16 16:01:55 -05:00
Jimmy Berry
cd6b2b3c33 ReviewBot: nest review messages by action key when multiple actions.
Not only does this expose previously hidden messages on multi-action
requests, but also provides clarity as to which action triggered a
specific response. Since the keys are generated in a standard way and
the data formatted as YAML it can also be retrieved.
2019-07-16 10:27:37 -05:00
Jimmy Berry
a8ff27b81f osclib/core: provide action_is_patchinfo() from ReviewBot.
Allows for usage outside of ReviewBot children.
2019-07-11 16:01:42 -05:00
Stephan Kulow
011c80cc2a Remove debug output left in ReviewBot 2019-05-27 18:49:20 +02:00
Stephan Kulow
fe38a6127d Exit with an error if there were exceptions caught
Fixes #2041
2019-05-27 13:35:59 +02:00
Stephan Kulow
606e498554 ReviewBot: Simplify the !interval case
We only want to run the workfunc() and that's it
2019-05-27 11:03:04 +02:00
Stephan Kulow
3f3bbb3e10 Run even more bots in python3 2019-05-16 06:59:25 +02:00
Stephan Kulow
595e84191e More porting to python3
Travis changed default python to 3.6, which has impact on the way
flake8 checks. So make sure we run fine under flake8 of python 3
2019-04-20 21:16:50 +02:00
Jimmy Berry
d0e0f2aa3a ReviewBot: handle any exception raised by check_one_request().
Prevents a single failure from stopping all reviews.
2019-03-29 14:31:44 -05:00
Jimmy Berry
e930ea37c3 ReviewBot: request_override_check(): default to accept. 2019-02-26 09:33:35 -06:00
Jimmy Berry
d32b0c65bb ReviewBot: request_override_check(): provide force option. 2019-02-26 09:33:14 -06:00
Ludwig Nussel
ee7cdc2a90 ReviewBot: catch exception for adding devel project review
if the bot is run on requests it has no role it, adding devel project
review may fail. So just handle that and proceed.
2019-02-05 08:25:14 +01:00
Ludwig Nussel
9091593263 ReviewBot: refactor logic 2019-01-16 15:19:01 +01:00
Stephan Kulow
ad48ebfe20
Merge pull request #1795 from coolo/dont_error_on_RR
If we can't resolve the package name, it's no reason to decline
2018-11-27 06:34:31 +01:00
Stephan Kulow
4d6133a25b If we can't resolve the package name, it's no reason to decline
Sometimes maintenance adds specific containers to build in the
incident
2018-11-19 13:00:19 +01:00
Stephan Kulow
2fe9701238 Use more print from the future 2018-11-17 10:16:13 +01:00
Stephan Kulow
ea9061ccf5 Import urllib2 python agnostic 2018-11-16 09:01:45 +01:00
Jimmy Berry
ac798df607 ReviewBot: accept patchinfo action reviews instead of ignore.
Ignore is used to wait for a change to occur while patchinfo should never
affect the result. Since all actions must be accepted for the request to
be accepted setting patchinfo to accept is the correct way to ignore it.
2018-11-12 16:22:27 -06:00
Jimmy Berry
2a50b8cf72 ReviewBot: staging_api(): allow for Staging subproject to be used. 2018-10-18 16:20:30 -05:00
Jimmy Berry
d1b630b5da ReviewBot: break down sub-types of delete requests.
Their is very little overlap in the types of reviews one typically wants
to perform on delete requests. Already all of the existing code will crash
if a delete project request is reviewed.
2018-09-17 17:04:44 -05:00
Jimmy Berry
6069245350 Remove SUSE copyright, warranty, and license headers.
Distinct copyrights were left as I do not wish to track down commit
history to ensure it properly documents the copyright holders. Also left
non-GPLv2 licenses and left bs_copy untouched as a mirror from OBS.

Already have a mix of with and without headers and even OBS does not place
on majority of files. If SUSE lawyers have an issue it will come up in
legal review for Factory.
2018-08-23 19:18:06 -05:00
Jimmy Berry
a1c1334803 ReviewBot: add devel_project_review_*() methods adapted from maintbot.
The owner logic surrounding a package removed from Factory does not appear
to make sense as the current behavior of OBS never returns another owner
pair for such packages. As such the existing devel project lookup makes
more sense and is more straight forward.
2018-08-22 21:24:58 -05:00
Jimmy Berry
53f7f42183 ReviewBot: utilize osclib.Cache for all bots by default.
Half the bots already utilize the Cache since it is used by StagingAPI
which they call, but really no reason for all of them not to use it by
default. With planned repo_checker changes the StagingAPI is not always
utilized, but it is desirable for the cache to always be used.

No sense calling Cache.init() in ReviewBot constructor as useless extra
calls when bots embed each other.
2018-08-21 01:56:05 -05:00
Jimmy Berry
3ece452a03 ReviewBot: utilize memoize cached config. 2018-08-21 01:53:29 -05:00
Jimmy Berry
2180c4a2c6 ReviewBot: drop self.staging_config post switch to Config.get(). 2018-08-17 10:16:47 -05:00
Jimmy Berry
1012b62830 ReviewBots: utilize Config.get() instead of self.staging_config. 2018-08-17 10:16:47 -05:00
Jimmy Berry
760ddf39e6 osclib/conf: decouple from StagingAPI and always fetch remote config.
As the remote config is no longer optional for SLE and is utilized by
openSUSE to the point were it is dangerous not to load the remote config
it should be required. Currently only certain users call apply_remote()
while this will make it built-in during construction and thus makes the
usage consistent and no longer require StagingAPI.
2018-08-16 21:53:40 -05:00
Jimmy Berry
7c35c5d03e ReviewBot: check_one_request(): correct logic to return "lowest" result.
Without this change if two actions return True and None, True is returned
which is not desirable.
2018-08-08 23:31:41 -05:00
Ludwig Nussel
2ed2f4e0a5
Merge pull request #1595 from lnussel/leaper-sle
leaper: adjust for SLE 15SP1 and SLE12SP4
2018-06-29 10:30:59 +02:00
Jimmy Berry
da36ae9931 check_source: replace one action limitation with configurable rule.
Allows tool to be used on multi-action requests while still enforcing
the rule for Factory and Leap which should reject such requests due to
staging process.
2018-06-28 12:14:19 -05:00
Jimmy Berry
85e6205e3a ReviewBot: provide self.action for direct access in sub-classes. 2018-06-28 11:41:54 -05:00