releases/openstack_releases
Hervé Beraud 9504e96b5d Fix validation to ensure that first release of series isn't a bugfix
We recently observed that this check was skipped. Indeed it was
possible to propose a bugfix version on the first release of a series
without facing validation errors [1].

The described situation was allowed by checks that we introduced
during Wallaby [2]. Those was designed to ensure that we can
build sdist from the proposed tag. Indeed, they temporarly created
the new git tag to build sdist from it. However we never delete this
tag after our tests so this temporary tag is see as an existing tag
and so that led us to the observed bug.

Our validation check that the first version number of series isn't a
bugfix after it tried to build the sdist from the new tag, so, without
this patch the tag newly created by the sdist check remains available
in the repo, and so a couple of next checks are skipped, including the
validation of the version number, because these checks are decorated
to ignore existing tags.

Indeed the function decorated with `skip_existing_tags` detect this
temporary tag as an existing tag, so, the decorated functions are
skipped.

We should notice that it surely impacted other checks in the same manner.
Indeed, all validation functions decorated with this function
`skip_existing_tags` are impacted by this bug.
Hopefully it didn't have too much side effects.

These changes delete the temporary tag after usage to ensure to restore
the initial environment and to stop skipping next checks.

[1] https://review.opendev.org/c/openstack/releases/+/795836
[2] 80652b5232

Change-Id: I5d9024528d08487a7582e0a0e73576b22708a6cf
2021-06-17 13:41:12 +02:00
..
cmds Fix validation to ensure that first release of series isn't a bugfix 2021-06-17 13:41:12 +02:00
tests Fix validation to ensure that first release of series isn't a bugfix 2021-06-17 13:41:12 +02:00
__init__.py Add top level LICENSE file 2018-10-17 10:36:04 +11:00
_redirections.py Correct a typo of an annotation 2020-07-23 14:26:21 +08:00
defaults.py Mark Wallaby as released 2021-04-13 10:47:10 +02:00
deliverable.py Allow to tag projects as "last" on EM branches 2021-01-12 11:56:50 +01:00
gitutils.py Fix validation to ensure that first release of series isn't a bugfix 2021-06-17 13:41:12 +02:00
hound.py protect against errors from the hound API 2018-06-14 13:25:20 -04:00
liaisons_schema.py Update Liaison Scripts 2019-06-19 16:22:29 -07:00
liaisons_schema.yaml Fix regression in list-changes 2019-06-20 17:52:13 +02:00
liaisons.py Add simple liaisons wrapper module 2019-11-18 12:30:59 +11:00
links.py Update missing cmd to follow redirects 2020-05-13 07:19:35 -05:00
npmutils.py do not assume that modules with setup.py are packaged with python jobs 2017-10-24 10:59:17 -04:00
processutils.py Pass full environ copy to sdist subprocess 2020-05-11 17:09:19 -05:00
project_config.py Create ovb 2.0 release and cut stable/2.0 branch 2021-03-10 19:34:09 +05:30
puppetutils.py do not assume that modules with setup.py are packaged with python jobs 2017-10-24 10:59:17 -04:00
pythonutils.py Avoid PyPI ratelimit on roles retrieval retry 2021-03-31 12:36:13 +02:00
release_notes.py Send RC announces to release-announce 2019-10-08 13:47:13 +02:00
requirements.py Don't fail version validation on install failure 2020-02-29 05:33:22 -06:00
rst2txt.py Update to latest hacking for pep8 checks 2020-07-27 16:33:03 -05:00
schema.py have list-deliverables look for valid values by querying the schema 2018-03-07 10:49:50 -05:00
schema.yaml Create ovb 2.0 release and cut stable/2.0 branch 2021-03-10 19:34:09 +05:30
series_status_schema.yaml Drop references to git.openstack.org 2019-04-15 14:25:18 -05:00
series_status.py Adding a tool to catch projects that missed branching 2021-03-03 13:51:12 +01:00
versionutils.py Update docs building, Python 3 cleanup 2020-04-20 11:16:46 +02:00
xstaticutils.py Bust import caching of xstatic package namespaces 2020-03-26 21:08:08 +00:00
yamlutils.py Raise YAML compliance to 1.2 2019-07-31 09:34:38 -05:00