I'm imagining a scenario where packages using edgetest with a lot of dependencies may need to release their package quite frequently to account for updated dependencies. for example, if I have pyarrow<=7.0.0,>=0.18.0 defined in my setup with the upper bound as required by edgetest and all of a sudden a major bug is found in pyarrow 7.0.0 that needs an immediate upgrade to 7.0.1, I now require an immediate update to and release of my package before users can use it with the fixed pyarrow
I think it could be useful to be able to specify pyarrow<=7.0,>=0.18.0 (explicitly leaving off the patch version) and having that mean that edgetest will only look for, test, and PR upgrades to the major/minor versions and my setup can automatically allow any update to the patch version to be useable. (I'm assuming that if I were to say pyarrow<=7.0,>=0.18.0 edgetest would currently look for pyarrow 7.0.1 next time it ran, not 7.1 - if that's incorrect then let me know)
I'm coming from a mindset of avoiding upper pins in general to avoid issues like this, but I absolutely see the value in having them (and especially in having them tested) so I think it'd be nice to be able to configure some kind of "compromise" between the two ideas
I'm also aware that different versioning schemes could cause headaches here if we were to try something super automatic, so that's something to consider
thoughts @fdosani @ak-gupta ?
I'm imagining a scenario where packages using
edgetestwith a lot of dependencies may need to release their package quite frequently to account for updated dependencies. for example, if I havepyarrow<=7.0.0,>=0.18.0defined in my setup with the upper bound as required byedgetestand all of a sudden a major bug is found inpyarrow7.0.0 that needs an immediate upgrade to 7.0.1, I now require an immediate update to and release of my package before users can use it with the fixedpyarrowI think it could be useful to be able to specify
pyarrow<=7.0,>=0.18.0(explicitly leaving off the patch version) and having that mean thatedgetestwill only look for, test, and PR upgrades to the major/minor versions and my setup can automatically allow any update to the patch version to be useable. (I'm assuming that if I were to saypyarrow<=7.0,>=0.18.0edgetestwould currently look forpyarrow7.0.1 next time it ran, not 7.1 - if that's incorrect then let me know)I'm coming from a mindset of avoiding upper pins in general to avoid issues like this, but I absolutely see the value in having them (and especially in having them tested) so I think it'd be nice to be able to configure some kind of "compromise" between the two ideas
I'm also aware that different versioning schemes could cause headaches here if we were to try something super automatic, so that's something to consider
thoughts @fdosani @ak-gupta ?