Do not import salt in tools and add --next-release to version

This commit is contained in:
Megan Wilhite 2023-04-05 12:23:37 -06:00 committed by Gareth J. Greenaway
parent cbb8d86499
commit abe4326f18
4 changed files with 22 additions and 14 deletions

1
changelog/64023.added.md Normal file
View file

@ -0,0 +1 @@
Add --next-release argument to salt/version.py, which prints the next upcoming release.

View file

@ -3,7 +3,7 @@
{{ warning }} {{ warning }}
<!-- <!--
Add relase specific details below Add release specific details below
--> -->

View file

@ -1,6 +1,7 @@
""" """
Set up the version of Salt Set up the version of Salt
""" """
import argparse
import operator import operator
import os import os
import platform import platform
@ -921,5 +922,17 @@ def versions_report(include_salt_cloud=False, include_extensions=True):
yield from info yield from info
def _parser():
parser = argparse.ArgumentParser()
parser.add_argument(
"--next-release", help="Return the next release", action="store_true"
)
return parser.parse_args()
if __name__ == "__main__": if __name__ == "__main__":
args = _parser()
if args.next_release:
print(__saltstack_version__.next_release())
else:
print(__version__) print(__version__)

View file

@ -15,7 +15,6 @@ import textwrap
from jinja2 import Environment, FileSystemLoader from jinja2 import Environment, FileSystemLoader
from ptscripts import Context, command_group from ptscripts import Context, command_group
import salt.version
from tools.utils import REPO_ROOT, Version from tools.utils import REPO_ROOT, Version
CHANGELOG_LIKE_RE = re.compile(r"([\d]+)\.([a-z]+)$") CHANGELOG_LIKE_RE = re.compile(r"([\d]+)\.([a-z]+)$")
@ -176,8 +175,11 @@ def _get_pkg_changelog_contents(ctx: Context, version: Version):
return changes return changes
def _get_salt_version(ctx): def _get_salt_version(ctx, next_release=False):
ret = ctx.run("python3", "salt/version.py", capture=True, check=False) args = []
if next_release:
args.append("--next-release")
ret = ctx.run("python3", "salt/version.py", *args, capture=True, check=False)
if ret.returncode: if ret.returncode:
ctx.error(ret.stderr.decode()) ctx.error(ret.stderr.decode())
ctx.exit(1) ctx.exit(1)
@ -314,7 +316,7 @@ def update_release_notes(
next_release: bool = False, next_release: bool = False,
): ):
if salt_version is None: if salt_version is None:
salt_version = _get_salt_version(ctx) salt_version = _get_salt_version(ctx, next_release=next_release)
changes = _get_changelog_contents(ctx, salt_version) changes = _get_changelog_contents(ctx, salt_version)
changes = "\n".join(changes.split("\n")[2:]) changes = "\n".join(changes.split("\n")[2:])
if salt_version.local: if salt_version.local:
@ -330,14 +332,6 @@ def update_release_notes(
release_notes_path = pathlib.Path("doc/topics/releases") / "{}.md".format( release_notes_path = pathlib.Path("doc/topics/releases") / "{}.md".format(
version version
) )
if next_release and not release:
version = ".".join(
str(part)
for part in salt.version.SaltStackVersion(*version).next_release().info
)
release_notes_path = pathlib.Path("doc/topics/releases") / "{}.md".format(
version
)
template_release_path = ( template_release_path = (
release_notes_path.parent / "templates" / f"{version}.md.template" release_notes_path.parent / "templates" / f"{version}.md.template"