118 Commits

Author SHA1 Message Date
Stephan Kulow
8576f22876 Fix test suite for accept 2019-11-24 19:21:14 +01:00
Stephan Kulow
529c5623a6 Remove nonfree handling
Prepare NonFree as onlyadi project, so it can have its own staging workflow
2019-11-21 14:49:29 +01:00
Ludwig Nussel
d78e4306d7 unselect: only set origin-manager for whitelist cleanup
anything else needs to be defined in attribute
2019-11-11 10:35:53 +01:00
Jimmy Berry
a3b1d627b4 osclib/conf: configure maintenance staging review options for origin-manager. 2019-11-07 10:59:21 -06:00
58bc706bf0
conf.py: remove delreq-review default setting
With the removal of the complex delete request handling, we no longer
need the option to assign a specific reviewer to delreqs in process
2019-10-18 10:37:46 +02:00
Stephan Kulow
f840a6f206 Add maintenance-installcheck next to staging-installcheck
A rather small reviewbot just made for one thing: check maintenance
release requests. They are much easier to handle: they are only created
on locked projects, so there is no waiting required. Just checking
and if it's broken, the request can be declined.
2019-06-05 15:37:43 +02:00
Stephan Kulow
195bb65b48 Ignore current Factory duplicates 2019-05-29 20:31:28 +02:00
Jimmy Berry
e66fa4c404 osclib/conf: convert all non-string defaults to string equivalents.
Python3 osc config parsing explodes on non-strings.
2019-05-02 14:55:12 -05:00
Stephan Kulow
75bc903497 Don't add repo-checker from factory-auto in Leap
This leaves repo checker for incidents
2019-03-23 19:14:20 +01:00
Stephan Kulow
854aefad8a No longer add repo checker as reviewer for Factory 2019-03-08 13:42:34 +01:00
Stephan Kulow
d40e1b0722 Add all checks from staging-required-checks-adi to main repo of adi projects
For Factory I want to switch away from repo checker reviews, but a required
check on project level. So first step: make it required for adi projects.
2019-03-07 17:07:39 +01:00
Jimmy Berry
830bce9944 osclib/conf: properly load config for innerconnect projects. 2019-02-15 14:16:23 -06:00
Jimmy Berry
45d29888a9 osclib/conf: add repo-checker key since it does review :Update requests. 2019-02-15 14:16:23 -06:00
Ludwig Nussel
6ed0e7bfb5 conf: use backports-reviewers for backports 2019-02-04 16:05:14 +01:00
Stephan Kulow
b4dd97da3d Moved the nocleanup-packages setting into remote config
It shouldn't matter which branch of the tools are installed
2019-01-17 15:06:28 +01:00
Stephan Kulow
8351d2e677 pkglistgen: Move suggested from global to package level
There is no product that wants all suggests for all products on all groups,
so the only product left that wants to have suggests is Tumbleweed for the DVD
pattern

To solve the suggests we run a global transaction on the
result + its suggests to determine packageand supplements.
To avoid problems (in general) we discard obsolete and conflicts
in packages - so we can have product groups with conflicting packages
and still get the additional supplements
2019-01-17 14:35:17 +01:00
Stephan Kulow
53595a24bf droplist: Ignore Leap:15.1 for Leap:15.1:ARM
The heuristic calculating the product family doesn't really work
for ports, so give the tool some hints in the config. And as 15.1
doesn't have a baseurl yet, we need to give 15.0 one specifically.
2018-12-04 07:42:33 +01:00
Stephan Kulow
5da698c8af Do not generate drop list for leap:15.1:arm at the moment
I moved the baseurl into the remote config so that Dirk can enable it
when the repo was published
2018-12-04 07:03:11 +01:00
Stephan Kulow
ee72a3efb0 No longer default to all scopes but make it configurable
By default only generate the pkglists for the target project, only
for leap we configure rings and stagings as additional scopes to look
at
2018-12-04 04:43:18 +01:00
Stephan Kulow
c31c259530 Also remove 'arm' scope 2018-12-03 19:36:17 +01:00
86732dc472 ttm: add minimal staging config for pseudometa package
The config default for pseudometa package (00Meta) does not
exist for Tumbleweed, so we need to add an override for :ARM
to contain the proper information so that the publishing
logic doesn't stop. Also update correspondingly for Leap
2018-11-26 10:51:51 +01:00
Stephan Kulow
db81c0bbf7 Checked with aplanas: using stringio is preferred 2018-11-16 15:03:40 +01:00
Stephan Kulow
fa7be820c9 Remove the reduce call the brute force way
reduce() is no longer part of python core, but we don't
need it actually - since we use remote configs, we have
no more required settings (otherwise we put them in remote).

And to quote the python docu as I found it interestingly
proving my own impression of this code:

> Removed reduce(). Use functools.reduce() if you really need it;
  however, 99 percent of the time an explicit for loop is more readable.
2018-11-16 08:56:18 +01:00
Stephan Kulow
159c672cf1 basestring is gone - in favor or str (which also works for python2) 2018-11-16 08:56:10 +01:00
Stephan Kulow
24ae4ba819 Port more code to run under python3
(python2 compat kept)
2018-11-16 08:14:56 +01:00
Jimmy Berry
35594e5f05 osclib/conf: include NonFree subproject in openSUSE patterns.
Intentionally left outside of <project> group so that the NonFree
subproject still uses the main Staging subproject.
2018-10-18 15:55:41 -05:00
Jimmy Berry
8ec1e1777b osclib/conf: remove Ports subprojects as they no longer exist. 2018-10-18 15:54:20 -05:00
Jimmy Berry
6069245350 Remove SUSE copyright, warranty, and license headers.
Distinct copyrights were left as I do not wish to track down commit
history to ensure it properly documents the copyright holders. Also left
non-GPLv2 licenses and left bs_copy untouched as a mirror from OBS.

Already have a mix of with and without headers and even OBS does not place
on majority of files. If SUSE lawyers have an issue it will come up in
legal review for Factory.
2018-08-23 19:18:06 -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
dbfafe8e85 osclib/conf: utilize repo_checker-project-skip for OBS SLE projects. 2018-08-23 00:13:30 -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
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
6f9a81ff73 osclib/conf: drop main-repo default for all projects. 2018-08-21 20:47:37 -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
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
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
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
d113e01bbb Add Leap 15.1 ARM support 2018-07-16 15:51:47 +02: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
Stephan Kulow
a840f6bf40 Don't store empty config attribute and propose migration 2018-06-15 11:40:02 +02:00
Stephan Kulow
fa2e4f7b75 Migrate SUSE config into attributes 2018-06-15 11:40:02 +02:00