From 36368cc056bb517c3ce9b95c80b23fec29a16725 Mon Sep 17 00:00:00 2001 From: Alex Gaynor Date: Sun, 28 Jan 2024 14:29:34 -0500 Subject: [PATCH] Include cryptography_vectors in our test deps (#10277) fixes #10242 --- pyproject.toml | 1 + release.py | 32 +++++++++++++++++++++++--------- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index e127e7fa6..84ffe04f9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -70,6 +70,7 @@ ssh = ["bcrypt >=3.1.5"] # All the following are used for our own testing. nox = ["nox"] test = [ + "cryptography_vectors", "pytest >=6.2.0", "pytest-benchmark", "pytest-cov", diff --git a/release.py b/release.py index 78b894fe1..120a6c445 100644 --- a/release.py +++ b/release.py @@ -38,23 +38,24 @@ def release() -> None: run("git", "push", "--tags", "git@github.com:pyca/cryptography.git") -def replace_version( - p: pathlib.Path, variable_name: str, new_version: str -) -> None: +def replace_pattern(p: pathlib.Path, pattern: str, replacement: str) -> None: content = p.read_text() - - pattern = rf"^{variable_name}\s*=\s*.*$" match = re.search(pattern, content, re.MULTILINE) assert match is not None start, end = match.span() - new_content = ( - content[:start] + f'{variable_name} = "{new_version}"' + content[end:] - ) - + new_content = content[:start] + replacement + content[end:] p.write_text(new_content) +def replace_version( + p: pathlib.Path, variable_name: str, new_version: str +) -> None: + replace_pattern( + p, rf"^{variable_name}\s*=\s*.*$", f'{variable_name} = "{new_version}"' + ) + + @cli.command() @click.argument("new_version") def bump_version(new_version: str) -> None: @@ -75,6 +76,19 @@ def bump_version(new_version: str) -> None: new_version, ) + if Version(new_version).is_prerelease: + replace_pattern( + base_dir / "pyproject.toml", + r'"cryptography_vectors(==.*?)?"', + '"cryptography_vectors"', + ) + else: + replace_pattern( + base_dir / "pyproject.toml", + r'"cryptography_vectors(==.*?)?"', + f'"cryptography_vectors=={new_version}"', + ) + if __name__ == "__main__": cli()