[Pulp-dev] Raising the pulpcore requirement for plugins

Quirin Pamp pamp at atix.de
Wed Sep 30 07:51:01 UTC 2020

So far, I have been mindlessly raising the pulpcore requirement by one Y version with each Y version release of pulp_deb. So, for example, The release of pulp_deb 2.5.0b1 was compatible with 'pulpcore>=3.5,<3.6', and the 2.6.0b1 release was compatible with 'pulpcore>=3.6,<3.7'.

I have been talking to x9c4 about this, since he pointed out that there really wasn't any reason to automatically raise the floor on pulpcore if there are no breaking changes. For example, it might have been fine for 2.5.0b1 to have a dependency of 'pulpcore>=3.5,<3.6' and for 2.6.0b1 to switch that to 'pulpcore>=3.5,<3.7', leaving the floor of the range untouched (not sure if there actually were no breaking changes with those particular versions, it is just intended as an example).

x9c4 also argued that it might be a good idea to raise the floor requirement with the introduction of a breaking change (and not at the time of creating the release branch).

Both suggestions make sense to me, but they do not seem to reflect the current workflow for most plugins right now (I also don't feel very comfortable I know how to recognize breaking changes, making me want to keep on mindlessly raising the floor to be on the safe side). The release script is built in a way that suggests both upper and lower pulpcore range should be set at the time when the release branch is created. With all of this in mind, here are some questions I have for the community:

1) Are there any current best practice recommendations how to raise the floor on the pulpcore requirement for plugins?

2) Does it make sense to raise the floor when a breaking change is introduced, rather than when the release branch is created? (This might give a false sense of security when cherry-picking things from after the raising of the floor.)

3) Other than reading the "Deprecations and Removals", how does one recognize when a breaking change in pulpcore needs me to raise the floor? (Especially now with the new 2 Y-version deprecation cycle, some more pointers/examples on how to use this in practice would be good.) Is it just a matter of running the test suite against each pulpcore version that I am declaring compatibility with?

Any thoughts and hints are appreciated!
Kind regards,
Quirin Pamp (quba42)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/pulp-dev/attachments/20200930/243e822c/attachment.htm>

More information about the Pulp-dev mailing list