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
6 changes: 3 additions & 3 deletions .ci/run_container.sh
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,8 @@ else
fi
export PULP_CONTENT_ORIGIN

PULP_DJANGO_SECRET="$(python3 -c "import secrets; print(secrets.token_urlsafe(50))")"
export PULP_DJANGO_SECRET
PULP_SECRET_KEY="$(python3 -c "import secrets; print(secrets.token_urlsafe(50))")"
export PULP_SECRET_KEY

"${CONTAINER_RUNTIME}" \
run ${RM:+--rm} \
Expand All @@ -82,7 +82,7 @@ export PULP_DJANGO_SECRET
${PULP_DOMAIN_ENABLED:+--env PULP_DOMAIN_ENABLED} \
${PULP_ENABLED_PLUGINS:+--env PULP_ENABLED_PLUGINS} \
--env PULP_CONTENT_ORIGIN \
--env PULP_DJANGO_SECRET \
--env PULP_SECRET_KEY \
--detach \
--name "pulp-ephemeral" \
--volume "${PULP_CLI_TEST_TMPDIR}/settings:/etc/pulp${SELINUX:+:Z}" \
Expand Down
4 changes: 2 additions & 2 deletions .ci/scripts/check_click_for_mypy.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# "packaging>=25.0,<25.1",
# ]
# ///

import sys
from importlib import metadata

from packaging.version import Version
Expand All @@ -15,4 +15,4 @@
if click_version < Version("8.1.1"):
print("🚧 Linting with mypy is currently only supported with click>=8.1.1. 🚧")
print("🔧 Please run `pip install click>=8.1.1` first. 🔨")
exit(1)
sys.exit(1)
12 changes: 7 additions & 5 deletions .ci/scripts/collect_changes.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,12 @@

import itertools
import re
import typing as t
from pathlib import Path

import tomllib
from git import GitCommandError, Repo
from packaging.version import Version
from packaging.version import parse as parse_version

# Read Towncrier settings
Expand Down Expand Up @@ -51,29 +53,29 @@
)


def get_changelog(repo, branch):
def get_changelog(repo: Repo, branch: str) -> str:
branch_tc_settings = tomllib.loads(repo.git.show(f"{branch}:pyproject.toml"))["tool"][
"towncrier"
]
branch_changelog_file = branch_tc_settings.get("filename", "NEWS.rst")
return repo.git.show(f"{branch}:{branch_changelog_file}") + "\n"


def _tokenize_changes(splits):
def _tokenize_changes(splits: list[str]) -> t.Iterator[list[Version | str]]:
assert len(splits) % 3 == 0
for i in range(len(splits) // 3):
title = splits[3 * i]
version = parse_version(splits[3 * i + 1])
yield [version, title + splits[3 * i + 2]]


def split_changelog(changelog):
def split_changelog(changelog: str) -> tuple[str, list[list[Version | str]]]:
preamble, rest = changelog.split(START_STRING, maxsplit=1)
split_rest = re.split(TITLE_REGEX, rest)
return preamble + START_STRING + split_rest[0], list(_tokenize_changes(split_rest[1:]))


def main():
def main() -> None:
repo = Repo(Path.cwd())
remote = repo.remotes[0]
branches = [ref for ref in remote.refs if re.match(r"^([0-9]+)\.([0-9]+)$", ref.remote_head)]
Expand All @@ -91,7 +93,7 @@ def main():
except GitCommandError:
print("No changelog found on this branch.")
continue
dummy, changes = split_changelog(changelog)
_dummy, changes = split_changelog(changelog)
new_changes = sorted(main_changes + changes, key=lambda x: x[0], reverse=True)
# Now remove duplicates (retain the first one)
main_changes = [new_changes[0]]
Expand Down
6 changes: 5 additions & 1 deletion pulp-glue-workflow/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,11 @@ line-length = 100
[tool.ruff.lint]
# This section is managed by the cookiecutter templates.
select = ["E4", "E7", "E9", "F"]
extend-select = ["I", "INT", "PTH"]
extend-select = ["FURB", "I", "INT", "PTH", "SIM1", "TID", "T10", "UP"]

[tool.ruff.lint.flake8-tidy-imports.banned-api]
# This section is managed by the cookiecutter templates.
"distutils".msg = "The 'distutils' module has been deprecated since Python 3.9."


[tool.mypy]
Expand Down
9 changes: 7 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -188,13 +188,18 @@ line-length = 100
[tool.ruff.lint]
# This section is managed by the cookiecutter templates.
select = ["E4", "E7", "E9", "F"]
extend-select = ["I", "INT", "PTH"]
extend-select = ["FURB", "I", "INT", "PTH", "SIM1", "TID", "T10", "UP"]

[tool.ruff.lint.isort]
# This section is managed by the cookiecutter templates.
sections = { second-party = ["pulp_glue"] }
section-order = ["future", "standard-library", "third-party", "second-party", "first-party", "local-folder"]

[tool.ruff.lint.flake8-tidy-imports.banned-api]
# This section is managed by the cookiecutter templates.
"distutils".msg = "The 'distutils' module has been deprecated since Python 3.9."
"pulpcore.cli.common.generic".msg = "This module moved to 'pulp_cli.generic'."


[tool.mypy]
# This section is managed by the cookiecutter templates.
Expand Down Expand Up @@ -225,7 +230,7 @@ dev = [
lint = [
{include-group = "test"},
"mypy~=1.20.0",
"ruff~=0.15.1",
"ruff~=0.16.0",
"shellcheck-py~=0.11.0.1",
"types-pygments",
"types-pyyaml",
Expand Down
Loading