Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Specify Python at minor version instead of patch #1631
Cool! Um, I can only think of two edge cases now:
A new minor version of Python is released, which cloud.gov supports, but we don't upgrade our Docker setup to use. Technically it's possible (though very unlikely) that our code works on local setups because of a bug in the older version of Python; if a bugfix in the newer version of Python that cloud.gov uses actually breaks our app, this could result in an unfortunate dev/prod mismatch.
A new patch version of Python is released today and we immediately update our Docker setup, and perhaps make a change that takes advantage of some bugfix/feature in the new version, but cloud.gov (or something upstream of them) doesn't yet have a buildpack available for this version. However, because we don't explicitly specify the patch version in our
runtime.txt, cloud.gov deploys using the old version of Python without complaint, and we have a dev/prod mismatch.
Personally I think both of these edge cases are very unlikely, but if they do occur, they might be annoyingly hard to diagnose and debug. IMO it's worth the annoyance of manually updating the patch version to prevent situations like this, but since you're usually the one issuing the PRs to change the Python version, I think you're a more important stakeholder than me, so I'll leave the decision to you!
Great, thanks for the enumeration of potential issues. I think the likelihood of those cases happening are sufficiently low to proceed.
One kind of big issue that this PR does fix is when the Cloud Foundry Python buildpack drops support for older Python versions, our deploys break (as I noticed today with the