From 83017d083649b09cfbbc00abbea0e2f7dee6081f Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 8 Jul 2022 05:44:03 -0500 Subject: [PATCH 1/9] Use dev version --- pyproject.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index da8af6ff..5050a66f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -80,6 +80,9 @@ src = "docs/source/conf.py" [tool.jupyter-releaser] skip = ["check-links"] +[tool.jupyter-releaser.options] +post-version-spec = "dev" + [tool.jupyter-releaser.hooks] after-draft-release = "bash ./.github/scripts/bump_tag.sh" From 706afe4466374ddc37e2db0d75b0c3f1e8d14756 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 8 Jul 2022 05:45:43 -0500 Subject: [PATCH 2/9] Bump to 0.23.0.dev0 --- docs/source/conf.py | 2 +- jupyter_releaser/__init__.py | 2 +- pyproject.toml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index edc82061..c4f5eaf9 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -23,7 +23,7 @@ author = "Project Jupyter" # The full version, including alpha/beta/rc tags. -release = "0.22.3" +release = "0.23.0.dev0" # The short X.Y version. version = ".".join(release.split(".")[:2]) diff --git a/jupyter_releaser/__init__.py b/jupyter_releaser/__init__.py index 5fcbb029..139868eb 100644 --- a/jupyter_releaser/__init__.py +++ b/jupyter_releaser/__init__.py @@ -1,3 +1,3 @@ # Copyright (c) Jupyter Development Team. # Distributed under the terms of the Modified BSD License. -__version__ = "0.22.3" +__version__ = "0.23.0.dev0" diff --git a/pyproject.toml b/pyproject.toml index 5050a66f..4784e4b8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "jupyter_releaser" -version = "0.22.3" +version = "0.23.0.dev0" description = "Jupyter Releaser for Python and/or npm packages." license = {file = "LICENSE"} authors = [{name = "Jupyter Development Team", email = "jupyter@googlegroups.com"}] @@ -58,7 +58,7 @@ test = [ jupyter-releaser = "jupyter_releaser.cli:main" [tool.tbump.version] -current = "0.22.3" +current = "0.23.0.dev0" regex = ''' (?P\d+)\.(?P\d+)\.(?P\d+) ((?Pa|b|rc|.dev)(?P\d+))? From 773130490b09fd9dad66061be96c770a6d1a8cdc Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 8 Jul 2022 09:30:37 -0500 Subject: [PATCH 3/9] fix handling of --use-changelog-version --- .github/actions/draft-release/action.yml | 1 + jupyter_releaser/actions/draft_release.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/actions/draft-release/action.yml b/.github/actions/draft-release/action.yml index 2b1a9af7..de44949e 100644 --- a/.github/actions/draft-release/action.yml +++ b/.github/actions/draft-release/action.yml @@ -58,6 +58,7 @@ runs: export RH_SINCE=${{ inputs.since }} export RH_SINCE_LAST_STABLE=${{ inputs.since_last_stable }} export RH_STEPS_TO_SKIP=${{ inputs.steps_to_skip }} + export RH_USE_CHANGELOG_VERSION=1 # Draft Release python -m jupyter_releaser.actions.draft_release diff --git a/jupyter_releaser/actions/draft_release.py b/jupyter_releaser/actions/draft_release.py index 401b001e..5cfd58e6 100644 --- a/jupyter_releaser/actions/draft_release.py +++ b/jupyter_releaser/actions/draft_release.py @@ -53,7 +53,7 @@ os.chdir(curr_dir) -run_action("jupyter-releaser bump-version --use-changelog-version") +run_action("jupyter-releaser bump-version") with make_group("Handle Check Release"): if check_release: From 6a46d75ecf891d966b3e04602040f8cdafc0f39e Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 8 Jul 2022 09:42:51 -0500 Subject: [PATCH 4/9] echo command by default --- jupyter_releaser/util.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jupyter_releaser/util.py b/jupyter_releaser/util.py index 3576b392..01ef8b44 100644 --- a/jupyter_releaser/util.py +++ b/jupyter_releaser/util.py @@ -59,7 +59,7 @@ def run(cmd, **kwargs): quiet_error = kwargs.pop("quiet_error", False) show_cwd = kwargs.pop("show_cwd", False) quiet = kwargs.pop("quiet", False) - echo = kwargs.pop("echo", False) + echo = kwargs.pop("echo", True) if echo: prefix = "COMMAND" From 505c2efa85be55850ef6d61b0fb796e9add14802 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 8 Jul 2022 09:57:33 -0500 Subject: [PATCH 5/9] do not create tag on post version bump --- jupyter_releaser/cli.py | 17 ++++++++++++++--- jupyter_releaser/lib.py | 6 +++++- jupyter_releaser/tests/test_cli.py | 1 + 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/jupyter_releaser/cli.py b/jupyter_releaser/cli.py index bca3645a..55a887ae 100644 --- a/jupyter_releaser/cli.py +++ b/jupyter_releaser/cli.py @@ -141,7 +141,12 @@ def main(force): ] version_cmd_options = [ - click.option("--version-cmd", envvar="RH_VERSION_COMMAND", help="The version command") + click.option("--version-cmd", envvar="RH_VERSION_COMMAND", help="The version command"), + click.option( + "--version-create-tag", + envvar="RH_VERSION_CREATE_TAG", + help="Whether to create a tag when bumping the version", + ), ] @@ -312,13 +317,19 @@ def prep_git(ref, branch, repo, auth, username, git_url): @add_options(use_changelog_version_options) @add_options(python_packages_options) @use_checkout_dir() -def bump_version(version_spec, version_cmd, changelog_path, use_changelog_version, python_packages): +def bump_version( + version_spec, version_cmd, create_tag, changelog_path, use_changelog_version, python_packages +): """Prep git and env variables and bump version""" prev_dir = os.getcwd() for python_package in [p.split(":")[0] for p in python_packages]: os.chdir(python_package) lib.bump_version( - version_spec, version_cmd, changelog_path, use_changelog_version=use_changelog_version + version_spec, + version_cmd, + changelog_path, + use_changelog_version=use_changelog_version, + create_tag=create_tag, ) os.chdir(prev_dir) diff --git a/jupyter_releaser/lib.py b/jupyter_releaser/lib.py index 4afae8c1..2dc68472 100644 --- a/jupyter_releaser/lib.py +++ b/jupyter_releaser/lib.py @@ -21,7 +21,7 @@ from jupyter_releaser import changelog, npm, python, util -def bump_version(version_spec, version_cmd, changelog_path, use_changelog_version): +def bump_version(version_spec, version_cmd, changelog_path, use_changelog_version, create_tag): """Bump the version and verify new version""" util.bump_version( version_spec, @@ -38,6 +38,9 @@ def bump_version(version_spec, version_cmd, changelog_path, use_changelog_versio if util.SETUP_PY.exists() and not hasattr(parsed, "major"): raise ValueError(f"Invalid version {version}") + if not create_tag: + return version + # Bail if tag already exists tag_name = f"v{version}" if tag_name in util.run("git --no-pager tag", quiet=True).splitlines(): @@ -259,6 +262,7 @@ def draft_release( version_cmd=version_cmd, changelog_path=changelog_path, use_changelog_version=False, + create_tag=False, ) util.log(post_version_message.format(post_version=post_version)) util.run(f'git commit -a -m "Bump to {post_version}"') diff --git a/jupyter_releaser/tests/test_cli.py b/jupyter_releaser/tests/test_cli.py index 4da9c4aa..16aa3f54 100644 --- a/jupyter_releaser/tests/test_cli.py +++ b/jupyter_releaser/tests/test_cli.py @@ -183,6 +183,7 @@ def test_list_envvars(runner): use-changelog-version: RH_USE_CHANGELOG_VERSION username: GITHUB_ACTOR version-cmd: RH_VERSION_COMMAND +version-create-tag: RH_VERSION_CREATE_TAG version-spec: RH_VERSION_SPEC """.strip() ) From c3ddd065f4b10b87ba70ca641928ed4ce810063f Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 8 Jul 2022 10:15:08 -0500 Subject: [PATCH 6/9] separate bump from tag in lib --- jupyter_releaser/cli.py | 9 ++++++++- jupyter_releaser/lib.py | 10 ++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/jupyter_releaser/cli.py b/jupyter_releaser/cli.py index 55a887ae..714300c5 100644 --- a/jupyter_releaser/cli.py +++ b/jupyter_releaser/cli.py @@ -318,7 +318,12 @@ def prep_git(ref, branch, repo, auth, username, git_url): @add_options(python_packages_options) @use_checkout_dir() def bump_version( - version_spec, version_cmd, create_tag, changelog_path, use_changelog_version, python_packages + version_spec, + version_cmd, + version_create_tag, + changelog_path, + use_changelog_version, + python_packages, ): """Prep git and env variables and bump version""" prev_dir = os.getcwd() @@ -331,6 +336,8 @@ def bump_version( use_changelog_version=use_changelog_version, create_tag=create_tag, ) + if version_create_tag: + lib.create_tag() os.chdir(prev_dir) diff --git a/jupyter_releaser/lib.py b/jupyter_releaser/lib.py index 2dc68472..c5d40ab1 100644 --- a/jupyter_releaser/lib.py +++ b/jupyter_releaser/lib.py @@ -21,7 +21,7 @@ from jupyter_releaser import changelog, npm, python, util -def bump_version(version_spec, version_cmd, changelog_path, use_changelog_version, create_tag): +def bump_version(version_spec, version_cmd, changelog_path, use_changelog_version): """Bump the version and verify new version""" util.bump_version( version_spec, @@ -30,7 +30,10 @@ def bump_version(version_spec, version_cmd, changelog_path, use_changelog_versio use_changelog_version=use_changelog_version, ) + +def create_tag(): version = util.get_version() + assert version is not None # A properly parsed version will have a "major" attribute parsed = parse_version(version) @@ -38,16 +41,12 @@ def bump_version(version_spec, version_cmd, changelog_path, use_changelog_versio if util.SETUP_PY.exists() and not hasattr(parsed, "major"): raise ValueError(f"Invalid version {version}") - if not create_tag: - return version - # Bail if tag already exists tag_name = f"v{version}" if tag_name in util.run("git --no-pager tag", quiet=True).splitlines(): msg = f"Tag {tag_name} already exists!" msg += " To delete run: `git push --delete origin {tag_name}`" raise ValueError(msg) - return version @@ -262,7 +261,6 @@ def draft_release( version_cmd=version_cmd, changelog_path=changelog_path, use_changelog_version=False, - create_tag=False, ) util.log(post_version_message.format(post_version=post_version)) util.run(f'git commit -a -m "Bump to {post_version}"') From e74ba29fd35ac78dc3124a31d1355f619af5f758 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 8 Jul 2022 10:27:07 -0500 Subject: [PATCH 7/9] fix usage --- jupyter_releaser/cli.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/jupyter_releaser/cli.py b/jupyter_releaser/cli.py index 714300c5..c3c87056 100644 --- a/jupyter_releaser/cli.py +++ b/jupyter_releaser/cli.py @@ -330,11 +330,7 @@ def bump_version( for python_package in [p.split(":")[0] for p in python_packages]: os.chdir(python_package) lib.bump_version( - version_spec, - version_cmd, - changelog_path, - use_changelog_version=use_changelog_version, - create_tag=create_tag, + version_spec, version_cmd, changelog_path, use_changelog_version=use_changelog_version ) if version_create_tag: lib.create_tag() From bfed75bb2264ff040c8bb614f241cb45352869b2 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 8 Jul 2022 10:32:25 -0500 Subject: [PATCH 8/9] more cleanup --- jupyter_releaser/cli.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/jupyter_releaser/cli.py b/jupyter_releaser/cli.py index c3c87056..f71a4084 100644 --- a/jupyter_releaser/cli.py +++ b/jupyter_releaser/cli.py @@ -142,6 +142,9 @@ def main(force): version_cmd_options = [ click.option("--version-cmd", envvar="RH_VERSION_COMMAND", help="The version command"), +] + +version_create_tag_options = [ click.option( "--version-create-tag", envvar="RH_VERSION_CREATE_TAG", @@ -313,6 +316,7 @@ def prep_git(ref, branch, repo, auth, username, git_url): @main.command() @add_options(version_spec_options) @add_options(version_cmd_options) +@add_options(version_create_tag_options) @add_options(changelog_path_options) @add_options(use_changelog_version_options) @add_options(python_packages_options) From 6cce92879c77ecb2498a218b0acef9e420805169 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 8 Jul 2022 10:48:06 -0500 Subject: [PATCH 9/9] cleanup --- .github/actions/draft-release/action.yml | 1 + jupyter_releaser/cli.py | 1 + jupyter_releaser/tests/test_cli.py | 5 ++++- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/actions/draft-release/action.yml b/.github/actions/draft-release/action.yml index de44949e..ae022416 100644 --- a/.github/actions/draft-release/action.yml +++ b/.github/actions/draft-release/action.yml @@ -59,6 +59,7 @@ runs: export RH_SINCE_LAST_STABLE=${{ inputs.since_last_stable }} export RH_STEPS_TO_SKIP=${{ inputs.steps_to_skip }} export RH_USE_CHANGELOG_VERSION=1 + export RH_VERSION_CREATE_TAG=1 # Draft Release python -m jupyter_releaser.actions.draft_release diff --git a/jupyter_releaser/cli.py b/jupyter_releaser/cli.py index f71a4084..672ee280 100644 --- a/jupyter_releaser/cli.py +++ b/jupyter_releaser/cli.py @@ -148,6 +148,7 @@ def main(force): click.option( "--version-create-tag", envvar="RH_VERSION_CREATE_TAG", + is_flag=True, help="Whether to create a tag when bumping the version", ), ] diff --git a/jupyter_releaser/tests/test_cli.py b/jupyter_releaser/tests/test_cli.py index 16aa3f54..110452df 100644 --- a/jupyter_releaser/tests/test_cli.py +++ b/jupyter_releaser/tests/test_cli.py @@ -144,7 +144,10 @@ def test_bump_version_tag_exists(py_package, runner): runner(["prep-git", "--git-url", py_package]) run("git tag v1.0.1", cwd=util.CHECKOUT_NAME) with pytest.raises(ValueError): - runner(["bump-version", "--version-spec", "1.0.1"], env=dict(GITHUB_ACTIONS="")) + runner( + ["bump-version", "--version-spec", "1.0.1", "--version-create-tag"], + env=dict(GITHUB_ACTIONS=""), + ) def test_list_envvars(runner):