Repository navigation
fix(ci): warn when --refresh-pins cannot move a pin (#2025) - #2026
Conversation
3c20dec to
b12821c
Compare
|
GOOD TO GO at |
|
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.
b12821c to
91f2b6e
Compare
|
Rebased onto |
|
Ordering check on |
|
Coverage: 91.54% (unit tier, Python 3.15,
Per-file detail: the |
make pylint,make mypy,make isort)make testpasses, and a test case covers the changeWhat is the purpose of your pull request?
fix— corrects a defectDescription 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-pinskept the pin and printed nothing.refresh()now emits a::warningfor such a pin. The step still passes, which is the convention stated incron-conda.yml's comment.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()andlacking()are factored out ofnewest_wheel, so both use one filter.Three new tests in
test_conda_platform_pin_refresh_1851fail without the fix (3 failed, 42 passed) and pass with it (45 passed). Every test file that readscron-conda.ymlpasses:536 passed.Left out: a pin whose own release lost a wheel, when an older release still qualifies, still stays silent.