709 Commits

Author SHA1 Message Date
Jimmy Berry
8ebe94bc5f stagingapi: get_ignored_requests() handle empty file. 2017-03-18 21:04:54 -05:00
Jimmy Berry
37ce041b9d repair: support the --cleanup flag to include all untracked requests. 2017-03-18 18:14:47 -05:00
Jimmy Berry
94a4629d2c unselect: support the --cleanup flag to include all obsolete requests. 2017-03-18 18:13:42 -05:00
Jimmy Berry
3505736fe0 stagingapi: project_status_requests() to extract all requests of type. 2017-03-18 18:06:51 -05:00
Jimmy Berry
e41c58cb3b stagingapi: refactor supersede logic and handle different source projects.
Primarily an issue for Leap in that requests originating from different
source projects may be submitted for the same package at once. Instead of
always superseding the previous request the request will only be
superseded if it originates from the same project.

If different sources md5s are found the request will be ignored and left
for manual review and an identical request will be declined.
2017-03-17 17:23:30 -05:00
Jimmy Berry
01868da548 stagingapi: do not attempt to supersede ignored requests. 2017-03-17 17:20:06 -05:00
Jimmy Berry
6669190e98 stagingapi: simplify finding action in superseded_request(). 2017-03-17 17:18:47 -05:00
Jimmy Berry
f5115930bc stagingapi: provide source_info_request() helper. 2017-03-17 17:17:58 -05:00
Jimmy Berry
8a33032c96 stagingapi: provide source_info() from ReviewBot. 2017-03-17 17:17:39 -05:00
Jimmy Berry
e1626db5e7 stagingapi: @memoize to get_ignored_requests() and get_open_requests().
Based on usage neither of these are refreshed during a single run, but
are called multiple times in function chains.
2017-03-17 17:16:49 -05:00
Jimmy Berry
76dc41ed45 ignore|uningore: use past tense in output. 2017-03-17 14:45:31 -05:00
Jimmy Berry
ee5f265265 ignore: add default comment message if none provided. 2017-03-17 14:44:27 -05:00
Jimmy Berry
12cd69c6ab ignore: remove validation since that is handled by RequestFinder. 2017-03-17 14:43:52 -05:00
Jimmy Berry
89c75ab227 unignore: add comment when a request is unignored.
Without a comment the only indication of when a request was unignored
is in the revision history of ignored_requests file.
2017-03-17 14:41:43 -05:00
Jimmy Berry
5927b2b283 unignore: utilize RequestFinder. 2017-03-17 14:41:11 -05:00
Jimmy Berry
d7e4cac7cb check: stagingapi.check_project_status() does not have verbose argument. 2017-03-17 14:13:34 -05:00
Jimmy Berry
84e1b66cd8 setprio: utilize project_status() and refactor to support list of stagings.
The existing setup was inconsistent in that it was copied from check, but
documented that it supported multiple specific stagings. Assuming that
would be a desired feature anyway it has been reworked.
2017-03-17 14:11:55 -05:00
Ludwig Nussel
331ec53e72 Merge pull request #762 from jberry-suse/project-status-aggregate
stagingapi: utilize aggregate backend call wherever possible.
2017-03-17 15:00:10 +01:00
Ludwig Nussel
3158189c09 Merge pull request #744 from lnussel/setprio
Add setprio command
2017-03-17 11:17:50 +01:00
Jimmy Berry
b4abfd8b58 stagingapi: refactor _get_staged_requests() to use project_status(). 2017-03-16 23:16:26 -05:00
Jimmy Berry
e17ee8cd53 stagingapi: handle empty string in load_prj_pseudometa(). 2017-03-16 22:42:28 -05:00
Jimmy Berry
959232e441 check: utilize project_status(). 2017-03-16 22:13:57 -05:00
Jimmy Berry
7b6ead4047 adi: utilize extract_staging_short() and project_status(). 2017-03-16 22:13:55 -05:00
Jimmy Berry
19a6d60c78 stagingapi: allow project_status() to utilize aggregate backend call. 2017-03-16 22:11:12 -05:00
Jimmy Berry
791d25046d stagingapi: correct spelling supseded_request() -> superseded_request(). 2017-03-16 18:33:40 -05:00
Jimmy Berry
7580e5504d stagingapi: allow staging to be None in project_status() to return all. 2017-03-16 14:35:12 -05:00
Ludwig Nussel
866a28adad Prepare repochecker for Leap 2017-03-16 17:04:05 +01:00
Ludwig Nussel
6e0826801f Add setprio command
raise priority for requests in review
2017-03-16 14:43:28 +01: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
Ludwig Nussel
4a03f9ab73 Merge pull request #750 from jberry-suse/unselect-empty-staging-deactivate
unselect: cleanup stagings left empty after request removal.
2017-03-16 10:41:06 +01:00
Jimmy Berry
1c646a3c9c list: remove duplicate empty list handling for dispatch_open_requests(). 2017-03-15 15:49:06 -05:00
Jimmy Berry
83acebb719 special strategy: drop python*. 2017-03-14 23:12:07 -05:00
Jimmy Berry
80e0ce4ea8 unselect: cleanup stagings left empty after request removal. 2017-03-14 23:03:02 -05:00
Jimmy Berry
8b5dc5d7c8 accept: refactor staging cleanup into stagingapi. 2017-03-14 23:02:52 -05:00
Jimmy Berry
6e7c158df7 request_splitter: add group min map to devel strategy. 2017-03-14 01:22:13 -05:00
Jimmy Berry
1b638a533b osc-staging: provide rebuild_check() to conditionally rebuild failures. 2017-03-14 00:24:23 -05:00
Ludwig Nussel
35a401806f Merge pull request #718 from jberry-suse/devel-project-tool
Devel project tool: review reminders
2017-03-10 15:32:52 +01:00
Ludwig Nussel
95cfd9699f Merge pull request #720 from jberry-suse/unselect-ignore-requestfinder
ignore: integrate with unselect and use requestfinder
2017-03-10 15:16:22 +01:00
Jimmy Berry
30441638e8 osc-staging: utilize RequestFinder in ignore command. 2017-03-10 01:31:15 -06:00
Jimmy Berry
47459ccb29 CommentAPI: provide comment_find() and add_marker() from ReviewBot. 2017-03-10 00:09:27 -06:00
Jimmy Berry
13b7ae9d8a osc-staging: provide rebuild command.
Often packages will fail to build after becoming stuck or other false
negative cases and need to have a rebuild triggered. The process can be
tedious if several packages failed in various stages.
2017-03-08 16:17:31 -06: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
d7c83bb9fb Merge pull request #706 from jberry-suse/extract-staging-short
stagingapi: extract_staging_short() correction for non-letter parse.
2017-03-06 16:15:57 -06:00
Jimmy Berry
7bc9010314 stagingapi: extract_staging_short() correction for non-letter parse. 2017-03-03 15:07:32 -06:00
Jimmy Berry
a6d7716eb0 osclib: wrap ignored request reason with str() to handle None. 2017-03-03 14:57:16 -06:00
Jimmy Berry
c6b37d60ab osc-staging: provide --cleanup option for unignore. 2017-03-02 15:38:12 -06:00
Jimmy Berry
27a6772dce request_splitter: add strategy_do_non_bootstrapped().
Utilize in select command to fallback to none strategy and also excluded
packages that require bootstrapping.
2017-03-01 01:08:23 -06:00
Jimmy Berry
17147acb15 request_splitter: add @postponed concept.
This allows for high priority strategies that were unable to be staged
this round to be postponed until there is a staging available.
2017-03-01 01:08:23 -06:00
Jimmy Berry
ad4d93a5b4 request_splitter: rework internals to support merge and strategies.
- reworked internal representation of stagings to be more flexible
- new considerable staging state of mergeable based on set of conditions
- multiple proposal stages can be combined to create one proposal
- proposals may now fail to find every group a home without stopping
- splitter_info is stored when first request in an empty staging is staged
  to allow for automated merging into that staging
- strategy concept introduced along with several strategies
- strategy_try() concept for applying multiple strategies and keeping
  desirable groups which provides a solid basis for making smart decisions
- merge() introduced for merging new requests into existing stagings
- various internal cleanups along the way

functionality exposed via osc-staging:
- new options: --merge, --try-strategies, --strategy
- splitter info written when not merging

stagingapi: add set_splitter_info_in_prj_pseudometa().
2017-03-01 01:08:23 -06:00
Jimmy Berry
67d274e6eb request_splitter: extract is_staging_bootstrapped(). 2017-03-01 01:08:23 -06:00