Jimmy Berry
7bd6e44c4f
stagingapi: provide get_prj_meta_revision().
2017-06-01 10:12:09 +02:00
Jimmy Berry
c9608507ae
stagingapi: update_status_comments() utilize newer comment APIs.
...
- comment_find()
- add_marker()
2017-06-01 10:10:12 +02:00
Jimmy Berry
e74ce20953
stagingapi: get_prj_pseudometa() provide revision parameter.
2017-06-01 10:10:12 +02:00
Jimmy Berry
99a6de7798
stagingapi: get_prj_meta() provide revision parameter.
2017-06-01 10:10:12 +02:00
Jimmy Berry
8996c4c2ab
stagingapi: save_file_content() provide comment optional parameter.
2017-05-12 00:37:02 -05:00
28a0ee0c8e
Merge pull request #881 from nilxam/map_rings_fix
...
Refactor map_ring_package_to_subject to support corner case
2017-05-05 06:55:32 -05:00
edec29c6e1
Refactor map_ring_package_to_subject to support corner case
...
We have a corner case that package A in Ring2 and points to package B in Ring1,
map_ring_package_to_subject have to handle that as another non-inner project
link case, ie. the sub-package link must be created.
https://github.com/openSUSE/osc-plugin-factory/issues/876
2017-05-05 19:05:27 +08:00
Jimmy Berry
83aac77c6a
stagingapi: project_status_requests(): provide filter function.
2017-05-04 15:00:04 -05:00
Jimmy Berry
ed1dc8b788
stagingapi: project_status_requests(): filter requests changed < 5 min ago.
2017-05-04 15:00:04 -05:00
Jimmy Berry
22ec112225
list & adi: share common stagingapi.ignore_format().
2017-04-28 10:21:50 -05:00
Jimmy Berry
2c592bdb53
stagingapi: rebuild_broken(): utilize python argument expansion.
2017-04-27 16:29:21 -05:00
Jimmy Berry
4409304cb0
rebuild: colorize.
2017-04-27 16:29:21 -05:00
Jimmy Berry
448c88a56e
supersede: include ignore and decline in output.
2017-04-27 15:35:26 -05:00
Jimmy Berry
ac031bb915
stagingapi: provide fileinfo_ext_all() and fileinfo_ext().
2017-04-25 19:55:00 -05:00
Jimmy Berry
50166347e1
stagingapi: provide ring_archs() to return arch relevant to a ring.
2017-04-25 19:53:46 -05:00
Jimmy Berry
50f8042ba9
stagingapi: convert rebuild_broken to a generator for instant feedback.
...
Otherwise, the rebuild command does not print output until all the
rebuilds for a whole staging are completed. With this change each package
should be printed immediately.
2017-04-20 23:10:05 -05:00
Jimmy Berry
52d356db29
Merge pull request #834 from jberry-suse/supersede-command
...
supersede: separate command, feedback, and force supersede post source project check
2017-04-20 14:10:08 -05:00
Ludwig Nussel
0f9d4fc86a
Merge pull request #832 from jberry-suse/simplify-project-status-walk
...
stagingapi: simplify project_status_build_sum() with a generator.
2017-04-20 12:05:38 +02:00
Jimmy Berry
cf3ce7435e
stagingapi: bypass ignored list when supersede with target_requests.
2017-04-19 18:14:35 -05:00
Jimmy Berry
7e26435ee0
supersede: provide feedback about what requests were superseded.
2017-04-19 18:09:34 -05:00
Jimmy Berry
862ee547eb
supersede: allow list of request IDs or packages.
2017-04-19 18:09:34 -05:00
Jimmy Berry
b2ba0730de
stagingapi: enhance supersede target_pkgs to skip source project check.
...
This creates a facility for forcing a request, that was ignored due to
the source check, to supersede the existing one.
2017-04-19 18:09:25 -05:00
Jimmy Berry
567d6d7950
Merge pull request #831 from jberry-suse/obsolete-skip-superseded
...
unselect: filter superseded when using --cleanup.
2017-04-19 16:54:52 -05:00
Jimmy Berry
f79e35caeb
stagingapi: correct project_status_build_percent() formula.
...
final: packages in final state (not final count ie total)
tobuild: packages remaining to build
2017-04-19 16:08:39 -05:00
Jimmy Berry
e156e1cede
stagingapi: simplify project_status_build_sum() with a generator.
2017-04-19 15:23:49 -05:00
Jimmy Berry
9135f91620
unselect: filter superseded when using --cleanup.
2017-04-19 14:55:42 -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
06d93b7344
stagingapi: get_open_requests() provide query_extra option.
2017-04-12 17:32:43 -05:00
Jimmy Berry
8109772372
stagingapi: get_open_requests(): replace query string with dictionary.
2017-04-12 17:32:38 -05:00
Jimmy Berry
27c0db5a78
stagingapi: rebuild_broken(): ignore unresolvable packages.
2017-04-10 23:24:12 -05:00
Jimmy Berry
043dad76db
stagingapi: correct supersede call to IgnoreCommand.
2017-04-06 16:27:11 -05:00
Ludwig Nussel
37499194ce
Merge pull request #783 from jberry-suse/select-move-deactivate
...
osc-staging: handle `select --move` cleanup of empty source project.
2017-04-05 18:22:35 +02:00
Ludwig Nussel
5eae68a0d9
Merge pull request #784 from jberry-suse/adi-accept-comment
...
adi: create accept comment to be consistent with letter stagings. (and cleanups)
2017-04-05 18:21:51 +02:00
Jimmy Berry
1dfa8d2568
stagingapi: provide accept_status_comment() based on accept command.
2017-03-28 23:01:33 -05:00
Jimmy Berry
5a2cd2dc9a
osc-staging: handle select --move
cleanup of empty source project.
...
- handle build disable in select command just like comment instead of
stagingapi move_between_project() for consistency and to reduce double
checking the same information via extra API calls
- build_switch_staging_project() provides target_flag parameter rather
than trying to figure out flag value since caller has the context to
know and again reduces API calls
- build_switch_staging_project() checking conditions are essentially
checking if True is True since non-adi projects will always have ring
packages or rings disabled entirely. The condition of interest is
non-empty. Additionally adi projects are removed if empty so not a
terribly useful distinction to make.
- provide helper update_status_or_deactivate() to handle common logic
and replace in calling locations
2017-03-28 22:33:35 -05:00
Jimmy Berry
5185a7f569
stagingapi: invalidate get_open_requests() memoize cache after supersede.
2017-03-28 19:52:43 -05:00
Ludwig Nussel
a85e077925
Merge pull request #766 from jberry-suse/supersede-leap
...
refactor supersede logic and handle different source projects (additional cleanups)
2017-03-22 18:21:35 +01:00
Ludwig Nussel
79a193ab78
Merge pull request #770 from jberry-suse/cleanup-obsolete-untracked
...
support --cleanup for obsolete and untracked requests in unselect and repair commands
2017-03-20 15:40:17 +01:00
Jimmy Berry
8ebe94bc5f
stagingapi: get_ignored_requests() handle empty file.
2017-03-18 21:04:54 -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
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
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