1151 Commits

Author SHA1 Message Date
Jimmy Berry
37386e0c74 osclib/common: provide version_calcuate() and utilize by default. 2019-08-27 14:27:11 -05:00
Jimmy Berry
6e8e461e1c osclib/git: provide describe(). 2019-08-27 14:27:08 -05:00
Jimmy Berry
2189443994 osclib/git: remove unnecessary CacheManager import. 2019-08-27 14:13:10 -05:00
Jimmy Berry
74b9714a25
Merge pull request #2159 from jberry-suse/sentry-initial
Initial sentry integration and configuration for obs_operator, osc-{origin,staging}, and ReviewBot.
2019-08-16 16:27:04 -05:00
Jimmy Berry
776747c9b5 osclib/sentry: expose environment configuration. 2019-08-16 16:02:01 -05:00
Jimmy Berry
6003bff62a osclib/sentry: provide initial sentry_sdk handling.
Allows for DSN to be configured via oscrc general.sentry_sdk.dsn.
2019-08-16 15:12:19 -05:00
Jimmy Berry
d5188b326f osclib/request_splitter: quick strategy: s/leaper/origin-manager/. 2019-08-13 16:55:42 -05:00
Jimmy Berry
d3593cfed9 osclib/request_splitter: quick strategy: remove repo-checker from whitelist. 2019-08-13 16:55:42 -05:00
Jimmy Berry
5230864d72 osclib/origin: provide origin_update() to process updating single package. 2019-08-07 17:59:04 -05:00
Jimmy Berry
7478a42882 osclib/core: provide request_create_delete(). 2019-08-07 17:58:57 -05:00
Jimmy Berry
f441d8e41d osclib/core: provide request_create_submit() and RequestFuture. 2019-08-07 17:26:38 -05:00
Jimmy Berry
844a9d28a5 osclib/core: provide message_suffix() and utilize in source_file_save(). 2019-08-07 17:26:38 -05:00
Jimmy Berry
914d106184
Merge pull request #2143 from jberry-suse/origin-manager-always-include-project-link
osclib/origin: always include project link when fetching source history.
2019-08-06 07:39:54 -05:00
Jimmy Berry
390c2afefa osclib/origin: always include project link when fetching source history.
This was debated as for SLE this would add some repetition when not
going to match a SLE origin anyway, but it is necessary to stabilize
maintenance origins.

When an :Update project is first created all sources are inherited which
means all the revisions from the top project's source container are
considered. Once an update is provided via a maintenance incident the
inherited sources are no longer presented and instead the only revision
seen is the maintenance update and future updates.

When a new version of Leap is created and all source containers are copied
from the previous version the origin will first be considered :Update of
the previous Leap version, but once a maintenance update is created it
will drop the the non-:Update prior version since the matching revision is
missing. If the update is submitted the origin will flip back to :Update.

In order to avoid this mess always utilize include_project_link=True
which will effective consider the maintenance update as the newest
revision while continuing to consider the inherited revisions.

For SLE, were all projects are stacked this means there will almost always
be 10 revisions to review after the first could releases.

Realistically this is yet another failing of the OBS source control model since
the original source revision available (via inheritance) in the :Update project is
lost after the first update.
2019-08-05 15:46:11 -05:00
Stephan Kulow
705457a1a7 Fix leap 15.2: no problems in a repo wasn't tested :) 2019-07-29 18:51:49 +02:00
Stephan Kulow
350027d8f3 Filter out release numbers from problem output
Otherwise the output will differ on rebuilds, making the whole stunt
useless
2019-07-29 17:18:33 +02:00
Stephan Kulow
a44c65545b Replace rebuildpacs.pl with project-installcheck functionality 2019-07-29 10:05:51 +02:00
Jimmy Berry
f0291f63e8 osclib/origin: correct import order. 2019-07-16 10:28:41 -05:00
Jimmy Berry
9975f51670 osclib/origin: support pending source lookup against maintenance origin.
Works for both maintenance incident (both states) and release.
2019-07-16 10:28:41 -05:00
Jimmy Berry
e67ee85b5a osclib/origin: handle nested annotation loading and support maintenance incidents. 2019-07-16 10:28:27 -05:00
Jimmy Berry
b34a93e590 osclib/core: provide a series of request list generators.
Given the broken design of multi-action requests which continually wreaks
havoc on code attempting to handle them properly a series of methods for
searching for requests are provided to simplify the process. The core
principal is that both a request and action are returned since the
specific action that matched the search query is important.

Further poorly designed maintenance data structure is also abstracted to
provide a consistent interface for querying source changes regardless of
their state in the workflow.
2019-07-16 10:27:41 -05:00
Jimmy Berry
fa41d3ae21 osclib/origin: origin_annotation_dump() provide raw option. 2019-07-11 16:12:46 -05:00
Jimmy Berry
0f1b9d667e osclib/core: provide request_action_key().
Intended to facilitate standardized keys for action specific information
placed in review scoped storage (ie. reviews/comments).
2019-07-11 16:06:06 -05:00
Jimmy Berry
aa444f79e6 osclib/core: enhance attribute_value_load() to handle boolean attributes. 2019-07-11 16:02:14 -05:00
Jimmy Berry
a8ff27b81f osclib/core: provide action_is_patchinfo() from ReviewBot.
Allows for usage outside of ReviewBot children.
2019-07-11 16:01:42 -05:00
Jimmy Berry
e991b44633 osclib/core: provide simplified search() and utilize. 2019-07-11 15:58:35 -05:00
Stephan Kulow
2ad649781e Readd whitelist for installcheck
This was somehow lost
2019-06-06 15:28:44 +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
868f3e1d6f Retire repo_checker.pl
Extract the writing of the susetags content into a new script that
also creates a yaml file which package comes from what directory.
This information is used in repochecks.py to run findfileconflicts
and installcheck as repo_checker.pl used to
2019-06-05 06:41:14 +02:00
Stephan Kulow
dc77a5f227 Remove --add from select command
Fixes #754
2019-06-03 16:54:30 +02:00
Stephan Kulow
5b062c5752 Fix inner-staging links to use cicount=copy
We need to keep the cicount in sync for the kernel as kernel-syms
requires kernel-default of kernel-source
2019-06-02 14:08:17 +02:00
Jimmy Berry
dcc007cfa6
Merge pull request #2089 from jberry-suse/origin-plugin-cron
origin-manager: replace OBS operator individual project reports with automatic cron command.
2019-05-31 10:24:43 -05:00
Stephan Kulow
a9eab93004 Fix support for multiple spec files
Right after commit of a package into a staging project, it can happen
that OBS replies to GET with 'service in progress' and then we don't
get a file list. As we ignored that exception, we did not create the
other spec files.

Now enhance retried_GET to look for this condition and retry this as
well, so we get reliable package list.
2019-05-31 15:43:18 +02:00
Jimmy Berry
30e38677b6 osclib/core: provide project_locked(). 2019-05-30 17:05:36 -05:00
Stephan Kulow
39f3935d20
Merge pull request #2083 from coolo/dont_crash_on_spec
Do not crash on packages without spec file
2019-05-30 08:54:12 +02:00
Stephan Kulow
8d26d0dec6 Do not crash on packages without spec file 2019-05-29 20:59:13 +02:00
Stephan Kulow
195bb65b48 Ignore current Factory duplicates 2019-05-29 20:31:28 +02:00
Stephan Kulow
137478d6aa Introduce osclib.core.duplicated_binaries_in_repo
Move the core functionality of check_duplicate_binaries_command to be
reusable from installcheck.
2019-05-29 13:57:26 +02:00
Stephan Kulow
b32cbd7d63 Fix staging rebuild on python3 2019-05-29 06:57:13 +02:00
678f243b2b virtually accept: fix string type handling in Python3 2019-05-28 16:51:00 +08:00
Jimmy Berry
65b73f1d41
Merge pull request #2053 from jberry-suse/origin-manager-followups
origin-manager: small follow-ups.
2019-05-24 14:57:50 -05:00
5d13e07b5a accept_command: fix missing the url for uploading product file change
Regression from acc0ffc3852700cc996109f350f72dcb9ff1b3fe , we still need
url for uploading product file change.
2019-05-24 18:12:26 +08:00
Jimmy Berry
dde0edef40 osclib/core: package_version(): drop lxml element and return string version.
Resolves undesirable output when formatting a data structure that includes
the result from this function as yaml.
2019-05-23 17:09:29 -05:00
Jimmy Berry
14ae392743 osclib/util: correct python3 port by casting to list directly after filter.
8bf2602 cast to list during on the return line, but that does not work
if a project_suffix is present.
2019-05-22 20:32:33 -05:00
Stephan Kulow
7d0cad0e66 sha1_short: support bytes and str 2019-05-16 08:02:36 +02:00
Jimmy Berry
ceb4a9cea9 osclib/origin: cast filter() to list() to improve debug output [python3]. 2019-05-15 21:01:51 -05:00
Jimmy Berry
743b3a6cd6 osc-origin, osclib/origin: port first dict key/value access [python3]. 2019-05-15 21:01:00 -05:00
Jimmy Berry
7a1ff946cd osclib/util: sha1_short(): encode data as utf-8 [python3]. 2019-05-15 21:00:11 -05:00
Jimmy Berry
8221df0028
Merge pull request #2014 from jberry-suse/osclib-core-package_list_kind_filtered
osclib/core: rework as package_list_kind_filtered().
2019-05-15 19:39:05 -05:00
acc0ffc385 osclib: make source_file_load() always return string
Makes sense always return string from source_file_load(), this
preventing potentially TypeError on python3. Also changed product file
loading, now source_file_load() used.
2019-05-15 19:34:05 +08:00