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
Jimmy Berry
84fc6fdc61
core: maintainers_get() provide option to get project maintainers.
2017-07-12 15:31:30 -05:00