Skip to content

Dist tags cherry pick - #426

Merged
dkliban merged 2 commits into
pulp:0.10from
dkliban:dist-tags-cherry-pick
Aug 24, 2026
Merged

Dist tags cherry pick#426
dkliban merged 2 commits into
pulp:0.10from
dkliban:dist-tags-cherry-pick

Conversation

@dkliban

@dkliban dkliban commented Aug 24, 2026

Copy link
Copy Markdown
Member

📜 Checklist

  • Commits are cleanly separated with meaningful messages (simple features and bug fixes should be squashed to one commit)
  • A changelog entry or entries has been added for any significant changes
  • Follows the Pulp policy on AI Usage
  • (For new features) - User documentation and test coverage has been added

See: Pull Request Walkthrough

BethGriggs and others added 2 commits August 24, 2026 16:35
Previously, latest was selected using Python's built-in max() on raw
version strings, which performs lexicographic comparison (e.g.
"9.0.0" > "10.0.0") and did not exclude pre-release versions.

- Parse all version strings once via semver.Version.parse, skipping
  any malformed values, to avoid redundant parsing and ValueError on
  invalid versions in the fallback path
- Filter out pre-release versions (e.g. 1.0.0-alpha.1) when selecting
  the latest dist-tag; fall back to all valid semver versions if no
  stable versions exist
- Add semver>=3.0.0 as a declared runtime dependency in pyproject.toml
- Fix extract_package_info() regex to match full semver strings
  including pre-release and build-metadata suffixes; make base_name
  non-greedy ([^/]+?) to avoid ambiguity on hyphenated package names
  like my-pkg-1.0.0-rc.1.tgz, where a greedy match would consume into
  the version and cause extract_package_info() to return (None, None)

Assisted By: Bob
- Fix import sorting (ruff I001) and line length in models.py
- Add upper bound to semver dependency (semver>=3.0.0,<4)
- Add functional tests for semver dist-tags resolution:
  - latest uses semver ordering (10.0.0 > 9.0.0)
  - pre-release versions excluded from latest
  - fallback to pre-release when no stable versions exist

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@dkliban
dkliban merged commit b0e4b98 into pulp:0.10 Aug 24, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants