9504e96b5d
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]
|
||
---|---|---|
.. | ||
__init__.py | ||
check_diff_start.py | ||
check_schema.py | ||
edit_deliverable.py | ||
find_gerrit_acl_issues.py | ||
get_contacts.py | ||
get_deliverable_owner.py | ||
init_series.py | ||
interactive_release.py | ||
list_changes.py | ||
list_constraints.py | ||
list_deliverables.py | ||
list_series.py | ||
list_unreleased_changes.py | ||
mail.py | ||
make_tracking_pad.py | ||
missing.py | ||
new_release.py | ||
propose_final_releases.py | ||
propose_library_branches.py | ||
reformat_yaml.py | ||
release_notes.py | ||
validate.py |