131 Commits

Author SHA1 Message Date
Stephan Kulow
aa9f55cf6b Fix whitelist handling of repo checker in python3 2019-05-27 14:11:50 +02:00
Stephan Kulow
e971d711a2 Convert stdout of repo checker perl part to string 2019-05-16 13:43:36 +02:00
Stephan Kulow
6f83acfae4 Run source and repo checker in python3 2019-05-16 06:39:28 +02:00
Stephan Kulow
fec762e5a4 Avoid warning on using .warn (python3) 2019-05-11 14:25:02 +02:00
Stephan Kulow
3cd79db206 repo_checker: Simplify cycle check
No longer compare against the target project's cycle, but just against
a configured list of package names. This way we're not bound to
refreezing stagings if we reduced cycles and it's clearer to the
operator what happens and how to react to it.
2019-02-11 09:02:29 +01:00
Stephan Kulow
5d70263e89 Fix arch-whitelist to apply to staging projects
It was read from 'project', which was the staging project - which doesn't
have remote config
2019-02-06 10:55:48 +01:00
Stephan Kulow
730ea82927 Filter the repositories_pairs depending on the target archs 2019-02-06 09:54:34 +01:00
Stephan Kulow
0c73225f3d Don't try to filter staging archs
Now that we no longer wait for the target repo to be published, we
can simplify the handling
2019-02-06 08:00:13 +01:00
Stephan Kulow
48b7d5b094 Calculcate the whitelist for letter stagings purely on config 2019-02-06 07:51:36 +01:00
Stephan Kulow
3b3ccab783 Expand all repositories but ignore archs with 404 2019-02-06 06:30:51 +01:00
Jimmy Berry
516d4e94de repo_checker: remove explicit target project repository layer for letter stagings.
Keep the rings as non-leaky as possible and use
repo_checker-binary-whitelist-ring for everything else.
2019-02-05 12:45:21 -06:00
Jimmy Berry
4e30d10318 repo_checker: provide repo_checker-binary-whitelist-ring config option. 2019-02-05 12:45:14 -06:00
Jimmy Berry
1e34a8f47e repo_checker: filter repository published check by arch. 2018-10-24 18:00:09 -05:00
Jimmy Berry
30a42af6ca repo_checker: repository_state_last(): switch to simulate_merge as arg.
For the sake of consistency now that repository_state() also requires it.
2018-10-24 17:59:40 -05:00
Jimmy Berry
12c9819614 repo_checker: repository_state(): limit meta revision to simulate merge.
Only staging projects are allowed to have psuedometa that makes it relevant
to include the project meta revision.
2018-10-24 17:56:49 -05:00
Jimmy Berry
ff722f03b8 repo_checker: repository_state(): filter by relevant archs. 2018-10-24 17:55:04 -05:00
Jimmy Berry
dc91518b0a repo_checker: extract arch determination as target_archs_from_prairs(). 2018-10-24 17:52:18 -05:00
Jimmy Berry
616281e75f repo_checker: utilize 'staging' config option for instantiating StagingAPI. 2018-10-18 16:20:30 -05:00
Jimmy Berry
c74e40ba70 osclib/cycle: remove need for StagingApi instance in favor of apiurl. 2018-10-18 16:20:30 -05:00
Jimmy Berry
a0de4c5b94 repo_checker: re-instate staging build failure check after generic rework. 2018-09-28 17:27:04 -05:00
Jimmy Berry
406fc41a85 ReviewBots: utilize delete_package check where it was already assumed. 2018-09-17 17:15:23 -05:00
Jimmy Berry
c47bb4c902 Utilize CacheManager for all existing caches. 2018-09-04 15:19:02 -05:00
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