conda-forge / conda-forge/conda-forge.github.io
ENH: Structured approach to test lower bounds of package metadata
- Dominant language
- JavaScript
- Stars
- 170
- Forks
- 320
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 5
Description
> Just stumbled over this [introduction](https://www.youtube.com/watch?v=-69br52PyQ4) by @ruben-arts to pixi's (probably rather: resolvo's) dependency solving strategies. Using `solve-strategy = "lowest"` would actually be an amazing generalization of the discussion here. 🤩
>
> So often we end up carrying around stale dependency metadata on the lower end, because the solver will always try to prioritize the higher end (which still has stale data occasionally, but gets discovered much more quickly). Doing this in a systematic way for v1 recipes during testing would be amazing (should stay opt-in obviously, but libraries with a wide range of supported versions for their dependencies may really benefit from actual testing on the lower bound).
_Originally posted by @h-vetinari in [#2617](https://github.com/conda-forge/conda-forge.github.io/issues/2617#issuecomment-3900916584)_
Additional comment by @bollwyvl:
> A `tests/*/solve-strategy` would be a very nice v1 addition.
>
> As for the cost/benefit: In `pixi` projects, I've found `solve-strategy = "lowest"` finds _too_ many things, and I generally end up using `lowest-direct`. However, solveability (and in the `tests/*/python` case) doesn't always mean its right, so it would take some "big rocks" adding these things.
>
> While it would be _nice_ to upstream these findings, I'd be tempted to add novel findings as `run_constraints` so that there is more of an explicit record.
Contributor guide
Research direction
Start by reading the proposed tests/*/solve-strategy addition and the existing tests/*/python approach. Compare the stated lowest and lowest-direct strategies, including their opt-in behavior and how findings might be recorded as run_constraints. Done means a concrete v1 recipe testing approach is agreed and documented or implemented.
Written by the indexing model from the issue text.
Assessment
- Domain
- testing-qa, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100