66 Commits

Author SHA1 Message Date
Stephan Kulow
d8f5d0874e Remove E201 - Whitespace after '('
https://www.flake8rules.com/rules/E201.html
2022-02-18 17:23:19 +01:00
Stephan Kulow
54079e949f Target E202 - Whitespace before ')'
https://www.flake8rules.com/rules/E202.html
2022-02-18 17:18:29 +01:00
Stephan Kulow
529d1dafae Target E302 - add two comment lines before class 2022-02-18 17:15:48 +01:00
Stephan Kulow
579145b52c Target F841 - Remove unused variables 2022-02-18 17:01:38 +01:00
Stephan Kulow
66a0f152ff Target E129 - Visually indented line with same indent
https://www.flake8rules.com/rules/E129.html
2022-02-18 15:52:47 +01:00
a7bb286bd4
adi: stage Non-Ring delete requests in adi projects
This is now acceptable as the installcheck bot verifies that we
cannot remove binaries we still care for.
2021-02-23 14:59:28 +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
Stephan Kulow
529c5623a6 Remove nonfree handling
Prepare NonFree as onlyadi project, so it can have its own staging workflow
2019-11-21 14:49:29 +01:00
Stephan Kulow
25350bf095 Disable splitter info until we find a better place to store it
This leads to staging-bot preferring none strategy for all, but it
will pick stacks in free stagings, which is good enough
2019-11-20 17:05:45 +01:00
Stephan Kulow
b6e68f81e9 Work on adi command 2019-11-19 08:04:10 +01:00
Jimmy Berry
ff5efd108d osclib/request_splitter: utilize osclib.util.sha1_short() for encoding.
Without this, python 3 execution will fail with:
  TypeError: Unicode-objects must be encoded before hashing

The requests strategy is the only strategy to utilize kwargs besides
custom so this code is not executed often which is why this has not been
encountered. In fact it was executed mistakenly and reported.
2019-09-09 15:31:24 -05:00
Jimmy Berry
d3f6c62ea0 osclib/request_splitter: replace map() calls with loop and call.
Python 3 makes map() a lazy call and since the result is not needed it
makes sense to just switch to explicit loop. Without this the "loop" (via
map) is never executed. As such, --try-strategies effective does nothing
and instead the staging-bot always falls back to none strategy.
2019-09-03 15:17:32 -05:00
Jimmy Berry
d5188b326f osclib/request_splitter: quick strategy: s/leaper/origin-manager/. 2019-08-13 16:55:42 -05:00
Jimmy Berry
d3593cfed9 osclib/request_splitter: quick strategy: remove repo-checker from whitelist. 2019-08-13 16:55:42 -05:00
Jimmy Berry
52eb890d76 osclib/request_splitter: provide stageable option and make default True.
Without this, the relative rarer types of requests seen in projects with
staging and handled by list command will be included in staging proposal.
However, since they are not stageable the select operation will fail. This
change ensures that a filter is always present when stageable is True to
exclude non-stableable requests. The list command sets stageable to false
in order to list out the non-stageable requests of interest.

This was not observed in openSUSE since the main non-stageable request was
change_devel and that was exluded in StrategyNone. That filter could be
replaced with the stageable filter, but having an always on filter seems to
make more sense since generally operating in one of two modes.
2018-11-01 09:21:28 -05:00
Jimmy Berry
600a486745 Utilize ET.fromstringlist() intead of joining strings. 2018-08-16 00:26:53 -05:00
Ludwig Nussel
9e59de4feb stagingapi: add support for Backports 2018-07-03 15:25:56 +02:00
7238800b36 request_splitter: gcc8 is the default compiler now 2018-06-15 21:01:59 +08:00
2d13b11783 adi: place :NonFree requests in separate adi with :NonFree path. 2018-01-31 01:34:00 -06:00
Jimmy Berry
b1fd3ad49a osclib/core: request_age() return delta and handle Request object.
In #1370 devel-project.py was broken since it need delta.days and uses
Request class.
2018-01-29 03:14:24 -06:00
Jimmy Berry
b84beb6958 osclib/request_splitter: utilize osclib.core.request_age(). 2018-01-25 21:27:29 -06:00
Jimmy Berry
5e73e9498f osclib/request_splitter: replace devel_project_get() with core.devel_project_fallback(). 2018-01-17 18:12:42 -06:00
Ludwig Nussel
ad449c6d2c
Merge pull request #1344 from jberry-suse/request_splitter-special-config
osclib/request_splitter: allow special packages to be empty.
2018-01-15 14:57:45 +01:00
Jimmy Berry
55191625e8 osclib/request_splitter: rework quick strategy to handle Leap 15.0 workflow.
The addition of factory-auto and repo-checker reviews need to be allowed
since they are always present and do not constitute a non-quick review.
In an attempt to future proof the strategy the allowed review groups are
taken from the project configuration and repo-checker from config.
2018-01-12 16:52:49 -06:00
Jimmy Berry
3d43985d19 osclib/request_splitter: allow special packages to be empty. 2018-01-12 15:40:56 -06:00
Jimmy Berry
facb6fecf6 osclib/stagingapi: provide is_staging_bootstrapped() from request_splitter. 2017-12-21 00:31:01 -06:00
Jimmy Berry
e8c2799156 osclib/request_splitter: reduce default list of special packages. 2017-10-16 16:48:45 -05:00
Jimmy Berry
c9743b5df0 osclib/request_splitter: provide splitter-special-packages config variable. 2017-10-16 16:48:17 -05:00
Jimmy Berry
de586a664f osclib/request_splitter: for SLE, fallback to openSUSE:Factory devel projects. 2017-08-31 15:43:18 -05:00
Jimmy Berry
d873e16356 request_splitter: fallback to source project when devel is not present. 2017-06-14 22:18:10 -05:00
Jimmy Berry
dc40ec7ac4 request_splitter: only allow devel/super followup for non-bootstrapped. 2017-05-09 19:40:15 -05:00
Jimmy Berry
c78d98f9e6 request_splitter: should merge: allow devel and super if not ready. 2017-05-04 16:48:57 -05:00
Jimmy Berry
9ea9a50c35 request_splitter: expose age thresholds to config. 2017-05-01 17:40:33 -05:00
Jimmy Berry
7f9cc0f74c request_splitter: add staging whitelist config option.
For the initial Factory usage the bot will be allowed to stage on a subset
of the available stagings.
2017-04-28 15:42:09 -05:00
Jimmy Berry
3d503c1f2c request_splitter: provide quick strategy based on lack of reviews needed. 2017-04-18 13:36:40 -05:00
Jimmy Berry
2aa494aea3 request_splitter: provide Strategy.desirable() in base.
Default should be all groups are desirable which the strategy can override.
2017-04-18 13:33:05 -05:00
Jimmy Berry
959a8f7905 request_splitter: add super strategy for representing devel groups. 2017-04-17 23:06:24 -05:00
Jimmy Berry
59eda5d82d request_splitter: group_by(): provide required option and use in devel.
Staging packages with no devel project as a result of devel strategy seems
like the incorrect behavior.
2017-04-17 23:05:04 -05:00
Jimmy Berry
232219363c request_splitter: s/supliment/supplement/ in comment. 2017-04-17 22:55:41 -05:00
Jimmy Berry
446a30dde0 request_splitter: switch from build percentage to staging age for merge.
Using build percentage is sub-optimal since many events can reset the
percentage which can result in additional requests being merged into the
staging. A better metric is the time since the first request was added to
the staging (the age of the staging). Unfortunately, this is not trivial to
determine especially given that the original request may be superseded or
unstaged entirely. As such the datetime at which the staging was activated
is stored in the staging pseudometa. A max age is then used to allow for
merging up until that point.
2017-04-14 17:11:30 -05:00
Jimmy Berry
d8f7d03c33 request_splitter: allow user to override merge conditions. 2017-04-14 17:03:18 -05:00
Jimmy Berry
83f425f23a request_splitter: s/age_threshold/request_age_threshold/.
Makes room for more age related variables. My gut was to do this in the
first place which seems correct now.
2017-04-14 16:48:23 -05:00
Jimmy Berry
ef2bc90061 request_splitter: provide and utilize an aged attribute on requests. 2017-04-12 17:32:43 -05:00
Jimmy Berry
50a83d1108 request_splitter: use capital for boolean strings in supplement().
Given that str(boolean) is used a capital is sometimes present, but should
be consistent to remove the possibility for issues.
2017-04-12 17:32:43 -05:00
Jimmy Berry
4bea74ae3a request_splitter: s/suppliment/supplement/(). 2017-04-12 17:32:43 -05:00
Ludwig Nussel
e985d45cb3 Merge pull request #743 from jberry-suse/strategy-devel-min-map
request_splitter: add group min map to devel strategy.
2017-03-16 10:41:24 +01:00
Jimmy Berry
83acebb719 special strategy: drop python*. 2017-03-14 23:12:07 -05:00
Jimmy Berry
6e7c158df7 request_splitter: add group min map to devel strategy. 2017-03-14 01:22:13 -05:00
Ludwig Nussel
19a37c0553 Merge pull request #702 from jberry-suse/select-merge-and-strategies
Select automation: merge and strategies
2017-03-08 18:54:14 +01:00
Jimmy Berry
a6d7716eb0 osclib: wrap ignored request reason with str() to handle None. 2017-03-03 14:57:16 -06:00