960 Commits

Author SHA1 Message Date
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
a8cfd74f1f osclib/core: repository_path_expand(): skip adding duplicate path. 2018-08-21 21:37:48 -05:00
Jimmy Berry
af0d74a2df StagingAPI: drop inferior expanded_repos() implementation for osclib.core. 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
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
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
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
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
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
760ddf39e6 osclib/conf: decouple from StagingAPI and always fetch remote config.
As the remote config is no longer optional for SLE and is utilized by
openSUSE to the point were it is dangerous not to load the remote config
it should be required. Currently only certain users call apply_remote()
while this will make it built-in during construction and thus makes the
usage consistent and no longer require StagingAPI.
2018-08-16 21:53:40 -05:00
Jimmy Berry
68c3150069 osclib/conf: utilize osclib.core.attribute_value_load() instead of StagingAPI. 2018-08-16 21:42:58 -05:00
Jimmy Berry
65be714632 osclib/conf: drop dashboard/config migration to attribute.
Should no longer be needed and provides one less dependency on StagingAPI
which will be removed from Config class.
2018-08-16 21:41:14 -05:00
Jimmy Berry
8bdf571154 osclib/core: provide attribute_value_(load|save) adapted from StagingAPI. 2018-08-16 21:38:11 -05:00
Jimmy Berry
9c0eb82f51 osclib/prio: support non-important priority. 2018-08-16 18:05:20 -05:00
Jimmy Berry
ffcee027c0 osclib/core: maintainers_get(): rework to properly supports groups.
Previously, group members were only added if no maintainers were present
whereas group members should always be considered. Additionally, project
queries never included group members. Now groups are included in both.
2018-08-16 00:31:37 -05:00
Jimmy Berry
038bec6113 osclib/core: provide groups_members() to expand muliple groups users. 2018-08-16 00:27:37 -05:00
Jimmy Berry
600a486745 Utilize ET.fromstringlist() intead of joining strings. 2018-08-16 00:26:53 -05:00
Stephan Kulow
cc79ce04f0
Merge pull request #1628 from coolo/fix_1626
Lazy evaluation the ring projects
2018-08-01 16:58:33 +02:00
Stephan Kulow
b40036fb71 Lazy evaluation the ring projects
So we can use the StagingAPI also for projects below the target
project

Fixes #1626
2018-08-01 16:15:48 +02:00
Björn Geuken
9552b16330 Rename superseded_by_id to superseded_by
OBS is going to drop the superseded_by_id attribute soon as it is just
an alias for superseded_by.
2018-08-01 10:49:10 +02:00
Stephan Kulow
9951b454fb
Merge pull request #1620 from coolo/fix_repo_checker
repo_checker: Fix the review loop
2018-07-19 21:54:39 +02: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
d113e01bbb Add Leap 15.1 ARM support 2018-07-16 15:51:47 +02:00
Stephan Kulow
ae97da90e5 Remove more of :DVD subproject handling 2018-07-05 20:43:07 +02:00
6a8062c071 check_command: subproject method is no longer exists in dashboard 2018-07-05 16:31:25 +08: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
Ludwig Nussel
9e59de4feb stagingapi: add support for Backports 2018-07-03 15:25:56 +02:00
Ludwig Nussel
6bdf227553 stagingapi: apply default config first
by reinterpreting the fallback as default we can actually install
default values without having to touch all other sections
2018-06-29 13:07:05 +02:00
30c32af1aa No longer have Ring2 and staging :DVD subproject 2018-06-29 18:29:47 +08:00
Jimmy Berry
da36ae9931 check_source: replace one action limitation with configurable rule.
Allows tool to be used on multi-action requests while still enforcing
the rule for Factory and Leap which should reject such requests due to
staging process.
2018-06-28 12:14:19 -05:00
Jimmy Berry
e6157ce837 osclib/stagingapi: attribute_value_load(): ensure using desired value.
OBS likes to not follow its API documentation and tends to ignore the
specific attribute option and returns everything. This results in
returning the first element that lxml decide to match to the pattern.

Not sure if OBS broke this recently, or if #1573 was poorly tested.
2018-06-27 17:00:36 -05:00
Jimmy Berry
a909b40461 osclib/stagingapi: superseded_request(): revert poor indentation changes.
Human eyes can vertically. One does not write math homework like:

1. y = mx + b
        b = y - mx

or

1. y = mx + b
b = y - mx


one write it

1. y = mx + b
   b = y - mx
2018-06-20 15:30:13 -05:00
Stephan Kulow
67121e297e
Merge pull request #1573 from coolo/use_attributes
Use attribute to store staging config
2018-06-19 06:38:32 +02:00
7238800b36 request_splitter: gcc8 is the default compiler now 2018-06-15 21:01:59 +08:00