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
3 changes: 3 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ updates:
time: "06:15"
timezone: Asia/Tehran
open-pull-requests-limit: 5
ignore:
# Keep this revision aligned with UV_VERSION in the CI workflow.
- dependency-name: https://github.com/astral-sh/uv-pre-commit
groups:
pre-commit-hooks:
patterns:
Expand Down
5 changes: 5 additions & 0 deletions docs/development-tooling.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,5 +36,10 @@ CI and validates merge-request metadata for collaborative projects. GitLab
security and dependency-update capabilities vary by deployment and must be
enabled deliberately according to `.gitlab/REPOSITORY_SETTINGS.md`.

The `uv-pre-commit` revision is intentionally excluded from automated
pre-commit updates. Upgrade it manually in the same change as `UV_VERSION` in
`.github/workflows/ci.yml`; the publication tests require those two versions
to remain identical.

The neutral profile contains no hosted automation. This is intentional and
does not weaken the local quality gate.
11 changes: 11 additions & 0 deletions tests/test_repository_publication.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
r"repo: https://github\.com/astral-sh/uv-pre-commit\s+"
r"rev: (?P<version>\S+)",
)
UV_PRE_COMMIT_DEPENDENCY = "https://github.com/astral-sh/uv-pre-commit"


def load_ruleset() -> dict[str, Any]:
Expand Down Expand Up @@ -52,6 +53,16 @@ def test_uv_runtime_and_lock_hook_versions_match() -> None:
)


def test_dependabot_does_not_split_the_coupled_uv_update() -> None:
"""Keep CI and hook uv upgrades in one manually reviewed change."""

dependabot = (PROJECT_ROOT / ".github/dependabot.yml").read_text(
encoding="utf-8"
)
assert "ignore:" in dependabot
assert f"dependency-name: {UV_PRE_COMMIT_DEPENDENCY}" in dependabot


def test_packaging_metadata_uses_canonical_repository_urls() -> None:
"""Keep public package links aligned with this repository."""

Expand Down