4259 Commits

Author SHA1 Message Date
Jimmy Berry
e330765960 repo_checker: CreatePackageDescr: exclude build-env requirement.
Drop in #1644, but as suspected it is needed. The reason the side-effect
was not notice right away is the package description cache for a package
making use of the requirement must be rebuilt. This means the package
must be updated since the last time cache was built.

After completely a force rebuild of entire cache the behavior is correct
by only adding this back. Unlike the case below these binaries are not
published to the end-user so this is more a quirk of the data present in
OBS for staging projects.
2018-08-22 22:05:08 -05:00
Jimmy Berry
a02488ecf2
Merge pull request #1660 from jberry-suse/maintbot-supersede-by-ReviewBot
ReviewBot: add devel_project_review_*() methods adapted from maintbot (and port users)
2018-08-22 21:39:05 -05:00
Jimmy Berry
dab65356d7 leaper: replace maintbot usage with ReviewBot methods.
The maintenance_incident logic is always updated to mimic the maintbot
behavior in regards to when to add devel project review.
2018-08-22 21:24:58 -05:00
Jimmy Berry
31d6a872c7 check_source: replace maintbot usage with ReviewBot methods. 2018-08-22 21:24:58 -05:00
Jimmy Berry
a1c1334803 ReviewBot: add devel_project_review_*() methods adapted from maintbot.
The owner logic surrounding a package removed from Factory does not appear
to make sense as the current behavior of OBS never returns another owner
pair for such packages. As such the existing devel project lookup makes
more sense and is more straight forward.
2018-08-22 21:24:58 -05:00
Jimmy Berry
7fa84f7d51
Merge pull request #1657 from jberry-suse/repo_checker-psuedometa-staging-fix
repo_checker: rework install_check() to use target project consistently.
2018-08-22 21:21:28 -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
4cbeaa5508
Merge pull request #1661 from jberry-suse/leaper-default-maintainer-override-ibs-remove
leaper: remove duplicate maintainer review check for IBS in default action.
2018-08-22 18:10:13 -05:00
Jimmy Berry
7f26309a15
Merge pull request #1659 from jberry-suse/repo_checker-project_only-post-comments-wiring
repo_checker: project_only: hook up --post-comments flag.
2018-08-22 17:41:55 -05:00
Jimmy Berry
a9f1bc0ee7
Merge pull request #1658 from jberry-suse/osclib.core.repository_path_expand-skip-duplicate-path
osclib/core: repository_path_expand(): skip adding duplicate path.
2018-08-22 17:33:11 -05:00
Jimmy Berry
be2ed18b29 leaper: remove duplicate maintainer review check for IBS in default action.
The default is already set in check_one_request() (called before) to
  self.do_check_maintainer_review = not self.ibs
2018-08-22 00:31:35 -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
a8cfd74f1f osclib/core: repository_path_expand(): skip adding duplicate path. 2018-08-21 21:37:48 -05:00
Jimmy Berry
fa39e68d50
Merge pull request #1656 from jberry-suse/repo_checker-generic-repo-refactor
repo_checker: complete rework to handle arbitrary repos and maintenance (and related)
2018-08-21 20:57:15 -05:00
Jimmy Berry
af0d74a2df StagingAPI: drop inferior expanded_repos() implementation for osclib.core. 2018-08-21 20:49:31 -05:00
Jimmy Berry
36a5a6c2e4 pkglistgen: utilize osclib.core.repository_path_expand(). 2018-08-21 20:49:31 -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
341301fd0d osclib/util: provide sha1_short() adapted from repo_checker. 2018-08-21 20:47:37 -05:00
Jimmy Berry
7cb40bbe21 osclib/core: provide project_meta_revision() adapted from repo_checker. 2018-08-21 20:47:37 -05:00
Jimmy Berry
9f89eaad04 osclib/core: provide repository state and published functions. 2018-08-21 20:47:37 -05:00
Jimmy Berry
6e28fc4ec8 osclib/core: provide repository_path_search(). 2018-08-21 20:47:37 -05:00
Jimmy Berry
37540add5f osclib/core: provide repository_path_expand() adapted from StagingAPI. 2018-08-21 20:47:37 -05:00
Jimmy Berry
b6ab577a7f osclib/core: target_archs(): expose repository argument. 2018-08-21 20:47:37 -05:00
Jimmy Berry
6f9a81ff73 osclib/conf: drop main-repo default for all projects. 2018-08-21 20:47:37 -05:00
Jimmy Berry
53f7f42183 ReviewBot: utilize osclib.Cache for all bots by default.
Half the bots already utilize the Cache since it is used by StagingAPI
which they call, but really no reason for all of them not to use it by
default. With planned repo_checker changes the StagingAPI is not always
utilized, but it is desirable for the cache to always be used.

No sense calling Cache.init() in ReviewBot constructor as useless extra
calls when bots embed each other.
2018-08-21 01:56:05 -05:00
Jimmy Berry
3ece452a03 ReviewBot: utilize memoize cached config. 2018-08-21 01:53:29 -05:00
Jimmy Berry
d7d5724dae
Merge pull request #1655 from jberry-suse/pseudometa-container
osclib/core: provide project_pseudometa_*() functions (and related)
2018-08-20 21:03:44 -05:00
Jimmy Berry
1fe03c16f0 osc-staging: update "config" documentation to point to OSRT:Config. 2018-08-17 23:19:28 -05:00
Jimmy Berry
6d60708b59 osclib/core: source_file_save(): always include host in message. 2018-08-17 23:19:28 -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
5e6df089a6 osclib/stagingapi: drop {load,save}_file_content() methods.
Since the implementations have been made generic and dropped to osclib.core
there is not point in having wrappers in StagingAPI with the same args.
2018-08-17 22:15:58 -05:00
Jimmy Berry
26884da458 osclib/core: provide project_pseudometa_*() functions.
These methods provide for a generic place to store meta data related to
a project. For the time being, keep the original :Staging/dashboard
location for openSUSE products.
2018-08-17 22:11:28 -05:00
Jimmy Berry
89ab151a59 osclib/core: provide source_file_save() adapted from StagingAPI. 2018-08-17 22:07:14 -05:00
Jimmy Berry
c11f78eb83
Merge pull request #1651 from jberry-suse/conf-default-drop-staging
osclib/conf: remove staging default for generic projects.
2018-08-17 11:20:13 -05:00
Jimmy Berry
f0fadd6a05
Merge pull request #1650 from jberry-suse/conf-exclude-sub-projects
osclib/conf: exclude sub-projects from matching project patterns (and Leap:N:Update defaults)
2018-08-17 10:53:24 -05:00
Jimmy Berry
8092671ced
Merge pull request #1649 from jberry-suse/config-cached-get
osclib/conf: provide cached get() method to supersede ReviewBot cache.
2018-08-17 10:39:30 -05:00
Jimmy Berry
2180c4a2c6 ReviewBot: drop self.staging_config post switch to Config.get(). 2018-08-17 10:16:47 -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
5b5d917074 osclib/conf: provide cached get() method to supersede ReviewBot cache.
Given the slow migration of everything to the shared project config in
tools that change project contexts multiple times a consistent way of
accessing the config without forcing remote calls is needed.
2018-08-17 10:16:43 -05:00
Jimmy Berry
343213fb48 check_source: drop staging_group() for target_project_config().
The staging_group() method pre-dates the target_project_config(), but
essentially accomplishes the same for a single value.
2018-08-17 10:04:34 -05:00
Jimmy Berry
55116d31b5
Merge pull request #1648 from jberry-suse/config-decouple-and-require
osclib/conf: decouple from StagingAPI and always fetch remote config.
2018-08-17 10:02:37 -05:00
Jimmy Berry
93038db6fb
Merge pull request #1647 from jberry-suse/staging-setprio-optional-priority
osclib/prio: support non-important priority.
2018-08-17 09:54:42 -05:00
Jimmy Berry
5b44ea188d osclib/conf: provide Leap:N:Update default settings. 2018-08-17 00:08:09 -05:00
Jimmy Berry
f6550bfe87 osclib/conf: remove staging default for generic projects.
The original case was to enable remote config, but in general and with
up-coming changes having the staging setting falsely set like this is not
ideal. Since the remote config is loaded via attribute this does not even
affect it anymore. The proper change is to make the "dashboard" container
configurable which is planned.
2018-08-17 00:03:59 -05:00
Jimmy Berry
77e27fae9e osclib/conf: exclude sub-projects from matching project patterns.
Otherwise, :Update projects match the primary product settings which
gives the wrong impression to tools as things like :Update:Staging do
not exist. Since :Update and other sub-projects are in a different phase
of development they should really have separate settings. :Ports however
does have stagings and in theory should act like parent product. If it
becomes desirable to split that can be done in the future.

Some policy settings related to ReviewBots likely are desirable to carry
over, but that can be resolved in follow-up as they are not currently used.
2018-08-16 23:50:23 -05:00
Jimmy Berry
0696a0fe6c osclib/stagingapi: utilize osclib.core.attribute_value_*() implementations.
Provides convenience aliases that require less arguments.
2018-08-16 22:01:46 -05:00
Jimmy Berry
dace1c3997 tests/obs: improve format of default Config attribute. 2018-08-16 21:54:20 -05:00