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

ART-6099: Add a command to support weekly kernel ingestion #772

Merged
merged 2 commits into from
Jun 9, 2023

Conversation

vfreex
Copy link
Contributor

@vfreex vfreex commented May 25, 2023

A new command config:tag-rpms is added to scan RPMs (usually kernel and kernel-rt) in the integration Brew tag defined in group config then tag acceptable builds into the target Brew tag. "acceptable" here means the build is not tagged into stop_ship_tag or historically tagged into the target tag.

e.g. With the following config, Doozer will try to find latest acceptable builds of kernel and kernel-rt from Brew tag early-kernel-integration-8.6, then tag them into Brew tag rhaos-4.11-rhel-8-candidate. Additionally, all builds in tag early-kernel-stop-ship will be untagged from rhaos-4.11-rhel-8-candidate.

rpm_deliveries:
    - packages:
        - kernel
        - kernel-rt
    integration_tag: early-kernel-integration-8.6
    stop_ship_tag: early-kernel-stop-ship
    ship_ok_tag: early-kernel-ship-ok
    target_tag: rhaos-4.11-rhel-8-candidate

This command does nothing if rpm_deliveries is not set in group config or an entry in rpm_deliveries doesn't have target_tag.

A dry run mode is also provided to show which builds would be tagged and untagged.

Test command:

doozer --debug --data-path=https://github.com/vfreex/ocp-build-data.git --group=openshift-4.12 --assembly=stream config:tag-rpms --dry-run 

A new command `config:tag-rpms` is added to scan RPMs (usually kernel and kernel-rt) in the integration Brew tag defined in group config
then tag acceptable builds into the target Brew tag. "acceptable" here means the build is not tagged into stop_ship_tag or historically tagged into the target tag.

e.g. With the following config, Doozer will try to find latest acceptable builds of kernel and kernel-rt
from Brew tag early-kernel-integration-8.6, then tag them into Brew tag rhaos-4.11-rhel-8-candidate.
Additionally, all builds in tag early-kernel-stop-ship will be untagged from rhaos-4.11-rhel-8-candidate.

    rpm_deliveries:
        - packages:
            - kernel
            - kernel-rt
        integration_tag: early-kernel-integration-8.6
        stop_ship_tag: early-kernel-stop-ship
        ship_ok_tag: early-kernel-ship-ok
        target_tag: rhaos-4.11-rhel-8-candidate

This command does nothing if `rpm_deliveries` is not set in group
config or an entry in `rpm_deliveries` doesn't have `target_tag`.

A dry run mode is also provided to show which builds would be tagged and
untagged.
@openshift-bot
Copy link

Build #5

GLOB sdist-make: /mnt/workspace/jenkins/working/art-tools_doozer_PR-772/setup.py
py38 recreate: /mnt/workspace/jenkins/working/art-tools_doozer_PR-772/.tox/py38
py38 installdeps: -rrequirements-dev.txt, -rrequirements.txt
py38 inst: /mnt/workspace/jenkins/working/art-tools_doozer_PR-772/.tox/.tmp/package/1/rh-doozer-2.0.15.dev331+g2ba6289.zip
py38 installed: aiofiles==23.1.0,aiohttp==3.8.4,aiosignal==1.3.1,astroid==2.15.5,async-timeout==4.0.2,attrs==23.1.0,autopep8==2.0.2,bashlex==0.18,bcrypt==4.0.1,cachetools==5.3.1,certifi==2023.5.7,cffi==1.15.1,chardet==5.1.0,charset-normalizer==3.1.0,click==8.1.3,colorama==0.4.6,coverage==7.2.7,cryptography==41.0.0,decorator==5.1.1,defusedxml==0.7.1,Deprecated==1.2.14,dill==0.3.6,distlib==0.3.6,dockerfile-parse==2.0.0,exceptiongroup==1.1.1,fastcore==1.5.29,filelock==3.12.0,flake8==6.0.0,flexmock==0.11.3,frozenlist==1.3.3,future==0.18.3,ghapi==1.0.3,gssapi==1.8.2,idna==3.4,iniconfig==2.0.0,isort==5.12.0,jira==3.4.1,koji==1.33.0,krb5==0.5.0,lazy-object-proxy==1.9.0,mccabe==0.7.0,multidict==6.0.4,mysql-connector-python==8.0.33,oauthlib==3.2.2,openshift-client==1.0.18,packaging==23.1,paramiko==3.2.0,platformdirs==3.5.1,pluggy==1.0.0,protobuf==3.20.3,pycodestyle==2.10.0,pycparser==2.21,pydantic==1.10.8,pyflakes==3.0.1,pygit2==1.10.1,PyGithub==1.58.2,PyJWT==2.7.0,pylint==2.17.4,PyNaCl==1.5.0,pyproject-api==1.5.1,pyspnego==0.9.0,pytest==7.3.1,python-dateutil==2.8.2,PyYAML==6.0,requests==2.31.0,requests-gssapi==1.2.3,requests-kerberos==0.14.0,requests-oauthlib==1.3.1,requests-toolbelt==1.0.0,rh-doozer @ file:///mnt/workspace/jenkins/working/art-tools_doozer_PR-772/.tox/.tmp/package/1/rh-doozer-2.0.15.dev331%2Bg2ba6289.zip,semver==3.0.0,setuptools-scm==7.1.0,six==1.16.0,tenacity==8.2.2,tomli==2.0.1,tomlkit==0.11.8,tox==4.5.2,typing==3.7.4.3,typing-extensions==4.6.2,urllib3==2.0.2,virtualenv==20.23.0,wrapt==1.15.0,yarl==1.9.2
py38 run-test-pre: PYTHONHASHSEED='3526642689'
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..................................................................................
----------------------------------------------------------------------
Ran 274 tests in 2.078s

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                            12      7      2      1    43%
doozerlib/_version.py                             2      2      0      0     0%
doozerlib/assembly.py                           158     20     87     11    84%
doozerlib/assembly_inspector.py                 214    154    120      7    24%
doozerlib/assertion.py                           13      0      6      0   100%
doozerlib/brew.py                               366    206    152      4    40%
doozerlib/build_status_detector.py               85     10     54      3    86%
doozerlib/cli/__init__.py                       122     64     28      0    39%
doozerlib/cli/__main__.py                      1136   1136    454      0     0%
doozerlib/cli/cli_opts.py                        20      3      8      0    89%
doozerlib/cli/config_plashet.py                 535    535    246      0     0%
doozerlib/cli/config_tag_rpms.py                141     20     77     15    82%
doozerlib/cli/detect_embargo.py                 167     35     70      8    75%
doozerlib/cli/get_nightlies.py                  230     59    127      3    71%
doozerlib/cli/images_health.py                   82     30     26      2    59%
doozerlib/cli/images_streams.py                 687    687    296      0     0%
doozerlib/cli/inspect_stream.py                  66     66     28      0     0%
doozerlib/cli/release_calc_upgrade_tests.py      24     24      6      0     0%
doozerlib/cli/release_gen_assembly.py           277    146    118      3    42%
doozerlib/cli/release_gen_payload.py            703    260    300     20    58%
doozerlib/cli/rpms_build.py                     165     59     58      8    57%
doozerlib/cli/scan_sources.py                   182    141    100      2    17%
doozerlib/comment_on_pr.py                       46      0      8      0   100%
doozerlib/config.py                              97     97     44      0     0%
doozerlib/constants.py                           11      0      0      0   100%
doozerlib/coverity.py                           255    225     82      0     9%
doozerlib/dblib.py                              263    160     68      4    35%
doozerlib/distgit.py                           1449    898    686     39    36%
doozerlib/dotconfig.py                           54     43     31      0    13%
doozerlib/exceptions.py                           2      0      0      0   100%
doozerlib/exectools.py                          197    105     76     10    43%
doozerlib/gitdata.py                            171    137     76      0    14%
doozerlib/image.py                              532    329    232     10    33%
doozerlib/logutil.py                              9      0      2      1    91%
doozerlib/metadata.py                           432    151    184     30    61%
doozerlib/model.py                              113     21     36      2    82%
doozerlib/olm/__init__.py                         0      0      0      0   100%
doozerlib/olm/bundle.py                         315    230     72      0    22%
doozerlib/osbs2_builder.py                      119     30     44     19    67%
doozerlib/plashet.py                            134      9     90     15    89%
doozerlib/pushd.py                               22      0      2      0   100%
doozerlib/release_schedule.py                    28     17      8      0    31%
doozerlib/repos.py                              243     92    121     17    55%
doozerlib/rhcos.py                              237     25     90     14    87%
doozerlib/rpm_builder.py                        225     28    119     31    82%
doozerlib/rpm_delivery.py                        16      1      0      0    94%
doozerlib/rpm_utils.py                          134     23     90     14    81%
doozerlib/rpmcfg.py                             151     61     64      8    55%
doozerlib/runtime.py                            950    692    376      8    21%
doozerlib/source_modifications.py               116     33     26      4    68%
doozerlib/state.py                               23     12      8      0    35%
doozerlib/util.py                               452    217    180     13    48%
-------------------------------------------------------------------------------
TOTAL                                         12183   7300   5178    326    37%
___________________________________ summary ____________________________________
  py38: commands succeeded
  congratulations :)

@openshift-bot
Copy link

Build #6

GLOB sdist-make: /mnt/workspace/jenkins/working/art-tools_doozer_PR-772/setup.py
py38 recreate: /mnt/workspace/jenkins/working/art-tools_doozer_PR-772/.tox/py38
py38 installdeps: -rrequirements-dev.txt, -rrequirements.txt
py38 inst: /mnt/workspace/jenkins/working/art-tools_doozer_PR-772/.tox/.tmp/package/1/rh-doozer-2.0.15.dev332+g64c6f2f.zip
py38 installed: aiofiles==23.1.0,aiohttp==3.8.4,aiosignal==1.3.1,astroid==2.15.5,async-timeout==4.0.2,attrs==23.1.0,autopep8==2.0.2,bashlex==0.18,bcrypt==4.0.1,cachetools==5.3.1,certifi==2023.5.7,cffi==1.15.1,chardet==5.1.0,charset-normalizer==3.1.0,click==8.1.3,colorama==0.4.6,coverage==7.2.7,cryptography==41.0.1,decorator==5.1.1,defusedxml==0.7.1,Deprecated==1.2.14,dill==0.3.6,distlib==0.3.6,dockerfile-parse==2.0.0,exceptiongroup==1.1.1,fastcore==1.5.29,filelock==3.12.0,flake8==6.0.0,flexmock==0.11.3,frozenlist==1.3.3,future==0.18.3,ghapi==1.0.3,gssapi==1.8.2,idna==3.4,iniconfig==2.0.0,isort==5.12.0,jira==3.4.1,koji==1.33.0,krb5==0.5.0,lazy-object-proxy==1.9.0,mccabe==0.7.0,multidict==6.0.4,mysql-connector-python==8.0.33,oauthlib==3.2.2,openshift-client==1.0.18,packaging==23.1,paramiko==3.2.0,platformdirs==3.5.1,pluggy==1.0.0,protobuf==3.20.3,pycodestyle==2.10.0,pycparser==2.21,pydantic==1.10.8,pyflakes==3.0.1,pygit2==1.10.1,PyGithub==1.58.2,PyJWT==2.7.0,pylint==2.17.4,PyNaCl==1.5.0,pyproject-api==1.5.1,pyspnego==0.9.0,pytest==7.3.1,python-dateutil==2.8.2,PyYAML==6.0,requests==2.31.0,requests-gssapi==1.2.3,requests-kerberos==0.14.0,requests-oauthlib==1.3.1,requests-toolbelt==1.0.0,rh-doozer @ file:///mnt/workspace/jenkins/working/art-tools_doozer_PR-772/.tox/.tmp/package/1/rh-doozer-2.0.15.dev332%2Bg64c6f2f.zip,semver==3.0.0,setuptools-scm==7.1.0,six==1.16.0,tenacity==8.2.2,tomli==2.0.1,tomlkit==0.11.8,tox==4.5.2,typing==3.7.4.3,typing-extensions==4.6.3,urllib3==2.0.2,virtualenv==20.23.0,wrapt==1.15.0,yarl==1.9.2
py38 run-test-pre: PYTHONHASHSEED='2644129034'
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..................................................................................
----------------------------------------------------------------------
Ran 274 tests in 2.141s

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                            12      7      2      1    43%
doozerlib/_version.py                             2      2      0      0     0%
doozerlib/assembly.py                           158     20     87     11    84%
doozerlib/assembly_inspector.py                 214    154    120      7    24%
doozerlib/assertion.py                           13      0      6      0   100%
doozerlib/brew.py                               366    206    152      4    40%
doozerlib/build_status_detector.py               85     10     54      3    86%
doozerlib/cli/__init__.py                       122     64     28      0    39%
doozerlib/cli/__main__.py                      1136   1136    454      0     0%
doozerlib/cli/cli_opts.py                        20      3      8      0    89%
doozerlib/cli/config_plashet.py                 535    535    246      0     0%
doozerlib/cli/config_tag_rpms.py                141     20     77     15    82%
doozerlib/cli/detect_embargo.py                 167     35     70      8    75%
doozerlib/cli/get_nightlies.py                  230     59    127      3    71%
doozerlib/cli/images_health.py                   82     30     26      2    59%
doozerlib/cli/images_streams.py                 687    687    296      0     0%
doozerlib/cli/inspect_stream.py                  66     66     28      0     0%
doozerlib/cli/release_calc_upgrade_tests.py      24     24      6      0     0%
doozerlib/cli/release_gen_assembly.py           277    146    118      3    42%
doozerlib/cli/release_gen_payload.py            703    260    300     20    58%
doozerlib/cli/rpms_build.py                     165     59     58      8    57%
doozerlib/cli/scan_sources.py                   182    141    100      2    17%
doozerlib/comment_on_pr.py                       46      0      8      0   100%
doozerlib/config.py                              97     97     44      0     0%
doozerlib/constants.py                           11      0      0      0   100%
doozerlib/coverity.py                           255    225     82      0     9%
doozerlib/dblib.py                              263    160     68      4    35%
doozerlib/distgit.py                           1449    898    686     39    36%
doozerlib/dotconfig.py                           54     43     31      0    13%
doozerlib/exceptions.py                           2      0      0      0   100%
doozerlib/exectools.py                          197    105     76     10    43%
doozerlib/gitdata.py                            171    137     76      0    14%
doozerlib/image.py                              532    329    232     10    33%
doozerlib/logutil.py                              9      0      2      1    91%
doozerlib/metadata.py                           432    151    184     30    61%
doozerlib/model.py                              113     21     36      2    82%
doozerlib/olm/__init__.py                         0      0      0      0   100%
doozerlib/olm/bundle.py                         315    230     72      0    22%
doozerlib/osbs2_builder.py                      119     30     44     19    67%
doozerlib/plashet.py                            134      9     90     15    89%
doozerlib/pushd.py                               22      0      2      0   100%
doozerlib/release_schedule.py                    28     17      8      0    31%
doozerlib/repos.py                              243     92    121     17    55%
doozerlib/rhcos.py                              237     25     90     14    87%
doozerlib/rpm_builder.py                        225     28    119     31    82%
doozerlib/rpm_delivery.py                        16      1      0      0    94%
doozerlib/rpm_utils.py                          134     23     90     14    81%
doozerlib/rpmcfg.py                             151     61     64      8    55%
doozerlib/runtime.py                            950    692    376      8    21%
doozerlib/source_modifications.py               116     33     26      4    68%
doozerlib/state.py                               23     12      8      0    35%
doozerlib/util.py                               452    217    180     13    48%
-------------------------------------------------------------------------------
TOTAL                                         12183   7300   5178    326    37%
___________________________________ summary ____________________________________
  py38: commands succeeded
  congratulations :)

@openshift-bot
Copy link

Build #7

GLOB sdist-make: /mnt/workspace/jenkins/working/art-tools_doozer_PR-772/setup.py
py38 recreate: /mnt/workspace/jenkins/working/art-tools_doozer_PR-772/.tox/py38
py38 installdeps: -rrequirements-dev.txt, -rrequirements.txt
py38 inst: /mnt/workspace/jenkins/working/art-tools_doozer_PR-772/.tox/.tmp/package/1/rh-doozer-2.0.15.dev334+gc967974.zip
py38 installed: aiofiles==23.1.0,aiohttp==3.8.4,aiosignal==1.3.1,astroid==2.15.5,async-timeout==4.0.2,attrs==23.1.0,autopep8==2.0.2,bashlex==0.18,bcrypt==4.0.1,cachetools==5.3.1,certifi==2023.5.7,cffi==1.15.1,chardet==5.1.0,charset-normalizer==3.1.0,click==8.1.3,colorama==0.4.6,coverage==7.2.7,cryptography==41.0.1,decorator==5.1.1,defusedxml==0.7.1,Deprecated==1.2.14,dill==0.3.6,distlib==0.3.6,dockerfile-parse==2.0.0,exceptiongroup==1.1.1,fastcore==1.5.29,filelock==3.12.0,flake8==6.0.0,flexmock==0.11.3,frozenlist==1.3.3,future==0.18.3,ghapi==1.0.3,gssapi==1.8.2,idna==3.4,iniconfig==2.0.0,isort==5.12.0,jira==3.4.1,koji==1.33.0,krb5==0.5.0,lazy-object-proxy==1.9.0,mccabe==0.7.0,multidict==6.0.4,mysql-connector-python==8.0.33,oauthlib==3.2.2,openshift-client==1.0.18,packaging==23.1,paramiko==3.2.0,platformdirs==3.5.1,pluggy==1.0.0,protobuf==3.20.3,pycodestyle==2.10.0,pycparser==2.21,pydantic==1.10.9,pyflakes==3.0.1,pygit2==1.10.1,PyGithub==1.58.2,PyJWT==2.7.0,pylint==2.17.4,PyNaCl==1.5.0,pyproject-api==1.5.1,pyspnego==0.9.0,pytest==7.3.1,python-dateutil==2.8.2,PyYAML==6.0,requests==2.31.0,requests-gssapi==1.2.3,requests-kerberos==0.14.0,requests-oauthlib==1.3.1,requests-toolbelt==1.0.0,rh-doozer @ file:///mnt/workspace/jenkins/working/art-tools_doozer_PR-772/.tox/.tmp/package/1/rh-doozer-2.0.15.dev334%2Bgc967974.zip,semver==3.0.0,setuptools-scm==7.1.0,six==1.16.0,tenacity==8.2.2,tomli==2.0.1,tomlkit==0.11.8,tox==4.6.0,typing==3.7.4.3,typing-extensions==4.6.3,urllib3==2.0.3,virtualenv==20.23.0,wrapt==1.15.0,yarl==1.9.2
py38 run-test-pre: PYTHONHASHSEED='803522342'
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..................................................................................
----------------------------------------------------------------------
Ran 274 tests in 2.273s

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                            12      7      2      1    43%
doozerlib/_version.py                             2      2      0      0     0%
doozerlib/assembly.py                           158     20     87     11    84%
doozerlib/assembly_inspector.py                 214    154    120      7    24%
doozerlib/assertion.py                           13      0      6      0   100%
doozerlib/brew.py                               366    206    152      4    40%
doozerlib/build_status_detector.py               85     10     54      3    86%
doozerlib/cli/__init__.py                       122     64     28      0    39%
doozerlib/cli/__main__.py                      1136   1136    454      0     0%
doozerlib/cli/cli_opts.py                        20      3      8      0    89%
doozerlib/cli/config_plashet.py                 535    535    246      0     0%
doozerlib/cli/config_tag_rpms.py                141     20     77     15    82%
doozerlib/cli/detect_embargo.py                 167     35     70      8    75%
doozerlib/cli/get_nightlies.py                  230     59    127      3    71%
doozerlib/cli/images_health.py                   82     30     26      2    59%
doozerlib/cli/images_streams.py                 687    687    296      0     0%
doozerlib/cli/inspect_stream.py                  66     66     28      0     0%
doozerlib/cli/release_calc_upgrade_tests.py      24     24      6      0     0%
doozerlib/cli/release_gen_assembly.py           277    146    118      3    42%
doozerlib/cli/release_gen_payload.py            703    260    300     20    58%
doozerlib/cli/rpms_build.py                     165     59     58      8    57%
doozerlib/cli/scan_sources.py                   182    141    100      2    17%
doozerlib/comment_on_pr.py                       46      0      8      0   100%
doozerlib/config.py                              97     97     44      0     0%
doozerlib/constants.py                           11      0      0      0   100%
doozerlib/coverity.py                           255    225     82      0     9%
doozerlib/dblib.py                              263    160     68      4    35%
doozerlib/distgit.py                           1449    898    686     39    36%
doozerlib/dotconfig.py                           54     43     31      0    13%
doozerlib/exceptions.py                           2      0      0      0   100%
doozerlib/exectools.py                          197    105     76     10    43%
doozerlib/gitdata.py                            171    137     76      0    14%
doozerlib/image.py                              532    329    232     10    33%
doozerlib/logutil.py                              9      0      2      1    91%
doozerlib/metadata.py                           432    151    184     30    61%
doozerlib/model.py                              113     21     36      2    82%
doozerlib/olm/__init__.py                         0      0      0      0   100%
doozerlib/olm/bundle.py                         315    230     72      0    22%
doozerlib/osbs2_builder.py                      119     30     44     19    67%
doozerlib/plashet.py                            134      9     90     15    89%
doozerlib/pushd.py                               22      0      2      0   100%
doozerlib/release_schedule.py                    28     17      8      0    31%
doozerlib/repos.py                              253     93    123     18    56%
doozerlib/rhcos.py                              237     25     90     14    87%
doozerlib/rpm_builder.py                        225     28    119     31    82%
doozerlib/rpm_delivery.py                        16      1      0      0    94%
doozerlib/rpm_utils.py                          134     23     90     14    81%
doozerlib/rpmcfg.py                             151     61     64      8    55%
doozerlib/runtime.py                            950    692    376      8    21%
doozerlib/source_modifications.py               116     33     26      4    68%
doozerlib/state.py                               23     12      8      0    35%
doozerlib/util.py                               452    217    180     13    48%
-------------------------------------------------------------------------------
TOTAL                                         12193   7301   5180    327    37%
___________________________________ summary ____________________________________
  py38: commands succeeded
  congratulations :)

@openshift-bot
Copy link

Build #8

GLOB sdist-make: /mnt/workspace/jenkins/working/art-tools_doozer_PR-772/setup.py
py38 recreate: /mnt/workspace/jenkins/working/art-tools_doozer_PR-772/.tox/py38
py38 installdeps: -rrequirements-dev.txt, -rrequirements.txt
py38 inst: /mnt/workspace/jenkins/working/art-tools_doozer_PR-772/.tox/.tmp/package/1/rh-doozer-2.0.15.dev336+g66c1b84.zip
py38 installed: aiofiles==23.1.0,aiohttp==3.8.4,aiosignal==1.3.1,astroid==2.15.5,async-timeout==4.0.2,attrs==23.1.0,autopep8==2.0.2,bashlex==0.18,bcrypt==4.0.1,cachetools==5.3.1,certifi==2023.5.7,cffi==1.15.1,chardet==5.1.0,charset-normalizer==3.1.0,click==8.1.3,colorama==0.4.6,coverage==7.2.7,cryptography==41.0.1,decorator==5.1.1,defusedxml==0.7.1,Deprecated==1.2.14,dill==0.3.6,distlib==0.3.6,dockerfile-parse==2.0.0,exceptiongroup==1.1.1,fastcore==1.5.29,filelock==3.12.0,flake8==6.0.0,flexmock==0.11.3,frozenlist==1.3.3,future==0.18.3,ghapi==1.0.3,gssapi==1.8.2,idna==3.4,iniconfig==2.0.0,isort==5.12.0,jira==3.4.1,koji==1.33.0,krb5==0.5.0,lazy-object-proxy==1.9.0,mccabe==0.7.0,multidict==6.0.4,mysql-connector-python==8.0.33,oauthlib==3.2.2,openshift-client==1.0.18,packaging==23.1,paramiko==3.2.0,platformdirs==3.5.1,pluggy==1.0.0,protobuf==3.20.3,pycodestyle==2.10.0,pycparser==2.21,pydantic==1.10.9,pyflakes==3.0.1,pygit2==1.10.1,PyGithub==1.58.2,PyJWT==2.7.0,pylint==2.17.4,PyNaCl==1.5.0,pyproject-api==1.5.1,pyspnego==0.9.0,pytest==7.3.1,python-dateutil==2.8.2,PyYAML==6.0,requests==2.31.0,requests-gssapi==1.2.3,requests-kerberos==0.14.0,requests-oauthlib==1.3.1,requests-toolbelt==1.0.0,rh-doozer @ file:///mnt/workspace/jenkins/working/art-tools_doozer_PR-772/.tox/.tmp/package/1/rh-doozer-2.0.15.dev336%2Bg66c1b84.zip,semver==3.0.0,setuptools-scm==7.1.0,six==1.16.0,tenacity==8.2.2,tomli==2.0.1,tomlkit==0.11.8,tox==4.6.0,typing==3.7.4.3,typing-extensions==4.6.3,urllib3==2.0.3,virtualenv==20.23.0,wrapt==1.15.0,yarl==1.9.2
py38 run-test-pre: PYTHONHASHSEED='2290621639'
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..................................................................................
----------------------------------------------------------------------
Ran 274 tests in 2.299s

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                            12      7      2      1    43%
doozerlib/_version.py                             2      2      0      0     0%
doozerlib/assembly.py                           158     20     87     11    84%
doozerlib/assembly_inspector.py                 220    158    128      8    24%
doozerlib/assertion.py                           13      0      6      0   100%
doozerlib/brew.py                               366    206    152      4    40%
doozerlib/build_status_detector.py               85     10     54      3    86%
doozerlib/cli/__init__.py                       122     64     28      0    39%
doozerlib/cli/__main__.py                      1136   1136    454      0     0%
doozerlib/cli/cli_opts.py                        20      3      8      0    89%
doozerlib/cli/config_plashet.py                 535    535    246      0     0%
doozerlib/cli/config_tag_rpms.py                141     20     77     15    82%
doozerlib/cli/detect_embargo.py                 167     35     70      8    75%
doozerlib/cli/get_nightlies.py                  230     59    127      3    71%
doozerlib/cli/images_health.py                   82     30     26      2    59%
doozerlib/cli/images_streams.py                 687    687    296      0     0%
doozerlib/cli/inspect_stream.py                  66     66     28      0     0%
doozerlib/cli/release_calc_upgrade_tests.py      24     24      6      0     0%
doozerlib/cli/release_gen_assembly.py           277    146    118      3    42%
doozerlib/cli/release_gen_payload.py            703    260    300     20    58%
doozerlib/cli/rpms_build.py                     165     59     58      8    57%
doozerlib/cli/scan_sources.py                   182    141    100      2    17%
doozerlib/comment_on_pr.py                       46      0      8      0   100%
doozerlib/config.py                              97     97     44      0     0%
doozerlib/constants.py                           11      0      0      0   100%
doozerlib/coverity.py                           255    225     82      0     9%
doozerlib/dblib.py                              263    160     68      4    35%
doozerlib/distgit.py                           1449    898    686     39    36%
doozerlib/dotconfig.py                           54     43     31      0    13%
doozerlib/exceptions.py                           2      0      0      0   100%
doozerlib/exectools.py                          197    105     76     10    43%
doozerlib/gitdata.py                            171    137     76      0    14%
doozerlib/image.py                              532    329    232     10    33%
doozerlib/logutil.py                              9      0      2      1    91%
doozerlib/metadata.py                           432    151    184     30    61%
doozerlib/model.py                              113     21     36      2    82%
doozerlib/olm/__init__.py                         0      0      0      0   100%
doozerlib/olm/bundle.py                         315    230     72      0    22%
doozerlib/osbs2_builder.py                      119     30     44     19    67%
doozerlib/plashet.py                            134      9     90     15    89%
doozerlib/pushd.py                               22      0      2      0   100%
doozerlib/release_schedule.py                    28     17      8      0    31%
doozerlib/repos.py                              253     93    123     18    56%
doozerlib/rhcos.py                              237     25     90     14    87%
doozerlib/rpm_builder.py                        225     28    119     31    82%
doozerlib/rpm_delivery.py                        16      1      0      0    94%
doozerlib/rpm_utils.py                          134     23     90     14    81%
doozerlib/rpmcfg.py                             151     61     64      8    55%
doozerlib/runtime.py                            950    692    376      8    21%
doozerlib/source_modifications.py               116     33     26      4    68%
doozerlib/state.py                               23     12      8      0    35%
doozerlib/util.py                               452    217    180     13    48%
-------------------------------------------------------------------------------
TOTAL                                         12199   7305   5188    328    37%
___________________________________ summary ____________________________________
  py38: commands succeeded
  congratulations :)

Copy link
Contributor

@joepvd joepvd left a comment

Choose a reason for hiding this comment

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

/lgtm

@vfreex vfreex merged commit bfd9e3f into openshift-eng:master Jun 9, 2023
2 checks passed
return [task.result for task in tasks]
task_ids = cast(List[int], await exectools.to_thread(_func))
if task_ids:
TASK_URL = "https://brewweb.engineering.redhat.com/brew/taskinfo?taskID="
Copy link
Contributor

Choose a reason for hiding this comment

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

we have a constant BREWWEB_URL for this although it would be even better to be configurable in case some day we find the brew stage deployment useful

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.

None yet

4 participants