109 Commits

Author SHA1 Message Date
Jimmy Berry
9641379679 Revert "repo_checker: change build to state in comment info."
Works, but overrides the base state properly which is not desired.

This reverts commit 3db3a182855510c0b016e83888693e03e227e000.
2018-08-23 11:26:13 -05:00
Jimmy Berry
db50e7918b
Merge pull request #1669 from jberry-suse/repo_checker-multi-repository-request
repo_checker: include repository as bot name suffix for staging and direct package comments.
2018-08-23 08:01:15 -05:00
Jimmy Berry
3bdcad9ead
Merge pull request #1667 from jberry-suse/repo_checker-build-to-state
repo_checker: change build to state in comment info.
2018-08-23 08:00:52 -05:00
Jimmy Berry
ec3c1d1b6e
Merge pull request #1668 from jberry-suse/repo_checker-project-skip
repo_checker: provide repo_checker-project-skip option (and utilize for OBS SLE projects)
2018-08-23 08:00:05 -05:00
Jimmy Berry
108e0a2bf4 repo_checker: include repository as bot name suffix in direct package comment.
This allows for multiple project_only runs with a different main-repo set.
It is very unlikely this feature will be used, but will handle it properly
to be consistent with pseudometa file name.
2018-08-23 00:39:06 -05:00
Jimmy Berry
da507a4147 repo_checker: include repository as bot name suffix for staging comments.
This becomes necessary for multi-action requests like those seen in
maintenance where there may be multiple repositories reviewed for a single
request. The result is multiple comments made on the staging project which
would override each other. This treats them separately just as devel
project comments do with target project.
2018-08-23 00:38:56 -05:00
Jimmy Berry
bf69419996 repo_checker: provide repo_checker-project-skip option.
Allows for skipping review of an action based on the target project config.
2018-08-22 23:56:46 -05:00
Jimmy Berry
3db3a18285 repo_checker: change build to state in comment info.
The more accurately reflects what the hash represents since it grew to
include the staging project meta revision and may end up including more.
2018-08-22 23:39:33 -05:00
Jimmy Berry
cdef5bf129 repo_checker: change package comment default to be direct instead of devel.
Since the tool has been expanded to work on any repository, there are more
repositories that would want direct comments than devel. Set the value
to be devel for the openSUSE products which are the places where that is
desirable.
2018-08-22 21:43:47 -05:00
Jimmy Berry
a7f08f656c repo_checker: repository_check(): drop left over development comment. 2018-08-22 20:49:57 -05:00
Jimmy Berry
2931e9aedb repo_checker: rework install_check() to use target project consistently.
Removes the need for the odd parse argument behavior.
2018-08-22 20:49:23 -05:00
Jimmy Berry
730ea38464 repo_checker: project_only: hook up --post-comments flag.
The code is all there, but in the rework missed wiring it up.
2018-08-21 21:48:50 -05:00
Jimmy Berry
a57fe7ba4e repo_checker: complete rework to handle arbitrary repos and maintenance.
The rework includes a variety of changes:

- multiple actions per request supported
- automatically detecting "main" repo (useful for devel/home projects)
- full layered repository path state and published taken into account
- arbitrary repository name (ie. not just standard) supported
- intermediate results (used for staging) no longer accept (even if no
  problems detected) until all layers are published
- no longer tied to staging process, but still supports staging workflow
- robust handling of repository state changes during review cycle
- multiple repositories supported for project_only output (ie. file name)
- project_only run supports any OBS project instead of only products
- maintenance_release requests supported with alternate staging approach
2018-08-21 20:49:26 -05:00
Jimmy Berry
536e17cb79 osclib/stagingapi: rename dashboard_content_* methods to pseudometa_file_*.
No need to be confusing and use the deprecated dashboard name.
2018-08-17 23:19:24 -05:00
Jimmy Berry
24b15d6b0b Replace relevant 'dashboard' package references with pseudometa lookup.
Skipping some of the broader once which have no tangible impact, but are
expensive to change.
2018-08-17 23:18:32 -05:00
Jimmy Berry
8cffc2e553 repo_checker: use osclib.conf.str2bool() instead of bool(). 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
2809f3934a repo_checker: drop whitelist_clean sub-command.
No longer needed since the whitelist is no longer managed manually.
2018-08-15 16:43:48 -05:00
Jimmy Berry
9fdea5fbee repo_checker: determine existing problems based on project_only output.
The project level whitelist stored in config is no longer utilized, but
staging level overrides are still available.
2018-08-15 16:43:00 -05:00
Jimmy Berry
eed6ddecbe
Merge pull request #1640 from jberry-suse/repo_checker-layering
repo_checker: properly support multi-layer projects
2018-08-15 16:41:49 -05:00
Jimmy Berry
07bc6c031a repo_checker: whitelist_clean(): correct attribute_value_save().
coolo decided to miss this the first time around then "fix" it without
running even once. Wrong number of arguments.
2018-08-14 18:56:37 -05:00
Jimmy Berry
a1cf089572 repo_checker: support multi-layer projects during project_only run.
Include problems from all the layers instead of just the top layer as this
is effectively what the end-user would see.
2018-08-14 18:45:13 -05:00
Jimmy Berry
9e862efeb7 repo_checker: properly support multi-layer projects during request mode.
Previously, the additional layers supported added by coolo treated them
like staging projects which meant that everything except the bottom
override the bottom. Obviously, for SLE service packs this is not correct.

This rewrorks the underlying perl script to support a stack of directories
where the second directory is assumed the be the target project for the
purposes of the toignore (-f) argument and the top layer is the only
one for which problems are reported.
2018-08-14 18:45:10 -05:00
Stephan Kulow
4f275a5af8 Move expanded_repos into staging api
and make pkglistgen and repo_checker use it. We will have more
cases in the future of tools requiring it :)
2018-07-19 09:14:30 +02:00
Stephan Kulow
94e2127dd8 repo_checker: Expand repositories of target project
For Factory, Leap and SLE15 it doesn't matter as they are self contained.
But for Service Packs we use layering, so we need to mirror and check them
too
2018-07-19 09:04:40 +02:00
Stephan Kulow
44f93dfa7c repo_checker: Fix the review loop
The break on openQA failures is a left over from 93ee829260a6abf094cbbc31e26eb21bf45e8f15
where we stopped the loop over subprojects. We don't want to break out of
the review loop on openQA failures
2018-07-19 08:44:59 +02:00
71763873e3 stagingapi: remove staging_walk() function
DVD subproject has been obsoleted, no need to check :DVD anymore.
2018-07-04 21:27:19 +08:00
93ee829260 stagingapi: remove project_status_walk() function
subprojects method has been removed from dashboard,
project_status_walk() is not needed anymore.
2018-07-04 21:24:24 +08:00
Stephan Kulow
140057cad4 repo_checker: Fix config read/load
Fixes #1587
2018-06-25 14:59:33 +02:00
Jimmy Berry
9f20fc7f73
Merge pull request #1547 from jberry-suse/repo_checker-whitelist_clean-binaries-common-None
repo_checker: whitelist_clean: handle binaries_common being None.
2018-05-16 14:31:47 -05:00
Jimmy Berry
eb5d4223dd repo_checker: sort whitelist before writing to config. 2018-05-15 20:17:04 -05:00
Jimmy Berry
bef3706758 repo_checker: include final newline in dashboard/repo_checker file. 2018-05-15 20:16:59 -05:00
Jimmy Berry
b2b8cd6cbd repo_checker: whitelist_clean: handle binaries_common being None.
Otherwise, if len(binaries_common) causes crash when no arch specific
entries. Of which Leap:15.0 is the only one currently.
2018-05-15 17:54:07 -05:00
Jimmy Berry
1730947869
Merge pull request #1516 from jberry-suse/repo_checker-project_only-hourly
repo_checker: project_only: store build hash and skip when unchanged and increase timer frequency to hourly
2018-04-27 11:16:33 -05:00
Jimmy Berry
4f26b0881a repo_checker: project_only: store build hash and skip when unchanged. 2018-04-26 15:34:35 -05:00
Jimmy Berry
e4ff9c1b0b repo_checker: invoke whitelist_clean() as part of project_only. 2018-04-26 15:09:59 -05:00
Jimmy Berry
81c900d913 repo_checker: whitelist_clean: provide interactive flag. 2018-04-26 15:09:43 -05:00
Jimmy Berry
bfb20af7d1 repo_checker: provide whitelist_clean subcommand.
Removes whitelist entries that are no longer mentioned in repo_checker
output and condenses entries common to all.
2018-04-24 17:45:10 -05:00
c676ba7384
repo-checker: Check delete requests for provided runtime dependencies
So far, repo-checker only validated that a delete request won't cause build
dependency failures, but there was no check that removal of a package won't
break other runtime dependencies.

Fixes issue #277
2018-03-24 13:54:12 +01:00
Jimmy Berry
a7931226b7 repo_checker: format what_depends_on as markdown bulleted list. 2018-03-07 14:11:43 -06:00
Jimmy Berry
cdf70be122 repo_checker: provide comment command to skip-cycle for group.
For example (on staging project):

  @repo-checker skip-cycle
2018-03-06 16:42:12 -06:00
Jimmy Berry
f6869b598b repo_checker: utilize ReviewBot.comment_api instead of new instance. 2018-03-06 16:42:12 -06:00
Jimmy Berry
d38307327e
Merge pull request #1360 from jberry-suse/repo_checker-project_only-post-comments-no-devel
repo_checker: skip packages for which not devel project exits.
2018-01-25 09:20:17 -06:00
Jimmy Berry
2dbe361cd7 repo_checker: skip packages for which not devel project exits.
This can occur when a package is removed from Factory, but still present
in Leap like libtxc_dxtn currently.
2018-01-23 21:23:20 -06:00
Jimmy Berry
b2e4e5b3b6 repo_checker: project_only(): correct not published check.
Incorrectly changed in 456a7c8.
2018-01-23 20:59:20 -06:00
Jimmy Berry
0e41747c4e repo_checker: package_comments(): provide option to post on target package.
For SLE where devel projects are not utilized post on the target packages
directly. Posting on the devel projects might make sense, but would pose
the risk of exposing IBS information on OBS prematurely.
2018-01-19 08:50:32 -06:00
Jimmy Berry
d712e8018f repo_checker: package_comments(): switch to devel_project_fallback().
This allows Leap to post to devel projects based on Factory.
2018-01-19 08:50:32 -06:00
Jimmy Berry
0d9c2d2a6c repo_checker: package_comments(): support mutiple target projects.
This allows both Factory and Leap to make comments to devel projects.
2018-01-19 08:50:32 -06:00
Jimmy Berry
f52b728333 repo_checker: package_comments(): include link to target package. 2018-01-19 08:50:32 -06:00
Jimmy Berry
8c4891bd95 ReviewBot: replace get_devel_project() with osclib.core.devel_project_get(). 2018-01-17 18:09:30 -06:00