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

Prevent leading zero in nvr semver #527

Merged
merged 1 commit into from
Nov 11, 2021

Conversation

jupierce
Copy link
Contributor

@jupierce jupierce commented Nov 1, 2021

The semver standard prevents numeric elements of the pre-release portion of a version from starting with 0. This means that doozer could rarely create invalid semvers like .git.0123456. We will change to be .g0123456 so these fields are always non-numeric.

@openshift-ci openshift-ci bot requested review from sosiouxme and Ximinhan November 1, 2021 15:46
@openshift-bot
Copy link

Build #1

GLOB sdist-make: /mnt/workspace/jenkins/working/art-tools_doozer_PR-527/setup.py
py36 create: /mnt/workspace/jenkins/working/art-tools_doozer_PR-527/.tox/py36
py36 installdeps: -rrequirements-dev.txt
py36 inst: /mnt/workspace/jenkins/working/art-tools_doozer_PR-527/.tox/.tmp/package/1/rh-doozer-2.0.0.zip
py36 installed: aiofiles==0.7.0,astroid==2.8.4,attrs==21.2.0,autopep8==1.6.0,backports.entry-points-selectable==1.1.0,bashlex==0.16,cached-property==1.5.2,certifi==2021.10.8,cffi==1.15.0,charset-normalizer==2.0.7,click==8.0.3,contextvars==2.4,coverage==6.1.1,cryptography==35.0.0,decorator==5.1.0,Deprecated==1.2.13,distlib==0.3.3,dockerfile-parse==1.2.0,filelock==3.3.2,flake8==4.0.1,flexmock==0.10.10,future==0.18.2,gssapi==1.7.2,idna==3.3,immutables==0.16,importlib-metadata==4.2.0,importlib-resources==5.4.0,iniconfig==1.1.1,isort==5.9.3,kobo==0.19.0,koji==1.26.1,lazy-object-proxy==1.6.0,mccabe==0.6.1,mock==4.0.3,mysql-connector-python==8.0.27,packaging==21.2,platformdirs==2.4.0,pluggy==1.0.0,protobuf==3.19.1,py==1.10.0,pycodestyle==2.8.0,pycparser==2.20,pyflakes==2.4.0,pygit2==1.6.1,PyGithub==1.55,PyJWT==2.3.0,pykerberos==1.2.1,pylint==2.11.1,PyNaCl==1.4.0,pyparsing==2.4.7,pytest==6.2.5,python-dateutil==2.8.2,PyYAML==6.0,requests==2.26.0,requests-gssapi==1.2.3,requests-kerberos==0.12.0,rh-doozer @ file:///mnt/workspace/jenkins/working/art-tools_doozer_PR-527/.tox/.tmp/package/1/rh-doozer-2.0.0.zip,rpm==4.14.3,rpm-py-installer==1.1.0,semver==2.13.0,six==1.16.0,tenacity==8.0.1,toml==0.10.2,tox==3.24.4,typed-ast==1.4.3,typing==3.7.4.3,typing-extensions==3.10.0.2,urllib3==1.26.7,virtualenv==20.10.0,wrapt==1.13.3,zipp==3.6.0
py36 run-test-pre: PYTHONHASHSEED='2477530048'
py36 run-test: commands[0] | flake8
py36 run-test: commands[1] | coverage run --branch --source doozerlib -m unittest discover -t . -s tests/
..........................................................................s.s....................................s.s...s.s.s..s.s.s..................................................................
----------------------------------------------------------------------
Ran 187 tests in 9.352s

OK (skipped=10)
py36 run-test: commands[2] | coverage report
Name                                          Stmts   Miss Branch BrPart  Cover
-------------------------------------------------------------------------------
doozerlib/__init__.py                            11      4      2      1    62%
doozerlib/assembly.py                           155     51     89      9    63%
doozerlib/assembly_inspector.py                 162    144     92      0     7%
doozerlib/assertion.py                           22      0      6      0   100%
doozerlib/brew.py                               340    195    148      3    39%
doozerlib/build_status_detector.py               85     10     54      3    86%
doozerlib/cli/__init__.py                       101     45     20      0    46%
doozerlib/cli/__main__.py                      1114   1114    460      0     0%
doozerlib/cli/cli_opts.py                        16      3      6      0    86%
doozerlib/cli/config_plashet.py                 533    533    248      0     0%
doozerlib/cli/detect_embargo.py                 163     35     70      8    75%
doozerlib/cli/images_health.py                   79     28     24      2    61%
doozerlib/cli/images_streams.py                 572    572    244      0     0%
doozerlib/cli/release_calc_upgrade_tests.py      23     23      6      0     0%
doozerlib/cli/release_gen_assembly.py           166    166     82      0     0%
doozerlib/cli/release_gen_payload.py            332    266    170      0    13%
doozerlib/cli/rpms_build.py                     165     59     58      8    57%
doozerlib/cli/scan_sources.py                   180    139     96      2    17%
doozerlib/config.py                              98     98     44      0     0%
doozerlib/constants.py                            9      0      0      0   100%
doozerlib/coverity.py                           238    209     74      0     9%
doozerlib/dblib.py                              251    154     68      4    35%
doozerlib/distgit.py                           1380    915    642     15    31%
doozerlib/dotconfig.py                           56     44     32      0    14%
doozerlib/exceptions.py                           3      0      0      0   100%
doozerlib/exectools.py                          194    103     76     10    43%
doozerlib/gitdata.py                            168    133     76      0    14%
doozerlib/image.py                              488    321    212      6    28%
doozerlib/logutil.py                             10      0      2      1    92%
doozerlib/metadata.py                           444    172    202     30    56%
doozerlib/model.py                              111     21     36      2    82%
doozerlib/olm/__init__.py                         0      0      0      0   100%
doozerlib/olm/bundle.py                         289    223     68      0    18%
doozerlib/plashet.py                            134      9     90     15    89%
doozerlib/pushd.py                               21      2      2      0    91%
doozerlib/repos.py                              207    105    113     17    44%
doozerlib/rhcos.py                              126     30     32      4    70%
doozerlib/rpm_builder.py                        226     31    121     32    81%
doozerlib/rpmcfg.py                             141     56     58      8    56%
doozerlib/runtime.py                            897    653    366      8    21%
doozerlib/source_modifications.py                89     28     18      3    65%
doozerlib/state.py                               24     12      8      0    38%
doozerlib/util.py                               395    196    148      5    47%
-------------------------------------------------------------------------------
TOTAL                                         10218   6902   4363    196    29%
___________________________________ summary ____________________________________
  py36: commands succeeded
  congratulations :)

@jupierce jupierce force-pushed the avoid_git_zero_prefix branch 2 times, most recently from 4a96e7f to c8a1f27 Compare November 1, 2021 16:42
@jupierce jupierce changed the title Strip leading zero whenever constructing/checking semver Prevent leading zero in nvr semver Nov 1, 2021
@yselkowitz
Copy link

Wondering if it shouldn't just be g<short-hash>, along the lines of git describe?

@openshift-bot
Copy link

Build #2

GLOB sdist-make: /mnt/workspace/jenkins/working/art-tools_doozer_PR-527/setup.py
py36 recreate: /mnt/workspace/jenkins/working/art-tools_doozer_PR-527/.tox/py36
py36 installdeps: -rrequirements-dev.txt
py36 inst: /mnt/workspace/jenkins/working/art-tools_doozer_PR-527/.tox/.tmp/package/1/rh-doozer-2.0.0.zip
py36 installed: aiofiles==0.7.0,astroid==2.8.4,attrs==21.2.0,autopep8==1.6.0,backports.entry-points-selectable==1.1.0,bashlex==0.16,cached-property==1.5.2,certifi==2021.10.8,cffi==1.15.0,charset-normalizer==2.0.7,click==8.0.3,contextvars==2.4,coverage==6.1.1,cryptography==35.0.0,decorator==5.1.0,Deprecated==1.2.13,distlib==0.3.3,dockerfile-parse==1.2.0,filelock==3.3.2,flake8==4.0.1,flexmock==0.10.10,future==0.18.2,gssapi==1.7.2,idna==3.3,immutables==0.16,importlib-metadata==4.2.0,importlib-resources==5.4.0,iniconfig==1.1.1,isort==5.9.3,kobo==0.19.0,koji==1.26.1,lazy-object-proxy==1.6.0,mccabe==0.6.1,mock==4.0.3,mysql-connector-python==8.0.27,packaging==21.2,platformdirs==2.4.0,pluggy==1.0.0,protobuf==3.19.1,py==1.10.0,pycodestyle==2.8.0,pycparser==2.20,pyflakes==2.4.0,pygit2==1.6.1,PyGithub==1.55,PyJWT==2.3.0,pykerberos==1.2.1,pylint==2.11.1,PyNaCl==1.4.0,pyparsing==2.4.7,pytest==6.2.5,python-dateutil==2.8.2,PyYAML==6.0,requests==2.26.0,requests-gssapi==1.2.3,requests-kerberos==0.12.0,rh-doozer @ file:///mnt/workspace/jenkins/working/art-tools_doozer_PR-527/.tox/.tmp/package/1/rh-doozer-2.0.0.zip,rpm==4.14.3,rpm-py-installer==1.1.0,semver==2.13.0,six==1.16.0,tenacity==8.0.1,toml==0.10.2,tox==3.24.4,typed-ast==1.4.3,typing==3.7.4.3,typing-extensions==3.10.0.2,urllib3==1.26.7,virtualenv==20.10.0,wrapt==1.13.3,zipp==3.6.0
py36 run-test-pre: PYTHONHASHSEED='4252424309'
py36 run-test: commands[0] | flake8
py36 run-test: commands[1] | coverage run --branch --source doozerlib -m unittest discover -t . -s tests/
..........................................................................s.s....................................s.s...s.s.s..s.s.s.........................................F.F........................
======================================================================
FAIL: test_rebase (tests.test_rpm_builder.TestRPMBuilder)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/mnt/workspace/jenkins/working/art-tools_doozer_PR-527/.tox/py36/lib/python3.6/site-packages/mock/mock.py", line 1346, in patched
    return func(*newargs, **newkeywargs)
  File "/mnt/workspace/jenkins/working/art-tools_doozer_PR-527/tests/test_rpm_builder.py", line 98, in test_rebase
    'io.openshift.build.source-location': None}
  File "/mnt/workspace/jenkins/working/art-tools_doozer_PR-527/.tox/py36/lib/python3.6/site-packages/mock/mock.py", line 926, in assert_called_once_with
    return self.assert_called_with(*args, **kwargs)
  File "/mnt/workspace/jenkins/working/art-tools_doozer_PR-527/.tox/py36/lib/python3.6/site-packages/mock/mock.py", line 913, in assert_called_with
    raise AssertionError(_error_message()) from cause
AssertionError: expected call not found.
Expected: mock('Automatic commit of package [foo] release [1.2.3-202104070000.test.p0.git3f17b42].', commit_attributes={'version': '1.2.3', 'release': '202104070000.test.p0.git.3f17b42', 'io.openshift.build.commit.id': '3f17b42b8aa7d294c0d2b6f946af5fe488f3a722', 'io.openshift.build.source-location': None})
Actual: mock('Automatic commit of package [foo] release [1.2.3-202104070000.test.p0.git3f17b42].', commit_attributes={'version': '1.2.3', 'release': '202104070000.test.p0.git3f17b42', 'io.openshift.build.commit.id': '3f17b42b8aa7d294c0d2b6f946af5fe488f3a722', 'io.openshift.build.source-location': None})

======================================================================
FAIL: test_rebase_with_assembly (tests.test_rpm_builder.TestRPMBuilder)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/mnt/workspace/jenkins/working/art-tools_doozer_PR-527/.tox/py36/lib/python3.6/site-packages/mock/mock.py", line 1346, in patched
    return func(*newargs, **newkeywargs)
  File "/mnt/workspace/jenkins/working/art-tools_doozer_PR-527/tests/test_rpm_builder.py", line 138, in test_rebase_with_assembly
    'io.openshift.build.source-location': None})
  File "/mnt/workspace/jenkins/working/art-tools_doozer_PR-527/.tox/py36/lib/python3.6/site-packages/mock/mock.py", line 926, in assert_called_once_with
    return self.assert_called_with(*args, **kwargs)
  File "/mnt/workspace/jenkins/working/art-tools_doozer_PR-527/.tox/py36/lib/python3.6/site-packages/mock/mock.py", line 913, in assert_called_with
    raise AssertionError(_error_message()) from cause
AssertionError: expected call not found.
Expected: mock('Automatic commit of package [foo] release [1.2.3-202104070000.test.p0.git3f17b42.assembly.tester].', commit_attributes={'version': '1.2.3', 'release': '202104070000.test.p0.git.3f17b42.assembly.tester', 'io.openshift.build.commit.id': '3f17b42b8aa7d294c0d2b6f946af5fe488f3a722', 'io.openshift.build.source-location': None})
Actual: mock('Automatic commit of package [foo] release [1.2.3-202104070000.test.p0.git3f17b42.assembly.tester].', commit_attributes={'version': '1.2.3', 'release': '202104070000.test.p0.git3f17b42.assembly.tester', 'io.openshift.build.commit.id': '3f17b42b8aa7d294c0d2b6f946af5fe488f3a722', 'io.openshift.build.source-location': None})

----------------------------------------------------------------------
Ran 187 tests in 9.517s

FAILED (failures=2, skipped=10)
ERROR: InvocationError for command /mnt/workspace/jenkins/working/art-tools_doozer_PR-527/.tox/py36/bin/coverage run --branch --source doozerlib -m unittest discover -t . -s tests/ (exited with code 1)
___________________________________ summary ____________________________________
ERROR:   py36: commands failed

@jupierce jupierce force-pushed the avoid_git_zero_prefix branch from c8a1f27 to 09e3509 Compare November 1, 2021 16:54
@jupierce jupierce force-pushed the avoid_git_zero_prefix branch from 09e3509 to 7d4f30a Compare November 1, 2021 16:58
@openshift-bot
Copy link

Build #3

GLOB sdist-make: /mnt/workspace/jenkins/working/art-tools_doozer_PR-527/setup.py
py36 recreate: /mnt/workspace/jenkins/working/art-tools_doozer_PR-527/.tox/py36
py36 installdeps: -rrequirements-dev.txt
py36 inst: /mnt/workspace/jenkins/working/art-tools_doozer_PR-527/.tox/.tmp/package/1/rh-doozer-2.0.0.zip
py36 installed: aiofiles==0.7.0,astroid==2.8.4,attrs==21.2.0,autopep8==1.6.0,backports.entry-points-selectable==1.1.0,bashlex==0.16,cached-property==1.5.2,certifi==2021.10.8,cffi==1.15.0,charset-normalizer==2.0.7,click==8.0.3,contextvars==2.4,coverage==6.1.1,cryptography==35.0.0,decorator==5.1.0,Deprecated==1.2.13,distlib==0.3.3,dockerfile-parse==1.2.0,filelock==3.3.2,flake8==4.0.1,flexmock==0.10.10,future==0.18.2,gssapi==1.7.2,idna==3.3,immutables==0.16,importlib-metadata==4.2.0,importlib-resources==5.4.0,iniconfig==1.1.1,isort==5.9.3,kobo==0.19.0,koji==1.26.1,lazy-object-proxy==1.6.0,mccabe==0.6.1,mock==4.0.3,mysql-connector-python==8.0.27,packaging==21.2,platformdirs==2.4.0,pluggy==1.0.0,protobuf==3.19.1,py==1.10.0,pycodestyle==2.8.0,pycparser==2.20,pyflakes==2.4.0,pygit2==1.6.1,PyGithub==1.55,PyJWT==2.3.0,pykerberos==1.2.1,pylint==2.11.1,PyNaCl==1.4.0,pyparsing==2.4.7,pytest==6.2.5,python-dateutil==2.8.2,PyYAML==6.0,requests==2.26.0,requests-gssapi==1.2.3,requests-kerberos==0.12.0,rh-doozer @ file:///mnt/workspace/jenkins/working/art-tools_doozer_PR-527/.tox/.tmp/package/1/rh-doozer-2.0.0.zip,rpm==4.14.3,rpm-py-installer==1.1.0,semver==2.13.0,six==1.16.0,tenacity==8.0.1,toml==0.10.2,tox==3.24.4,typed-ast==1.4.3,typing==3.7.4.3,typing-extensions==3.10.0.2,urllib3==1.26.7,virtualenv==20.10.0,wrapt==1.13.3,zipp==3.6.0
py36 run-test-pre: PYTHONHASHSEED='821353166'
py36 run-test: commands[0] | flake8
py36 run-test: commands[1] | coverage run --branch --source doozerlib -m unittest discover -t . -s tests/
..........................................................................s.s....................................s.s...s.s.s..s.s.s..................................................................
----------------------------------------------------------------------
Ran 187 tests in 9.106s

OK (skipped=10)
py36 run-test: commands[2] | coverage report
Name                                          Stmts   Miss Branch BrPart  Cover
-------------------------------------------------------------------------------
doozerlib/__init__.py                            11      4      2      1    62%
doozerlib/assembly.py                           155     51     89      9    63%
doozerlib/assembly_inspector.py                 162    144     92      0     7%
doozerlib/assertion.py                           22      0      6      0   100%
doozerlib/brew.py                               340    195    148      3    39%
doozerlib/build_status_detector.py               85     10     54      3    86%
doozerlib/cli/__init__.py                       101     45     20      0    46%
doozerlib/cli/__main__.py                      1114   1114    460      0     0%
doozerlib/cli/cli_opts.py                        16      3      6      0    86%
doozerlib/cli/config_plashet.py                 533    533    248      0     0%
doozerlib/cli/detect_embargo.py                 163     35     70      8    75%
doozerlib/cli/images_health.py                   79     28     24      2    61%
doozerlib/cli/images_streams.py                 572    572    244      0     0%
doozerlib/cli/release_calc_upgrade_tests.py      23     23      6      0     0%
doozerlib/cli/release_gen_assembly.py           166    166     82      0     0%
doozerlib/cli/release_gen_payload.py            332    266    170      0    13%
doozerlib/cli/rpms_build.py                     165     59     58      8    57%
doozerlib/cli/scan_sources.py                   180    139     96      2    17%
doozerlib/config.py                              98     98     44      0     0%
doozerlib/constants.py                            9      0      0      0   100%
doozerlib/coverity.py                           238    209     74      0     9%
doozerlib/dblib.py                              251    154     68      4    35%
doozerlib/distgit.py                           1380    915    642     15    31%
doozerlib/dotconfig.py                           56     44     32      0    14%
doozerlib/exceptions.py                           3      0      0      0   100%
doozerlib/exectools.py                          194    103     76     10    43%
doozerlib/gitdata.py                            168    133     76      0    14%
doozerlib/image.py                              488    321    212      6    28%
doozerlib/logutil.py                             10      0      2      1    92%
doozerlib/metadata.py                           444    172    202     30    56%
doozerlib/model.py                              111     21     36      2    82%
doozerlib/olm/__init__.py                         0      0      0      0   100%
doozerlib/olm/bundle.py                         289    223     68      0    18%
doozerlib/plashet.py                            134      9     90     15    89%
doozerlib/pushd.py                               21      2      2      0    91%
doozerlib/repos.py                              207    105    113     17    44%
doozerlib/rhcos.py                              126     30     32      4    70%
doozerlib/rpm_builder.py                        226     31    121     32    81%
doozerlib/rpmcfg.py                             141     56     58      8    56%
doozerlib/runtime.py                            897    653    366      8    21%
doozerlib/source_modifications.py                89     28     18      3    65%
doozerlib/state.py                               24     12      8      0    38%
doozerlib/util.py                               398    199    150      5    46%
-------------------------------------------------------------------------------
TOTAL                                         10221   6905   4365    196    29%
___________________________________ summary ____________________________________
  py36: commands succeeded
  congratulations :)

@joepvd
Copy link
Contributor

joepvd commented Nov 1, 2021

Think this does what says on the tin, yet not comfortable enough for a /lgtm as I have very little idea who or what depends on the current scheme.

Should this first be limited to 4.10 at first and be subject to backports? Or we just roll with it? Should this be documented in all releases with a changelog?

@openshift-bot
Copy link

Build #4

GLOB sdist-make: /mnt/workspace/jenkins/working/art-tools_doozer_PR-527/setup.py
py36 recreate: /mnt/workspace/jenkins/working/art-tools_doozer_PR-527/.tox/py36
py36 installdeps: -rrequirements-dev.txt
py36 inst: /mnt/workspace/jenkins/working/art-tools_doozer_PR-527/.tox/.tmp/package/1/rh-doozer-2.0.0.zip
py36 installed: aiofiles==0.7.0,astroid==2.8.4,attrs==21.2.0,autopep8==1.6.0,backports.entry-points-selectable==1.1.0,bashlex==0.16,cached-property==1.5.2,certifi==2021.10.8,cffi==1.15.0,charset-normalizer==2.0.7,click==8.0.3,contextvars==2.4,coverage==6.1.1,cryptography==35.0.0,decorator==5.1.0,Deprecated==1.2.13,distlib==0.3.3,dockerfile-parse==1.2.0,filelock==3.3.2,flake8==4.0.1,flexmock==0.10.10,future==0.18.2,gssapi==1.7.2,idna==3.3,immutables==0.16,importlib-metadata==4.2.0,importlib-resources==5.4.0,iniconfig==1.1.1,isort==5.9.3,kobo==0.19.0,koji==1.26.1,lazy-object-proxy==1.6.0,mccabe==0.6.1,mock==4.0.3,mysql-connector-python==8.0.27,packaging==21.2,platformdirs==2.4.0,pluggy==1.0.0,protobuf==3.19.1,py==1.10.0,pycodestyle==2.8.0,pycparser==2.20,pyflakes==2.4.0,pygit2==1.6.1,PyGithub==1.55,PyJWT==2.3.0,pykerberos==1.2.1,pylint==2.11.1,PyNaCl==1.4.0,pyparsing==2.4.7,pytest==6.2.5,python-dateutil==2.8.2,PyYAML==6.0,requests==2.26.0,requests-gssapi==1.2.3,requests-kerberos==0.12.0,rh-doozer @ file:///mnt/workspace/jenkins/working/art-tools_doozer_PR-527/.tox/.tmp/package/1/rh-doozer-2.0.0.zip,rpm==4.14.3,rpm-py-installer==1.1.0,semver==2.13.0,six==1.16.0,tenacity==8.0.1,toml==0.10.2,tox==3.24.4,typed-ast==1.4.3,typing==3.7.4.3,typing-extensions==3.10.0.2,urllib3==1.26.7,virtualenv==20.10.0,wrapt==1.13.3,zipp==3.6.0
py36 run-test-pre: PYTHONHASHSEED='2087813298'
py36 run-test: commands[0] | flake8
py36 run-test: commands[1] | coverage run --branch --source doozerlib -m unittest discover -t . -s tests/
..........................................................................s.s....................................s.s...s.s.s..s.s.s..................................................................
----------------------------------------------------------------------
Ran 187 tests in 9.305s

OK (skipped=10)
py36 run-test: commands[2] | coverage report
Name                                          Stmts   Miss Branch BrPart  Cover
-------------------------------------------------------------------------------
doozerlib/__init__.py                            11      4      2      1    62%
doozerlib/assembly.py                           155     51     89      9    63%
doozerlib/assembly_inspector.py                 162    144     92      0     7%
doozerlib/assertion.py                           22      0      6      0   100%
doozerlib/brew.py                               340    195    148      3    39%
doozerlib/build_status_detector.py               85     10     54      3    86%
doozerlib/cli/__init__.py                       101     45     20      0    46%
doozerlib/cli/__main__.py                      1114   1114    460      0     0%
doozerlib/cli/cli_opts.py                        16      3      6      0    86%
doozerlib/cli/config_plashet.py                 533    533    248      0     0%
doozerlib/cli/detect_embargo.py                 163     35     70      8    75%
doozerlib/cli/images_health.py                   79     28     24      2    61%
doozerlib/cli/images_streams.py                 572    572    244      0     0%
doozerlib/cli/release_calc_upgrade_tests.py      23     23      6      0     0%
doozerlib/cli/release_gen_assembly.py           166    166     82      0     0%
doozerlib/cli/release_gen_payload.py            332    266    170      0    13%
doozerlib/cli/rpms_build.py                     165     59     58      8    57%
doozerlib/cli/scan_sources.py                   180    139     96      2    17%
doozerlib/config.py                              98     98     44      0     0%
doozerlib/constants.py                            9      0      0      0   100%
doozerlib/coverity.py                           238    209     74      0     9%
doozerlib/dblib.py                              251    154     68      4    35%
doozerlib/distgit.py                           1380    915    642     15    31%
doozerlib/dotconfig.py                           56     44     32      0    14%
doozerlib/exceptions.py                           3      0      0      0   100%
doozerlib/exectools.py                          194    103     76     10    43%
doozerlib/gitdata.py                            168    133     76      0    14%
doozerlib/image.py                              488    321    212      6    28%
doozerlib/logutil.py                             10      0      2      1    92%
doozerlib/metadata.py                           444    172    202     30    56%
doozerlib/model.py                              111     21     36      2    82%
doozerlib/olm/__init__.py                         0      0      0      0   100%
doozerlib/olm/bundle.py                         289    223     68      0    18%
doozerlib/plashet.py                            134      9     90     15    89%
doozerlib/pushd.py                               21      2      2      0    91%
doozerlib/repos.py                              207    105    113     17    44%
doozerlib/rhcos.py                              126     30     32      4    70%
doozerlib/rpm_builder.py                        226     31    121     32    81%
doozerlib/rpmcfg.py                             141     56     58      8    56%
doozerlib/runtime.py                            897    653    366      8    21%
doozerlib/source_modifications.py                89     28     18      3    65%
doozerlib/state.py                               24     12      8      0    38%
doozerlib/util.py                               398    199    150      5    46%
-------------------------------------------------------------------------------
TOTAL                                         10221   6905   4365    196    29%
___________________________________ summary ____________________________________
  py36: commands succeeded
  congratulations :)

@yselkowitz
Copy link

Just wondering if there needs to be a test added wrt continuing to recognize the existing .git.<commit-hash> form, as this seems to be important as mentioned in the code comments?

@jupierce jupierce requested a review from vfreex November 1, 2021 18:22
vfreex added a commit to vfreex/elliott that referenced this pull request Nov 4, 2021
See openshift-eng/doozer#527.

There's no code in Elliott using the git commit hash. This PR just updates
comments and tests to keep consistency with Doozer.
@vfreex
Copy link
Contributor

vfreex commented Nov 4, 2021

No code in Elliott is affected by the new format. But I created this PR openshift-eng/elliott#243 anyway to update examples, comments, and tests to keep consistency.

vfreex added a commit to vfreex/elliott that referenced this pull request Nov 11, 2021
See openshift-eng/doozer#527.

There's no code in Elliott using the git commit hash. This PR just updates
comments and tests to keep consistency with Doozer.
@vfreex vfreex merged commit 36b3291 into openshift-eng:master Nov 11, 2021
vfreex added a commit to vfreex/doozer that referenced this pull request Nov 19, 2021
e810dcb Permit assemblies to use custom rhcos builds The RHCOS pipeline, when configured for a custom build, will bucket the resulting metadata files in s3 in a directory suffixed with `-custom`. In order to for assemblies to use custom RHCOS builds, we must try to find metadata in either the standard location or `-custom` location.
0a4d5ca [ART-3109] Use container.yaml to apply floating tags (openshift-eng#524)
e3e6315 ART-3437: Make bundle tag names configurable
36b3291 Prevent leading zero in semver (openshift-eng#527)
57af5c8 Revert "make bundle tag names configurable (openshift-eng#532)" (openshift-eng#533)
3a14f91 make bundle tag names configurable (openshift-eng#532)
3c16d82 Allow olm-bundle:print to skip when builds are missing
b3cc4c3 We are in the future
69e613e Update code to work with flexmock 0.11
4107d82 ART-2519 add check upstreampulls function (openshift-eng#488)
56325c6 bump-doozer: add annotated tag
ashwindasr pushed a commit to ashwindasr/art-tools that referenced this pull request Jul 19, 2023
See openshift-eng/doozer#527.

There's no code in Elliott using the git commit hash. This PR just updates
comments and tests to keep consistency with Doozer.
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.

5 participants