add exp/preview tag operation based on last and next version's tag (#445)

This commit is contained in:
AllyW 2024-04-11 16:29:39 +08:00 коммит произвёл GitHub
Родитель 9767acba8c
Коммит f95014f74e
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
4 изменённых файлов: 34 добавлений и 11 удалений

Просмотреть файл

@ -2,6 +2,10 @@
Release History
===============
0.1.67
++++++
* `azdev extension cal-next-version`: Justify preview/exp tag operation based on last version's tag and next version's stable/preview tag.
0.1.66
++++++
* `azdev style`: Use azdev config files when .flake8 and pylintrc are not found in azure cli/ext repo.

Просмотреть файл

@ -4,4 +4,4 @@
# license information.
# -----------------------------------------------------------------------------
__VERSION__ = '0.1.66'
__VERSION__ = '0.1.67'

Просмотреть файл

@ -195,12 +195,30 @@ class VersionUpgradeMod:
except Exception as e:
raise ValueError(str(e))
def gen_preview_exp_tags(self, res_dict):
"""
if next_version is preview: due to doc generation requirement, preview tag is needed
1. preview tag need to be reserved which had previous preview tag, nothing to do
2. preview tag need to be added if previous version does not have preview tag
if next_version is stable:
remove previous existed preview tag
exp tag should be removed for stable/preview
"""
if self.has_exp_tag:
res_dict["exp_tag"] = "remove"
if self.next_version.pre:
if not self.has_preview_tag:
res_dict["preview_tag"] = "add"
else:
if self.has_preview_tag:
res_dict["preview_tag"] = "remove"
def format_outputs(self):
has_preview_tag = bool(self.next_version.pre and (self.has_preview_tag or self.has_exp_tag))
result = {
"version": str(self.next_version),
"is_stable": self.next_version.pre is None,
"has_preview_tag": has_preview_tag,
"has_exp_tag": False
"is_stable": self.next_version.pre is None
}
self.gen_preview_exp_tags(result)
return result

Просмотреть файл

@ -20,7 +20,7 @@ class MyTestCase(unittest.TestCase):
current_version="3.11.0")
self.assertEqual("4.0.0", version_test.get("version"), "Version cal error")
self.assertEqual(True, version_test.get("is_stable"), "Version tag error")
self.assertEqual(False, version_test.get("has_preview_tag"), "Version tag error")
self.assertEqual(False, version_test.get("preview_tag", False), "Version tag error")
def test_version_upgrade_major_was_preview(self):
# preview version update major and add preview suffix
@ -29,7 +29,7 @@ class MyTestCase(unittest.TestCase):
current_version="3.11.0", is_preview=True)
self.assertEqual("4.0.0b1", version_test.get("version"), "Version cal error")
self.assertEqual(False, version_test.get("is_stable"), "Version tag error")
self.assertEqual(True, version_test.get("has_preview_tag"), "Version tag error")
self.assertEqual(False, version_test.get("preview_tag", False), "Version tag error")
def test_version_upgrade_major_was_exp(self):
# preview version update major and add preview suffix
@ -38,7 +38,8 @@ class MyTestCase(unittest.TestCase):
current_version="3.11.0", is_experimental=True)
self.assertEqual("4.0.0b1", version_test.get("version"), "Version cal error")
self.assertEqual(False, version_test.get("is_stable"), "Version tag error")
self.assertEqual(True, version_test.get("has_preview_tag"), "Version tag error")
self.assertEqual("add", version_test.get("preview_tag", False), "Version preview tag error")
self.assertEqual("remove", version_test.get("exp_tag", False), "Version exp tag error")
def test_version_upgrade_major_to_preview(self):
# preview version update major and add preview suffix
@ -47,7 +48,7 @@ class MyTestCase(unittest.TestCase):
current_version="3.11.0", next_version_pre_tag="preview")
self.assertEqual("4.0.0b1", version_test.get("version"), "Version cal error")
self.assertEqual(False, version_test.get("is_stable"), "Version tag error")
self.assertEqual(False, version_test.get("has_preview_tag"), "Version tag error")
self.assertEqual("add", version_test.get("preview_tag", False), "Version tag error")
def test_version_upgrade_to_normal_version(self):
# preview version update major and add preview suffix
@ -56,7 +57,7 @@ class MyTestCase(unittest.TestCase):
current_version="0.11.0", is_preview=True)
self.assertEqual("1.0.0b1", version_test.get("version"), "Version cal error")
self.assertEqual(False, version_test.get("is_stable"), "Version tag error")
self.assertEqual(True, version_test.get("has_preview_tag"), "Version tag error")
self.assertEqual(False, version_test.get("preview_tag", False), "Version tag error")
def test_version_upgrade_minor_tagged(self):
# stable version update minor as user tagged
@ -89,4 +90,4 @@ class MyTestCase(unittest.TestCase):
current_version="1.0.0b3")
self.assertEqual("1.0.0b4", version_test.get("version"), "Version cal error")
self.assertEqual(False, version_test.get("is_stable"), "Version tag error")
self.assertEqual(False, version_test.get("has_preview_tag"), "Version tag error")
self.assertEqual("add", version_test.get("preview_tag", False), "Version tag error")