InsightSoftwareConsortium / ITKRemoteModuleBuildTestPackageAction

A composite GitHub Action to build, test, and package, ITK remote modules
Apache License 2.0
3 stars 5 forks source link

Remove Python 3.7 wheel builds for EOL #60

Closed tbirdso closed 10 months ago

tbirdso commented 1 year ago

Python 3.7 will reach end of life in June 2023. 3.7 builds should be removed from the most recent CI version.

https://devguide.python.org/versions/

Thanks @N-Dekker for bringing this to our attention in https://github.com/InsightSoftwareConsortium/ITKElastix/issues/213#event-9246323199

thewtex commented 1 year ago

This will happen in conjunction with ITK-5.4, which will drop 3.7 support in ITK.

tbirdso commented 1 year ago

@thewtex What is the estimated release timeframe for ITK 5.4?

thewtex commented 1 year ago

@tbirdso June

N-Dekker commented 1 year ago

Thanks, I'm looking forward to June 😃 So then, from ITK 5.4.0, just four Python versions need to be supported, right? Python 3.8, 3.9, 3.10, and 3.11. But then, what if Python 3.12 gets released? (Possibly in October already.) Will we then need to support five Python versions, again?

tbirdso commented 1 year ago

Thanks, I'm looking forward to June 😃 So then, from ITK 5.4.0, just four Python versions need to be supported, right? Python 3.8, 3.9, 3.10, and 3.11. But then, what if Python 3.12 gets released? (Possibly in October already.) Will we then need to support five Python versions, again?

In the future we plan to leverage itk-wasm to build one Python wheel that will run across multiple Python versions. In the short term, yes, it is required to build one Python wheel per supported Python version. I am investigating adding support for whitelisting only a subset of Python versions, but do not have a timeline on when that might be available. In the case of ITKElastix, though, I don't see a clear reason to exclude any actively maintained Python versions.

N-Dekker commented 1 year ago

Thanks Tom. Advantages of excluding some of those Python versions while running the CI could be:

Of course, there is a trade-off. But I wonder if people actually need to have a wheel available as a download, for all supported Python versions, with each and every ITKElastix commit .

dzenanz commented 1 year ago

Point of creating the packages in PRs is to make sure it builds - it is one way to test. And different versions have a slightly different set of features, so automated builds can discover that.

I understand the point you make, and do agree that having all the python versions tested is perhaps not necessary. Maybe just the oldest and newest supported version would be enough on PRs?

thewtex commented 10 months ago

Python 3.7 support remove in v5.3rc02.