83 Commits

Author SHA1 Message Date
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
Jimmy Berry
30e38677b6 osclib/core: provide project_locked(). 2019-05-30 17:05:36 -05: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
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
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
Jimmy Berry
45bc515ed8 osclib/core: rework as package_list_kind_filtered(). 2019-05-14 18:58:19 -05:00
Jimmy Berry
feca459bb7 osclib/core: provide package_kind(). 2019-05-14 18:58:12 -05:00
Stephan Kulow
700cf1e41a Fix repository_path_expand to also work in Factory stagings
I got the algorithm wrong - it overwrites repositories only when used
in the same path, not by recursion
2019-05-12 22:35:59 +02:00
Stephan Kulow
97e7d011b8
Merge pull request #2003 from coolo/fix_si
Fix string/bytes confusion with installcheck
2019-05-11 16:53:12 +02:00
Stephan Kulow
9f9e6b75f3 Fix string/bytes confusion with installcheck 2019-05-11 16:40:27 +02:00
Stephan Kulow
4db9df6aec Fix and test repository_path_expand on SLE12-SP5
The way OBS collapses repositories is different to what we did
2019-05-11 16:34:31 +02:00
Stephan Kulow
925032e0f9 Redo select tests to test package with multiple spec files 2019-05-06 22:38:57 +02:00
Stephan Kulow
58d6d7ca16 Python3 fixes 2019-05-04 15:44:44 +02:00
Jimmy Berry
860fcd0a60 osclib/core: review_find_last(): compare by_user instead of who. 2019-05-01 15:49:21 -05:00
Jimmy Berry
34c99b699d osclib/core: provide project_attribute_list(). 2019-05-01 15:49:21 -05:00
Jimmy Berry
b01390ea76 osclib/core: provide package_version(). 2019-05-01 15:49:21 -05:00
Jimmy Berry
07ecf7b250 osclib/core: package_source_hash(): handle non-existant revision. 2019-03-20 19:01:32 -05:00
Jimmy Berry
c38c01a9d4 osclib/core: package_list_without_links(): ignore meta packages (00 prefix). 2019-03-06 15:49:50 -06:00
Jimmy Berry
74f9b3ca16 osclib/core: provide request_remote_identifier() for printable identifier. 2019-02-15 14:16:23 -06:00
Jimmy Berry
bbf75db194 osclib/core: provide issue_tracker*() functions. 2019-02-15 14:16:23 -06:00
Jimmy Berry
1073580282 osclib/core: provide review_*() functions for summarizing review state. 2019-02-15 14:16:23 -06:00
Jimmy Berry
eb5c137897 osclib/core: provide project_remote_*() functions for innerconnect projects. 2019-02-15 14:16:23 -06:00
Jimmy Berry
cc5e64d50b osclib/core: provide package_source_hash*() functions. 2019-02-15 14:16:23 -06:00
Jimmy Berry
e13b5831d3 osclib/core: provide entity_source_link(). 2019-02-15 14:16:23 -06:00
Jimmy Berry
249491d6f6 osclib/core: provide entity_exists() and use in StagingAPI.item_exists(). 2019-02-15 14:16:08 -06:00
Stephan Kulow
3cd79db206 repo_checker: Simplify cycle check
No longer compare against the target project's cycle, but just against
a configured list of package names. This way we're not bound to
refreezing stagings if we reduced cycles and it's clearer to the
operator what happens and how to react to it.
2019-02-11 09:02:29 +01:00
Stephan Kulow
3b3ccab783 Expand all repositories but ignore archs with 404 2019-02-06 06:30:51 +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
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