Skip to content

Commit 6981364

Browse files
committed
Add stash uv.lock and enable exclude-newer cooldown across all pyprojects
Introduce stash/uv.lock so the stash environment resolves to the same pinned set locally and in CI, and turn on uv's `exclude-newer = "7 days"` in root, pelican, and stash pyproject.tomls. Register /stash/ under the `uv` package-ecosystem in dependabot.yml so Dependabot picks up the new lockfile with the same 7-day cooldown. Pinning uv.lock and gating resolution on a release-age floor defends both local development and CI from accidentally installing freshly published malicious versions: a compromised package has to sit public for the cooldown window before uv will resolve to it, giving time for yanks and disclosures to land before it reaches a developer's machine. Bumps `required-version` to >=0.9.17 because friendly-duration values for `exclude-newer` were added in that release. Generated-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent e0f0ac7 commit 6981364

7 files changed

Lines changed: 414 additions & 54 deletions

File tree

.github/dependabot.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ updates:
5252
directories:
5353
- "/"
5454
- "/pelican/"
55+
- "/stash/"
5556
schedule:
5657
interval: "weekly"
5758
cooldown:

pelican/pyproject.toml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -86,12 +86,13 @@ Issues = "https://github.com/apache/infrastructure-actions/issues"
8686
[tool.setuptools]
8787
py-modules = ["plugin_paths"]
8888

89-
# uv settings. `required-version` enforces a minimum uv at runtime — PEP 735
90-
# dependency groups (used by [dependency-groups].dev and Hatch's env config
91-
# below) were added in uv 0.4.27, and the `required-version` setting itself
92-
# was added in uv 0.5.0, so 0.5.0 is the floor we can enforce.
89+
# uv settings. `required-version` enforces a minimum uv at runtime. The
90+
# floor is 0.9.17 because friendly-duration values for `exclude-newer`
91+
# (e.g. "7 days") were only added in that release; earlier uv versions
92+
# accept just RFC 3339 timestamps.
9393
[tool.uv]
94-
required-version = ">=0.5.0"
94+
required-version = ">=0.9.17"
95+
exclude-newer = "7 days"
9596

9697
# Hatch environment definition. Hatch reads PEP 735 [dependency-groups]
9798
# directly, so the `dev` group above is the single source of truth for

pelican/uv.lock

Lines changed: 49 additions & 45 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,5 @@ dev = [
3434
]
3535

3636
[tool.uv]
37-
exclude-newer = "4 days"
37+
required-version = ">=0.9.17"
38+
exclude-newer = "7 days"

stash/pyproject.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,8 @@ Issues = "https://github.com/apache/infrastructure-actions/issues"
6969
py-modules = []
7070

7171
[tool.uv]
72-
required-version = ">=0.5.0"
72+
required-version = ">=0.9.17"
73+
exclude-newer = "7 days"
7374

7475
[tool.hatch.envs.default]
7576
installer = "uv"

stash/uv.lock

Lines changed: 352 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

uv.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)