Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 4 additions & 9 deletions src/semantic_release/cli/commands/version.py
Original file line number Diff line number Diff line change
Expand Up @@ -591,19 +591,14 @@ def version( # noqa: C901
# If the new version has already been released, we fail and abort if strict;
# otherwise we exit with 0.
if new_version in previously_released_versions:
err_msg = str.join(
" ",
[
"[bold orange1]No release will be made,",
f"{new_version!s} has already been released!",
],
)
err_msg = f"No release will be made, {new_version!s} has already been released!"
orange1_code = 214 # https://rich.readthedocs.io/en/stable/appendix/colors.html

if opts.strict:
click.echo(err_msg, err=True)
click.secho(err_msg, err=True, fg=orange1_code, bold=True)
ctx.exit(2)

rprint(err_msg)
click.secho(err_msg, err=True, fg=orange1_code, bold=True)
return

if print_only or print_only_tag:
Expand Down
2 changes: 1 addition & 1 deletion src/semantic_release/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ def text_reducer(text: str, filter_pair: tuple[Pattern[str], str]) -> str:


def validate_types_in_sequence(
sequence: Sequence, types: type | tuple[type, ...]
sequence: Sequence[Any], types: type | tuple[type, ...]
) -> bool:
"""Validate that all elements in a sequence are of a specific type"""
return all(isinstance(item, types) for item in sequence)
Expand Down
4 changes: 2 additions & 2 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@
import sys
from datetime import datetime, timedelta, timezone
from hashlib import md5
from importlib.metadata import version as get_package_version
from pathlib import Path
from tempfile import NamedTemporaryFile
from typing import TYPE_CHECKING, cast
from unittest import mock

import pytest
from click import __version__ as click_version
from click.testing import CliRunner
from filelock import FileLock
from git import Commit, Repo
Expand Down Expand Up @@ -197,7 +197,7 @@ def pytest_collection_modifyitems(config: pytest.Config, items: list[pytest.Item
def get_cli_runner() -> CliRunner:
return (
CliRunner()
if tuple(map(int, click_version.split("."))) >= (8, 2, 0)
if tuple(map(int, get_package_version("click").split("."))) >= (8, 2, 0)
else CliRunner(mix_stderr=False) # type: ignore[call-arg]
)

Expand Down
4 changes: 3 additions & 1 deletion tests/e2e/cmd_version/test_version_strict.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,9 @@ def test_version_already_released_when_strict(
latest_release_version = get_versions_from_repo_build_def(
repo_result["definition"]
)[-1]
expected_error_msg = f"[bold orange1]No release will be made, {latest_release_version} has already been released!"
expected_error_msg = (
f"No release will be made, {latest_release_version} has already been released!"
)

# Setup: take measurement before running the version command
repo_status_before = repo.git.status(short=True)
Expand Down
4 changes: 2 additions & 2 deletions tests/e2e/test_main.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@

import json
import subprocess
from importlib.metadata import version as get_package_version
from pathlib import Path
from shutil import rmtree
from textwrap import dedent
from typing import TYPE_CHECKING

import git
import pytest
from click import __version__ as click_version
from click.testing import CliRunner
from pytest_lazy_fixtures.lazy_fixture import lf as lazy_fixture

Expand Down Expand Up @@ -67,7 +67,7 @@ def test_main_no_args_passes_w_help_text():
cli_cmd = [MAIN_PROG_NAME]
result = CliRunner().invoke(main, prog_name=cli_cmd[0])

if tuple(map(int, click_version.split("."))) >= (8, 2, 0):
if tuple(map(int, get_package_version("click").split("."))) >= (8, 2, 0):
assert_exit_code(2, result, cli_cmd)
else:
assert_successful_exit_code(result, cli_cmd)
Expand Down
Loading