Thanks to visit codestin.com
Credit goes to github.com

Skip to content
This repository was archived by the owner on Oct 13, 2023. It is now read-only.

[ART-2617] use upstream-equivalent FROM images when a flag is set in group.yaml#646

Merged
sosiouxme merged 7 commits into
openshift-eng:masterfrom
locriandev:ART-2617
Sep 29, 2022
Merged

[ART-2617] use upstream-equivalent FROM images when a flag is set in group.yaml#646
sosiouxme merged 7 commits into
openshift-eng:masterfrom
locriandev:ART-2617

Conversation

@locriandev

Copy link
Copy Markdown
Contributor

@openshift-ci openshift-ci Bot requested review from jupierce and thegreyd September 19, 2022 11:14
@sosiouxme sosiouxme changed the title [ART-2617] use upstream-equivalent FROM images when a flag in set in group.yaml [ART-2617] use upstream-equivalent FROM images when a flag is set in group.yaml Sep 23, 2022

@sosiouxme sosiouxme left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

couldn't get it to work as expected, will probably need a better review later.

when you are refactoring into smaller methods, that's a time i'd really like to see some unit tests added for them (which this file is sorely lacking, due in part to its giant methods).

Comment thread doozerlib/distgit.py Outdated
return stream.image

# When canonical_builders_from_upstream flag is set, try to match upstream FROM
original_parent = original_parent

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

uh...?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed.

Comment thread doozerlib/distgit.py Outdated
# specific sha.
# If you are here trying to figure out how to change this behavior, you should
# consider using 'from!:' in the assembly metadata for this component. This will
# all you to fully pin the parent images (e.g. {'from!:' ['image': <pullspec>] })

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# all you to fully pin the parent images (e.g. {'from!:' ['image': <pullspec>] })
# allow you to fully pin the parent images (e.g. {'from!:' ['image': <pullspec>] })

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

Comment thread doozerlib/distgit.py Outdated
labels = json.loads(out)['config']['config']['Labels']
builder_tag = f'{labels["version"]}-{labels["release"]}'

# Verify wether the image exists

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# Verify wether the image exists
# Verify whether the image exists

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

Comment thread doozerlib/distgit.py Outdated
Comment on lines +1630 to +1650
upstream_equivalent = f'registry-proxy.engineering.redhat.com/rh-osbs/' \
f'openshift-golang-builder:{builder_tag}'
cmd = f'oc image info {upstream_equivalent} --filter-by-os linux/amd64 -o json'

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually I don't want to assume this is just for golang-builder (even though that's the only use case for now), and I don't want to look things up by registry repo. With one more label (com.redhat.component) we have the NVR and can look up anything in brew!

That does leave the question of how to make sure we're not substituting for members, though, and I think the easiest rule to follow here is... only if the image was specified with

  builder:
  - stream: ...

then it's eligible for override by whatever the upstream is pointing at, if that has the labels of a brew NVR. (And I think that's already the only path to this code, right?) I thought it might be useful to be able to do this for base images too but after a bit of consideration, not really.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this code is executed only for images specified with builder: stream (and for assembly stream builds...)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in ac3e683

Comment thread doozerlib/distgit.py
unique_pullspec += f':{parent_build_nvr["version"]}-{parent_build_nvr["release"]}'
return unique_pullspec

def _mapped_image_from_stream(self, image, original_parent, dfp):

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could there be some logger.debug statements in here, and probably even a logger.info for when the upstream does override our config? in my tests it wasn't easy to see why the upstream override isn't happening as expected. actually i don't think it's even getting here

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added in 98d9760

Comment thread doozerlib/distgit.py Outdated

except ChildProcessError:
# It doesn't. Emit a warning and do typical stream resolution
logger.warning(f'Could not match upstream parent {original_parent}')

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

self.logger

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

Comment thread doozerlib/distgit.py Outdated
except ChildProcessError:
# It doesn't. Emit a warning and do typical stream resolution
logger.warning(f'Could not match upstream parent {original_parent}')
stream = self.runtime.resolve_stream(image.stream)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

already did this...?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right. Removed

@openshift-eng openshift-eng deleted a comment from openshift-bot Sep 24, 2022
@openshift-eng openshift-eng deleted a comment from openshift-bot Sep 24, 2022
@openshift-eng openshift-eng deleted a comment from openshift-bot Sep 24, 2022
@openshift-eng openshift-eng deleted a comment from openshift-bot Sep 24, 2022
@openshift-eng openshift-eng deleted a comment from openshift-bot Sep 24, 2022
@openshift-eng openshift-eng deleted a comment from openshift-bot Sep 24, 2022
@openshift-eng openshift-eng deleted a comment from openshift-bot Sep 24, 2022
@openshift-bot

Copy link
Copy Markdown

Build #10

GLOB sdist-make: /mnt/workspace/jenkins/working/art-tools_doozer_PR-646/setup.py
py38 recreate: /mnt/workspace/jenkins/working/art-tools_doozer_PR-646/.tox/py38
py38 installdeps: -rrequirements-dev.txt
py38 inst: /mnt/workspace/jenkins/working/art-tools_doozer_PR-646/.tox/.tmp/package/1/rh-doozer-2.0.15.dev124+gb804022.zip
py38 installed: aiofiles==22.1.0,astroid==2.12.10,attrs==22.1.0,autopep8==1.7.0,bashlex==0.16,bcrypt==4.0.0,certifi==2022.9.24,cffi==1.15.1,charset-normalizer==2.1.1,click==8.1.3,coverage==6.4.4,cryptography==38.0.1,decorator==5.1.1,Deprecated==1.2.13,dill==0.3.5.1,distlib==0.3.6,dockerfile-parse==1.2.0,filelock==3.8.0,flake8==5.0.4,flexmock==0.11.3,future==0.18.2,gssapi==1.8.1,idna==3.4,iniconfig==1.1.1,isort==5.10.1,koji==1.30.0,krb5==0.4.0,lazy-object-proxy==1.7.1,mccabe==0.7.0,mock==4.0.3,mysql-connector-python==8.0.30,openshift-client==1.0.18,packaging==21.3,paramiko==2.11.0,platformdirs==2.5.2,pluggy==1.0.0,protobuf==3.20.1,py==1.11.0,pycodestyle==2.9.1,pycparser==2.21,pyflakes==2.5.0,pygit2==1.10.1,PyGithub==1.55,PyJWT==2.5.0,pylint==2.15.3,PyNaCl==1.5.0,pyparsing==3.0.9,pyspnego==0.6.0,pytest==7.1.3,python-dateutil==2.8.2,PyYAML==6.0,requests==2.28.1,requests-gssapi==1.2.3,requests-kerberos==0.14.0,rh-doozer @ file:///mnt/workspace/jenkins/working/art-tools_doozer_PR-646/.tox/.tmp/package/1/rh-doozer-2.0.15.dev124%2Bgb804022.zip,semver==2.13.0,setuptools-scm==7.0.5,six==1.16.0,tenacity==8.1.0,toml==0.10.2,tomli==2.0.1,tomlkit==0.11.4,tox==3.26.0,typing==3.7.4.3,typing-extensions==4.3.0,urllib3==1.26.12,virtualenv==20.16.5,wrapt==1.14.1
py38 run-test-pre: PYTHONHASHSEED='638430070'
py38 run-test: commands[0] | coverage run --branch --source doozerlib -m unittest discover -t . -s tests/
.................................................................................................................s.s....................................s.s...s.s.s..s.s.s.........................../usr/lib64/python3.8/multiprocessing/pool.py:265: ResourceWarning: unclosed running multiprocessing pool <multiprocessing.pool.ThreadPool state=RUN pool_size=10>
  _warn(f"unclosed running multiprocessing pool {self!r}",
ResourceWarning: Enable tracemalloc to get the object allocation traceback
...............................................
----------------------------------------------------------------------
Ran 234 tests in 1.345s

OK (skipped=10)
py38 run-test: commands[1] | flake8
py38 run-test: commands[2] | coverage report
Name                                          Stmts   Miss Branch BrPart  Cover
-------------------------------------------------------------------------------
doozerlib/__init__.py                             9      2      2      1    73%
doozerlib/assembly.py                           164     43     99      8    70%
doozerlib/assembly_inspector.py                 177    158    102      0     8%
doozerlib/assertion.py                           13      0      6      0   100%
doozerlib/brew.py                               347    200    162      4    40%
doozerlib/build_status_detector.py               85     10     56      3    87%
doozerlib/cli/__init__.py                       103     45     20      0    47%
doozerlib/cli/__main__.py                      1153   1153    468      0     0%
doozerlib/cli/cli_opts.py                        15      3      6      0    86%
doozerlib/cli/config_plashet.py                 536    536    248      0     0%
doozerlib/cli/detect_embargo.py                 167     35     70      8    75%
doozerlib/cli/get_nightlies.py                  233     63    139      3    71%
doozerlib/cli/images_health.py                   82     30     26      2    59%
doozerlib/cli/images_streams.py                 625    625    264      0     0%
doozerlib/cli/inspect_stream.py                  46     46     14      0     0%
doozerlib/cli/release_calc_upgrade_tests.py      24     24      6      0     0%
doozerlib/cli/release_gen_assembly.py           218    218    112      0     0%
doozerlib/cli/release_gen_payload.py            577    191    256     15    63%
doozerlib/cli/rpms_build.py                     165     59     58      8    57%
doozerlib/cli/scan_sources.py                   179    138     96      2    17%
doozerlib/config.py                              97     97     46      0     0%
doozerlib/constants.py                           11      0      0      0   100%
doozerlib/coverity.py                           245    215     76      0    10%
doozerlib/dblib.py                              257    154     74      4    37%
doozerlib/distgit.py                           1495    950    728     40    34%
doozerlib/dotconfig.py                           54     43     33      0    15%
doozerlib/exceptions.py                           2      0      2      0   100%
doozerlib/exectools.py                          197    107     78     10    43%
doozerlib/gitdata.py                            171    137     86      0    17%
doozerlib/image.py                              495    324    220      6    29%
doozerlib/logutil.py                              9      0      4      1    92%
doozerlib/metadata.py                           439    161    212     30    58%
doozerlib/model.py                              113     21     44      2    83%
doozerlib/olm/__init__.py                         0      0      0      0   100%
doozerlib/olm/bundle.py                         315    230     74      0    22%
doozerlib/osbs2_builder.py                      114     29     46     18    67%
doozerlib/plashet.py                            134      9     92     15    89%
doozerlib/pushd.py                               22      2      4      0    92%
doozerlib/repos.py                              209    105    117     17    45%
doozerlib/rhcos.py                              170     33     62     10    76%
doozerlib/rpm_builder.py                        232     31    125     32    81%
doozerlib/rpm_utils.py                          134     33     90     11    74%
doozerlib/rpmcfg.py                             141     58     62      8    55%
doozerlib/runtime.py                            922    670    378      8    22%
doozerlib/source_modifications.py               112     29     34      4    73%
doozerlib/state.py                               23     12     10      0    39%
doozerlib/util.py                               411    207    154      5    46%
-------------------------------------------------------------------------------
TOTAL                                         11442   7236   5061    275    34%
___________________________________ summary ____________________________________
  py38: commands succeeded
  congratulations :)

@openshift-eng openshift-eng deleted a comment from openshift-bot Sep 26, 2022
@openshift-eng openshift-eng deleted a comment from openshift-bot Sep 26, 2022
@openshift-bot

Copy link
Copy Markdown

Build #11

GLOB sdist-make: /mnt/workspace/jenkins/working/art-tools_doozer_PR-646/setup.py
py38 inst-nodeps: /mnt/workspace/jenkins/working/art-tools_doozer_PR-646/.tox/.tmp/package/1/rh-doozer-2.0.15.dev124+g34cb193.zip
py38 installed: aiofiles==22.1.0,astroid==2.12.10,attrs==22.1.0,autopep8==1.7.0,bashlex==0.16,bcrypt==4.0.0,certifi==2022.9.24,cffi==1.15.1,charset-normalizer==2.1.1,click==8.1.3,coverage==6.4.4,cryptography==38.0.1,decorator==5.1.1,Deprecated==1.2.13,dill==0.3.5.1,distlib==0.3.6,dockerfile-parse==1.2.0,filelock==3.8.0,flake8==5.0.4,flexmock==0.11.3,future==0.18.2,gssapi==1.8.1,idna==3.4,iniconfig==1.1.1,isort==5.10.1,koji==1.30.0,krb5==0.4.0,lazy-object-proxy==1.7.1,mccabe==0.7.0,mock==4.0.3,mysql-connector-python==8.0.30,openshift-client==1.0.18,packaging==21.3,paramiko==2.11.0,platformdirs==2.5.2,pluggy==1.0.0,protobuf==3.20.1,py==1.11.0,pycodestyle==2.9.1,pycparser==2.21,pyflakes==2.5.0,pygit2==1.10.1,PyGithub==1.55,PyJWT==2.5.0,pylint==2.15.3,PyNaCl==1.5.0,pyparsing==3.0.9,pyspnego==0.6.0,pytest==7.1.3,python-dateutil==2.8.2,PyYAML==6.0,requests==2.28.1,requests-gssapi==1.2.3,requests-kerberos==0.14.0,rh-doozer @ file:///mnt/workspace/jenkins/working/art-tools_doozer_PR-646/.tox/.tmp/package/1/rh-doozer-2.0.15.dev124%2Bg34cb193.zip,semver==2.13.0,setuptools-scm==7.0.5,six==1.16.0,tenacity==8.1.0,toml==0.10.2,tomli==2.0.1,tomlkit==0.11.4,tox==3.26.0,typing==3.7.4.3,typing-extensions==4.3.0,urllib3==1.26.12,virtualenv==20.16.5,wrapt==1.14.1
py38 run-test-pre: PYTHONHASHSEED='209507644'
py38 run-test: commands[0] | coverage run --branch --source doozerlib -m unittest discover -t . -s tests/
.................................................................................................................s.s....................................s.s...s.s.s..s.s.s........................................./usr/lib64/python3.8/multiprocessing/pool.py:265: ResourceWarning: unclosed running multiprocessing pool <multiprocessing.pool.ThreadPool state=RUN pool_size=10>
  _warn(f"unclosed running multiprocessing pool {self!r}",
ResourceWarning: Enable tracemalloc to get the object allocation traceback
.................................
----------------------------------------------------------------------
Ran 234 tests in 1.320s

OK (skipped=10)
py38 run-test: commands[1] | flake8
py38 run-test: commands[2] | coverage report
Name                                          Stmts   Miss Branch BrPart  Cover
-------------------------------------------------------------------------------
doozerlib/__init__.py                             9      2      2      1    73%
doozerlib/assembly.py                           164     43     99      8    70%
doozerlib/assembly_inspector.py                 177    158    102      0     8%
doozerlib/assertion.py                           13      0      6      0   100%
doozerlib/brew.py                               347    200    162      4    40%
doozerlib/build_status_detector.py               85     10     56      3    87%
doozerlib/cli/__init__.py                       103     45     20      0    47%
doozerlib/cli/__main__.py                      1153   1153    468      0     0%
doozerlib/cli/cli_opts.py                        15      3      6      0    86%
doozerlib/cli/config_plashet.py                 536    536    248      0     0%
doozerlib/cli/detect_embargo.py                 167     35     70      8    75%
doozerlib/cli/get_nightlies.py                  233     63    139      3    71%
doozerlib/cli/images_health.py                   82     30     26      2    59%
doozerlib/cli/images_streams.py                 625    625    264      0     0%
doozerlib/cli/inspect_stream.py                  46     46     14      0     0%
doozerlib/cli/release_calc_upgrade_tests.py      24     24      6      0     0%
doozerlib/cli/release_gen_assembly.py           218    218    112      0     0%
doozerlib/cli/release_gen_payload.py            577    191    256     15    63%
doozerlib/cli/rpms_build.py                     165     59     58      8    57%
doozerlib/cli/scan_sources.py                   179    138     96      2    17%
doozerlib/config.py                              97     97     46      0     0%
doozerlib/constants.py                           11      0      0      0   100%
doozerlib/coverity.py                           245    215     76      0    10%
doozerlib/dblib.py                              257    154     74      4    37%
doozerlib/distgit.py                           1493    948    728     40    34%
doozerlib/dotconfig.py                           54     43     33      0    15%
doozerlib/exceptions.py                           2      0      2      0   100%
doozerlib/exectools.py                          197    107     78     10    43%
doozerlib/gitdata.py                            171    137     86      0    17%
doozerlib/image.py                              495    324    220      6    29%
doozerlib/logutil.py                              9      0      4      1    92%
doozerlib/metadata.py                           439    161    212     30    58%
doozerlib/model.py                              113     21     44      2    83%
doozerlib/olm/__init__.py                         0      0      0      0   100%
doozerlib/olm/bundle.py                         315    230     74      0    22%
doozerlib/osbs2_builder.py                      114     29     46     18    67%
doozerlib/plashet.py                            134      9     92     15    89%
doozerlib/pushd.py                               22      2      4      0    92%
doozerlib/repos.py                              209    105    117     17    45%
doozerlib/rhcos.py                              170     33     62     10    76%
doozerlib/rpm_builder.py                        232     31    125     32    81%
doozerlib/rpm_utils.py                          134     33     90     11    74%
doozerlib/rpmcfg.py                             141     58     62      8    55%
doozerlib/runtime.py                            922    670    378      8    22%
doozerlib/source_modifications.py               112     29     34      4    73%
doozerlib/state.py                               23     12     10      0    39%
doozerlib/util.py                               411    207    154      5    46%
-------------------------------------------------------------------------------
TOTAL                                         11440   7234   5061    275    34%
___________________________________ summary ____________________________________
  py38: commands succeeded
  congratulations :)

@openshift-bot

Copy link
Copy Markdown

Build #12

GLOB sdist-make: /mnt/workspace/jenkins/working/art-tools_doozer_PR-646/setup.py
py38 inst-nodeps: /mnt/workspace/jenkins/working/art-tools_doozer_PR-646/.tox/.tmp/package/1/rh-doozer-2.0.15.dev125+gac3e683.zip
py38 installed: aiofiles==22.1.0,astroid==2.12.10,attrs==22.1.0,autopep8==1.7.0,bashlex==0.16,bcrypt==4.0.0,certifi==2022.9.24,cffi==1.15.1,charset-normalizer==2.1.1,click==8.1.3,coverage==6.4.4,cryptography==38.0.1,decorator==5.1.1,Deprecated==1.2.13,dill==0.3.5.1,distlib==0.3.6,dockerfile-parse==1.2.0,filelock==3.8.0,flake8==5.0.4,flexmock==0.11.3,future==0.18.2,gssapi==1.8.1,idna==3.4,iniconfig==1.1.1,isort==5.10.1,koji==1.30.0,krb5==0.4.0,lazy-object-proxy==1.7.1,mccabe==0.7.0,mock==4.0.3,mysql-connector-python==8.0.30,openshift-client==1.0.18,packaging==21.3,paramiko==2.11.0,platformdirs==2.5.2,pluggy==1.0.0,protobuf==3.20.1,py==1.11.0,pycodestyle==2.9.1,pycparser==2.21,pyflakes==2.5.0,pygit2==1.10.1,PyGithub==1.55,PyJWT==2.5.0,pylint==2.15.3,PyNaCl==1.5.0,pyparsing==3.0.9,pyspnego==0.6.0,pytest==7.1.3,python-dateutil==2.8.2,PyYAML==6.0,requests==2.28.1,requests-gssapi==1.2.3,requests-kerberos==0.14.0,rh-doozer @ file:///mnt/workspace/jenkins/working/art-tools_doozer_PR-646/.tox/.tmp/package/1/rh-doozer-2.0.15.dev125%2Bgac3e683.zip,semver==2.13.0,setuptools-scm==7.0.5,six==1.16.0,tenacity==8.1.0,toml==0.10.2,tomli==2.0.1,tomlkit==0.11.4,tox==3.26.0,typing==3.7.4.3,typing-extensions==4.3.0,urllib3==1.26.12,virtualenv==20.16.5,wrapt==1.14.1
py38 run-test-pre: PYTHONHASHSEED='3243757372'
py38 run-test: commands[0] | coverage run --branch --source doozerlib -m unittest discover -t . -s tests/
.................................................................................................................s.s....................................s.s...s.s.s..s.s.s........................................./usr/lib64/python3.8/multiprocessing/pool.py:265: ResourceWarning: unclosed running multiprocessing pool <multiprocessing.pool.ThreadPool state=RUN pool_size=10>
  _warn(f"unclosed running multiprocessing pool {self!r}",
ResourceWarning: Enable tracemalloc to get the object allocation traceback
.................................
----------------------------------------------------------------------
Ran 234 tests in 1.303s

OK (skipped=10)
py38 run-test: commands[1] | flake8
py38 run-test: commands[2] | coverage report
Name                                          Stmts   Miss Branch BrPart  Cover
-------------------------------------------------------------------------------
doozerlib/__init__.py                             9      2      2      1    73%
doozerlib/assembly.py                           164     43     99      8    70%
doozerlib/assembly_inspector.py                 177    158    102      0     8%
doozerlib/assertion.py                           13      0      6      0   100%
doozerlib/brew.py                               347    200    162      4    40%
doozerlib/build_status_detector.py               85     10     56      3    87%
doozerlib/cli/__init__.py                       103     45     20      0    47%
doozerlib/cli/__main__.py                      1153   1153    468      0     0%
doozerlib/cli/cli_opts.py                        15      3      6      0    86%
doozerlib/cli/config_plashet.py                 536    536    248      0     0%
doozerlib/cli/detect_embargo.py                 167     35     70      8    75%
doozerlib/cli/get_nightlies.py                  233     63    139      3    71%
doozerlib/cli/images_health.py                   82     30     26      2    59%
doozerlib/cli/images_streams.py                 625    625    264      0     0%
doozerlib/cli/inspect_stream.py                  46     46     14      0     0%
doozerlib/cli/release_calc_upgrade_tests.py      24     24      6      0     0%
doozerlib/cli/release_gen_assembly.py           218    218    112      0     0%
doozerlib/cli/release_gen_payload.py            577    191    256     15    63%
doozerlib/cli/rpms_build.py                     165     59     58      8    57%
doozerlib/cli/scan_sources.py                   179    138     96      2    17%
doozerlib/config.py                              97     97     46      0     0%
doozerlib/constants.py                           11      0      0      0   100%
doozerlib/coverity.py                           245    215     76      0    10%
doozerlib/dblib.py                              257    154     74      4    37%
doozerlib/distgit.py                           1497    952    730     40    34%
doozerlib/dotconfig.py                           54     43     33      0    15%
doozerlib/exceptions.py                           2      0      2      0   100%
doozerlib/exectools.py                          197    107     78     10    43%
doozerlib/gitdata.py                            171    137     86      0    17%
doozerlib/image.py                              495    324    220      6    29%
doozerlib/logutil.py                              9      0      4      1    92%
doozerlib/metadata.py                           439    161    212     30    58%
doozerlib/model.py                              113     21     44      2    83%
doozerlib/olm/__init__.py                         0      0      0      0   100%
doozerlib/olm/bundle.py                         315    230     74      0    22%
doozerlib/osbs2_builder.py                      114     29     46     18    67%
doozerlib/plashet.py                            134      9     92     15    89%
doozerlib/pushd.py                               22      2      4      0    92%
doozerlib/repos.py                              209    105    117     17    45%
doozerlib/rhcos.py                              170     33     62     10    76%
doozerlib/rpm_builder.py                        232     31    125     32    81%
doozerlib/rpm_utils.py                          134     33     90     11    74%
doozerlib/rpmcfg.py                             141     58     62      8    55%
doozerlib/runtime.py                            922    670    378      8    22%
doozerlib/source_modifications.py               112     29     34      4    73%
doozerlib/state.py                               23     12     10      0    39%
doozerlib/util.py                               411    207    154      5    46%
-------------------------------------------------------------------------------
TOTAL                                         11444   7238   5063    275    34%
___________________________________ summary ____________________________________
  py38: commands succeeded
  congratulations :)

@openshift-bot

Copy link
Copy Markdown

Build #13

GLOB sdist-make: /mnt/workspace/jenkins/working/art-tools_doozer_PR-646/setup.py
py38 inst-nodeps: /mnt/workspace/jenkins/working/art-tools_doozer_PR-646/.tox/.tmp/package/1/rh-doozer-2.0.15.dev126+g98d9760.zip
py38 installed: aiofiles==22.1.0,astroid==2.12.10,attrs==22.1.0,autopep8==1.7.0,bashlex==0.16,bcrypt==4.0.0,certifi==2022.9.24,cffi==1.15.1,charset-normalizer==2.1.1,click==8.1.3,coverage==6.4.4,cryptography==38.0.1,decorator==5.1.1,Deprecated==1.2.13,dill==0.3.5.1,distlib==0.3.6,dockerfile-parse==1.2.0,filelock==3.8.0,flake8==5.0.4,flexmock==0.11.3,future==0.18.2,gssapi==1.8.1,idna==3.4,iniconfig==1.1.1,isort==5.10.1,koji==1.30.0,krb5==0.4.0,lazy-object-proxy==1.7.1,mccabe==0.7.0,mock==4.0.3,mysql-connector-python==8.0.30,openshift-client==1.0.18,packaging==21.3,paramiko==2.11.0,platformdirs==2.5.2,pluggy==1.0.0,protobuf==3.20.1,py==1.11.0,pycodestyle==2.9.1,pycparser==2.21,pyflakes==2.5.0,pygit2==1.10.1,PyGithub==1.55,PyJWT==2.5.0,pylint==2.15.3,PyNaCl==1.5.0,pyparsing==3.0.9,pyspnego==0.6.0,pytest==7.1.3,python-dateutil==2.8.2,PyYAML==6.0,requests==2.28.1,requests-gssapi==1.2.3,requests-kerberos==0.14.0,rh-doozer @ file:///mnt/workspace/jenkins/working/art-tools_doozer_PR-646/.tox/.tmp/package/1/rh-doozer-2.0.15.dev126%2Bg98d9760.zip,semver==2.13.0,setuptools-scm==7.0.5,six==1.16.0,tenacity==8.1.0,toml==0.10.2,tomli==2.0.1,tomlkit==0.11.4,tox==3.26.0,typing==3.7.4.3,typing-extensions==4.3.0,urllib3==1.26.12,virtualenv==20.16.5,wrapt==1.14.1
py38 run-test-pre: PYTHONHASHSEED='3748803248'
py38 run-test: commands[0] | coverage run --branch --source doozerlib -m unittest discover -t . -s tests/
.................................................................................................................s.s....................................s.s...s.s.s..s.s.s........................................./usr/lib64/python3.8/multiprocessing/pool.py:265: ResourceWarning: unclosed running multiprocessing pool <multiprocessing.pool.ThreadPool state=RUN pool_size=10>
  _warn(f"unclosed running multiprocessing pool {self!r}",
ResourceWarning: Enable tracemalloc to get the object allocation traceback
.................................
----------------------------------------------------------------------
Ran 234 tests in 1.324s

OK (skipped=10)
py38 run-test: commands[1] | flake8
py38 run-test: commands[2] | coverage report
Name                                          Stmts   Miss Branch BrPart  Cover
-------------------------------------------------------------------------------
doozerlib/__init__.py                             9      2      2      1    73%
doozerlib/assembly.py                           164     43     99      8    70%
doozerlib/assembly_inspector.py                 177    158    102      0     8%
doozerlib/assertion.py                           13      0      6      0   100%
doozerlib/brew.py                               347    200    162      4    40%
doozerlib/build_status_detector.py               85     10     56      3    87%
doozerlib/cli/__init__.py                       103     45     20      0    47%
doozerlib/cli/__main__.py                      1153   1153    468      0     0%
doozerlib/cli/cli_opts.py                        15      3      6      0    86%
doozerlib/cli/config_plashet.py                 536    536    248      0     0%
doozerlib/cli/detect_embargo.py                 167     35     70      8    75%
doozerlib/cli/get_nightlies.py                  233     63    139      3    71%
doozerlib/cli/images_health.py                   82     30     26      2    59%
doozerlib/cli/images_streams.py                 625    625    264      0     0%
doozerlib/cli/inspect_stream.py                  46     46     14      0     0%
doozerlib/cli/release_calc_upgrade_tests.py      24     24      6      0     0%
doozerlib/cli/release_gen_assembly.py           218    218    112      0     0%
doozerlib/cli/release_gen_payload.py            577    191    256     15    63%
doozerlib/cli/rpms_build.py                     165     59     58      8    57%
doozerlib/cli/scan_sources.py                   179    138     96      2    17%
doozerlib/config.py                              97     97     46      0     0%
doozerlib/constants.py                           11      0      0      0   100%
doozerlib/coverity.py                           245    215     76      0    10%
doozerlib/dblib.py                              257    154     74      4    37%
doozerlib/distgit.py                           1501    956    730     40    34%
doozerlib/dotconfig.py                           54     43     33      0    15%
doozerlib/exceptions.py                           2      0      2      0   100%
doozerlib/exectools.py                          197    107     78     10    43%
doozerlib/gitdata.py                            171    137     86      0    17%
doozerlib/image.py                              495    324    220      6    29%
doozerlib/logutil.py                              9      0      4      1    92%
doozerlib/metadata.py                           439    161    212     30    58%
doozerlib/model.py                              113     21     44      2    83%
doozerlib/olm/__init__.py                         0      0      0      0   100%
doozerlib/olm/bundle.py                         315    230     74      0    22%
doozerlib/osbs2_builder.py                      114     29     46     18    67%
doozerlib/plashet.py                            134      9     92     15    89%
doozerlib/pushd.py                               22      2      4      0    92%
doozerlib/repos.py                              209    105    117     17    45%
doozerlib/rhcos.py                              170     33     62     10    76%
doozerlib/rpm_builder.py                        232     31    125     32    81%
doozerlib/rpm_utils.py                          134     33     90     11    74%
doozerlib/rpmcfg.py                             141     58     62      8    55%
doozerlib/runtime.py                            922    670    378      8    22%
doozerlib/source_modifications.py               112     29     34      4    73%
doozerlib/state.py                               23     12     10      0    39%
doozerlib/util.py                               411    207    154      5    46%
-------------------------------------------------------------------------------
TOTAL                                         11448   7242   5063    275    34%
___________________________________ summary ____________________________________
  py38: commands succeeded
  congratulations :)

@sosiouxme sosiouxme merged commit 161b667 into openshift-eng:master Sep 29, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants