154 Commits

Author SHA1 Message Date
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
ac7b288e74 Store data as binary in the cache 2018-11-16 08:56:36 +01:00
Jimmy Berry
6ad58c8ceb osclib/core: repository_published() make x86_64 dependent on i586. 2018-10-30 15:09:17 -05:00
Jimmy Berry
5558473999
Merge pull request #1748 from jberry-suse/repo_checker-arch-filter-state-queries
repo_checker: filter repository state and published checks by relevant architectures.
2018-10-25 13:44:10 -05:00
Jimmy Berry
83688cf0ed osclib/core: provide archs filter for repository state and published queries. 2018-10-24 17:50:19 -05:00
Jimmy Berry
4c8ade1a93 flake8: utilize raw strings to avoid invalid escape character warnings. 2018-10-24 16:34:16 -05:00
Stephan Kulow
c4fa49aef2 Refactor conditional_PUT as core function
Introduce source_file_ensure in osclib.core following review in #1717
2018-10-03 07:36:42 +02:00
Stephan Kulow
4539190af7 Optimize repository_state
The _result view checks way more things than we need, so just iterate
through the architectures of a repository and check the binaryversions
per arch. And combine the sha1sums to one sha1 per repository
2018-09-28 08:05:15 +02:00
Jimmy Berry
73edfb8121 osclib/core: repository_state(): rework to utilize binarylist view.
For whatever reason the state hash only includes the overall publish states
and not the binaries within the repository. As such, rebuilding state
before a  rebuild and after may be the same.
2018-09-26 17:11:45 -05:00
Jimmy Berry
1fc5232c5e osclib/core: project_pseudometa_file_ensure(): correct comparison logic.
Previously, ends up comparing the wrong package, but saving to the correct
one. This ends up with extra blank commits. :(
2018-09-17 17:25:00 -05:00
Jimmy Berry
a8cfd74f1f osclib/core: repository_path_expand(): skip adding duplicate path. 2018-08-21 21:37:48 -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
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
6d60708b59 osclib/core: source_file_save(): always include host in message. 2018-08-17 23:19:28 -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
8bdf571154 osclib/core: provide attribute_value_(load|save) adapted from StagingAPI. 2018-08-16 21:38:11 -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
9b4b0ed15a Begin porting to python3 (osc branch) 2018-05-14 11:04:39 +02:00
Jimmy Berry
9d664eab79 osclib/core: binary_src_debug: include nosrc as ignored arch. 2018-04-26 22:46:56 -05:00
Jimmy Berry
a233d19e38 osclib/core: package_binary_list: provide strip_multibuild option. 2018-04-26 22:46:56 -05:00
Jimmy Berry
0e96a64036 osclib/core: correct BINARY_REGEX by making it greedy.
Should not effect RPM_REGEX usage since it appends suffix.
2018-04-24 17:45:10 -05:00
Jimmy Berry
3c560d0c68 osclib/core: package_binary_list(): provide exclude_src_debug option. 2018-04-23 18:54:46 -05:00
Jimmy Berry
c6289c8516 osclib/core: provide package_list_without_links(). 2018-04-17 17:31:28 -05:00
Jimmy Berry
225c398e87 osclib/core: provide source_file_load() from StagingAPI. 2018-04-16 14:59:45 -05:00
Jimmy Berry
b52f890bb9 osclib/core: provide entity_email(), modified from issue-diff.py. 2018-04-10 22:43:39 -05:00
67779dba6f
API: move fileinfo_ext[_all] from StagingAPI to core
These helpers can be used by other bots, like for example repo-checker,
which do not rely on the StagingAPI.
2018-03-24 13:34:44 +01:00
Jimmy Berry
056ab71426 osclib/core: maintainers_get(): utilize new group_members() function. 2018-03-06 16:42:12 -06:00
Jimmy Berry
b600860541 osclib/core: provide group_members() function. 2018-03-06 16:42:12 -06:00
Jimmy Berry
df2fd398e0 osclib/core: provide project_list_prefix(). 2018-02-06 00:13:43 -06:00
Jimmy Berry
b1fd3ad49a osclib/core: request_age() return delta and handle Request object.
In #1370 devel-project.py was broken since it need delta.days and uses
Request class.
2018-01-29 03:14:24 -06:00
Jimmy Berry
f11daf3d62 osclib/core: provide request_age(). 2018-01-25 21:26:27 -06:00
Jimmy Berry
ce4cc65690 osclib/core: devel_project_fallback(): do not fallback if openSUSE:Factory. 2018-01-17 18:05:17 -06:00
Jimmy Berry
208af41f2d osclib/core: provide devel_project_fallback() based on request_splitter. 2018-01-17 18:04:47 -06:00
Jimmy Berry
eeffffe7de osclib/core: provide devel_project_get() adapted from ReviewBot.
Of the various implementations ReviewBot has the most functional and
correct version. Cleaned up a bit for readability.
2018-01-17 18:04:17 -06:00
Jimmy Berry
ffb81c445e core: add memoize(session=True) to package_binary_list(). 2017-08-24 21:47:09 -05:00
Jimmy Berry
702f6a6243 core.owner_fallback(): check if startswith() instead of equal.
This allows for cases where the requested project was something like
openSUSE:Leap:42.3:Update and the returned project was openSUSE:Leap:42.3.
With this change the fallback will be triggered and the global maintainer
will then be used.
2017-08-18 16:03:04 -05:00
Jimmy Berry
0f4abf058b osclib/core: provide package_binary_list() to efficiently obtain binary to package map. 2017-08-04 13:17:48 -05:00
Jimmy Berry
5c364b7967 osclib/core: add package to BinaryParsed tuple. 2017-08-04 13:17:44 -05:00
Jimmy Berry
5e120a6ac4 osclib/core: provide BINARY_REGEX named group pattern and utilize. 2017-08-04 13:17:18 -05:00
Jimmy Berry
03a8666fa4 core: adapt checkrepo.get_package_list_from_repository() as binary_list().
- utilize osc.core.get_binarylist() instead of building query manually
- return a namedtuple for increased readability
2017-07-12 15:31:30 -05:00
Jimmy Berry
c2e950eebd core: provide request_staged() and request_when_staged().
Useful for determining if a request has an open staging project review
which makes it likely that it has been staged and avoids the need to
review each staging project.
2017-07-12 15:31:30 -05:00
Jimmy Berry
d4bea1f28d core: owner_fallback(): rework to be consistent with other functions. 2017-07-12 15:31:30 -05:00
Jimmy Berry
cf1c6f5db3 core: provide depends_on(). 2017-07-12 15:31:30 -05:00