Skip to content

Commit f95014f

Browse files
authored
add exp/preview tag operation based on last and next version's tag (#445)
1 parent 9767acb commit f95014f

4 files changed

Lines changed: 34 additions & 11 deletions

File tree

HISTORY.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
33
Release History
44
===============
5+
0.1.67
6+
++++++
7+
* `azdev extension cal-next-version`: Justify preview/exp tag operation based on last version's tag and next version's stable/preview tag.
8+
59
0.1.66
610
++++++
711
* `azdev style`: Use azdev config files when .flake8 and pylintrc are not found in azure cli/ext repo.

azdev/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
# license information.
55
# -----------------------------------------------------------------------------
66

7-
__VERSION__ = '0.1.66'
7+
__VERSION__ = '0.1.67'

azdev/operations/extensions/version_upgrade.py

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -195,12 +195,30 @@ def parse_last_stable_major(self):
195195
except Exception as e:
196196
raise ValueError(str(e))
197197

198+
def gen_preview_exp_tags(self, res_dict):
199+
"""
200+
if next_version is preview: due to doc generation requirement, preview tag is needed
201+
1. preview tag need to be reserved which had previous preview tag, nothing to do
202+
2. preview tag need to be added if previous version does not have preview tag
203+
204+
if next_version is stable:
205+
remove previous existed preview tag
206+
207+
exp tag should be removed for stable/preview
208+
"""
209+
if self.has_exp_tag:
210+
res_dict["exp_tag"] = "remove"
211+
if self.next_version.pre:
212+
if not self.has_preview_tag:
213+
res_dict["preview_tag"] = "add"
214+
else:
215+
if self.has_preview_tag:
216+
res_dict["preview_tag"] = "remove"
217+
198218
def format_outputs(self):
199-
has_preview_tag = bool(self.next_version.pre and (self.has_preview_tag or self.has_exp_tag))
200219
result = {
201220
"version": str(self.next_version),
202-
"is_stable": self.next_version.pre is None,
203-
"has_preview_tag": has_preview_tag,
204-
"has_exp_tag": False
221+
"is_stable": self.next_version.pre is None
205222
}
223+
self.gen_preview_exp_tags(result)
206224
return result

azdev/operations/tests/test_extension_versioning.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ def test_version_upgrade_major(self):
2020
current_version="3.11.0")
2121
self.assertEqual("4.0.0", version_test.get("version"), "Version cal error")
2222
self.assertEqual(True, version_test.get("is_stable"), "Version tag error")
23-
self.assertEqual(False, version_test.get("has_preview_tag"), "Version tag error")
23+
self.assertEqual(False, version_test.get("preview_tag", False), "Version tag error")
2424

2525
def test_version_upgrade_major_was_preview(self):
2626
# preview version update major and add preview suffix
@@ -29,7 +29,7 @@ def test_version_upgrade_major_was_preview(self):
2929
current_version="3.11.0", is_preview=True)
3030
self.assertEqual("4.0.0b1", version_test.get("version"), "Version cal error")
3131
self.assertEqual(False, version_test.get("is_stable"), "Version tag error")
32-
self.assertEqual(True, version_test.get("has_preview_tag"), "Version tag error")
32+
self.assertEqual(False, version_test.get("preview_tag", False), "Version tag error")
3333

3434
def test_version_upgrade_major_was_exp(self):
3535
# preview version update major and add preview suffix
@@ -38,7 +38,8 @@ def test_version_upgrade_major_was_exp(self):
3838
current_version="3.11.0", is_experimental=True)
3939
self.assertEqual("4.0.0b1", version_test.get("version"), "Version cal error")
4040
self.assertEqual(False, version_test.get("is_stable"), "Version tag error")
41-
self.assertEqual(True, version_test.get("has_preview_tag"), "Version tag error")
41+
self.assertEqual("add", version_test.get("preview_tag", False), "Version preview tag error")
42+
self.assertEqual("remove", version_test.get("exp_tag", False), "Version exp tag error")
4243

4344
def test_version_upgrade_major_to_preview(self):
4445
# preview version update major and add preview suffix
@@ -47,7 +48,7 @@ def test_version_upgrade_major_to_preview(self):
4748
current_version="3.11.0", next_version_pre_tag="preview")
4849
self.assertEqual("4.0.0b1", version_test.get("version"), "Version cal error")
4950
self.assertEqual(False, version_test.get("is_stable"), "Version tag error")
50-
self.assertEqual(False, version_test.get("has_preview_tag"), "Version tag error")
51+
self.assertEqual("add", version_test.get("preview_tag", False), "Version tag error")
5152

5253
def test_version_upgrade_to_normal_version(self):
5354
# preview version update major and add preview suffix
@@ -56,7 +57,7 @@ def test_version_upgrade_to_normal_version(self):
5657
current_version="0.11.0", is_preview=True)
5758
self.assertEqual("1.0.0b1", version_test.get("version"), "Version cal error")
5859
self.assertEqual(False, version_test.get("is_stable"), "Version tag error")
59-
self.assertEqual(True, version_test.get("has_preview_tag"), "Version tag error")
60+
self.assertEqual(False, version_test.get("preview_tag", False), "Version tag error")
6061

6162
def test_version_upgrade_minor_tagged(self):
6263
# stable version update minor as user tagged
@@ -89,4 +90,4 @@ def test_version_upgrade_preview_break(self):
8990
current_version="1.0.0b3")
9091
self.assertEqual("1.0.0b4", version_test.get("version"), "Version cal error")
9192
self.assertEqual(False, version_test.get("is_stable"), "Version tag error")
92-
self.assertEqual(False, version_test.get("has_preview_tag"), "Version tag error")
93+
self.assertEqual("add", version_test.get("preview_tag", False), "Version tag error")

0 commit comments

Comments
 (0)