Skip to content

fix(ci): warn when --refresh-pins cannot move a pin (#2025) - #2026

Merged
JarryShaw merged 1 commit into
mainfrom
fix/2025-refresh-pins-warns
Oct 22, 2026
Merged

JarryShaw merged 1 commit into
mainfrom
fix/2025-refresh-pins-warns

Conversation

@JarryShaw

Copy link
Copy Markdown
Owner

What is the purpose of your pull request?

  • fix — corrects a defect

Description of your pull request and other information

Closes #2025. When no release had a wheel for every conda Python, refresh() matched none of its note branches, so --refresh-pins kept the pin and printed nothing.

  • refresh() now emits a ::warning for such a pin. The step still passes, which is the convention stated in cron-conda.yml's comment.
  • The new stuck() helper names the missing tags, e.g. no release up to 52.0.0 has a wheel for cp38 on osx-64, or says that no single release serves them all.
  • _releases() and lacking() are factored out of newest_wheel, so both use one filter.

Three new tests in test_conda_platform_pin_refresh_1851 fail without the fix (3 failed, 42 passed) and pass with it (45 passed). Every test file that reads cron-conda.yml passes: 536 passed.

Left out: a pin whose own release lost a wheel, when an older release still qualifies, still stays silent.

@JarryShaw JarryShaw added bug Issues reporting a defect (set by the bug report template; a default, not an assessment) ci Pull requests that change CI or workflow configuration (ci: subject prefix) review: running A cross-review is in flight against the current head - no verdict yet labels Oct 22, 2026
@JarryShaw JarryShaw moved this to In review in PyPCAPKit Oct 22, 2026
@JarryShaw
JarryShaw force-pushed the fix/2025-refresh-pins-warns branch from 3c20dec to b12821c Compare October 22, 2026 02:22
@JarryShaw

Copy link
Copy Markdown
Owner Author

GOOD TO GO at b12821ccb (Sonnet cross-review of 3c20dec68, every claim re-derived). The only change since then removes one blank line the review flagged as a new E303. The pinned-release-lost-a-wheel case is now #2028.

@JarryShaw JarryShaw added review: good-to-go Cross-review at the current head says ready; CI state is separate and removed review: running A cross-review is in flight against the current head - no verdict yet labels Oct 22, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

resolve conflicts

- refresh: a pin for which newest_wheel finds no release with a wheel
  for every conda Python now gets a ::warning, not silence; the step
  still passes, as cron-conda's non-blocking rule has it
- stuck: names the Python tags no release up to the installed version
  has a wheel for, or says no single release serves them all
- _releases / lacking: factored out of newest_wheel so both share the
  release filter and the per-Python wheel check
- cron-conda.yml: the Refresh the platform pins comment names the new
  warning
- tests: BumpTests and RefreshCommandTests cover both warnings and the
  exit status

Tests: test_conda_platform_pin_refresh_1851 and the other conda_vendor
test files pass; the new tests fail without the fix.
@JarryShaw
JarryShaw force-pushed the fix/2025-refresh-pins-warns branch from b12821c to 91f2b6e Compare October 22, 2026 02:45
@JarryShaw

Copy link
Copy Markdown
Owner Author

Rebased onto main 8d9b69ec5 (#2023's squash) as 91f2b6e6e. The only conflict was the comment above Refresh the platform pins in cron-conda.yml, which #2023 had trimmed. I kept #2023's wording and added the stuck-pin case to it. The code and tests are unchanged, and the tests that read cron-conda.yml pass (536 passed).

@JarryShaw

Copy link
Copy Markdown
Owner Author

Ordering check on 91f2b6e6e: python util/run_unittest_leg.py project on this tree gave Ran 1688 tests in 537s, OK (skipped=71), exit 0. KTLO failing test ids: 0 across every KTLO leg.

@github-actions

Copy link
Copy Markdown
Contributor

Coverage: 91.54% (unit tier, Python 3.15, 91f2b6e6e, Unit Tests run success)

Package Statements Missed Branches Partial Cover
pcapkit (top level) 104 4 20 2 95.16%
pcapkit/const 19597 881 2618 867 92.11%
pcapkit/corekit 2567 71 816 37 96.57%
pcapkit/dumpkit 282 3 102 3 98.44%
pcapkit/foundation 2930 23 1022 25 98.79%
pcapkit/interface 138 4 52 3 96.32%
pcapkit/protocols 17436 219 4582 185 98.15%
pcapkit/toolkit 872 36 298 10 95.21%
pcapkit/utilities 529 7 160 5 98.26%
pcapkit/vendor 4431 1995 1018 167 51.73%

Per-file detail: the coverage-html artifact of this run.

@JarryShaw
JarryShaw merged commit 4930a7a into main Oct 22, 2026
59 checks passed
@JarryShaw
JarryShaw deleted the fix/2025-refresh-pins-warns branch October 22, 2026 03:42
@github-project-automation github-project-automation Bot moved this from In review to Done in PyPCAPKit Oct 22, 2026
@JarryShaw JarryShaw removed the review: good-to-go Cross-review at the current head says ready; CI state is separate label Oct 22, 2026
@JarryShaw JarryShaw added this to the PyPCAPKit v1.5 milestone Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Issues reporting a defect (set by the bug report template; a default, not an assessment) ci Pull requests that change CI or workflow configuration (ci: subject prefix)

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

util: conda --refresh-pins exits 0 silently when no release qualifies for a pin

1 participant