Skip to content

Conversation

tbirdso
Copy link
Contributor

@tbirdso tbirdso commented Nov 29, 2022

Several related updates:

These changes are tested at https://github.com/InsightSoftwareConsortium/ITKSplitComponents/actions/runs/3586129456

@tbirdso tbirdso requested a review from dzenanz November 29, 2022 16:42
@tbirdso tbirdso linked an issue Nov 29, 2022 that may be closed by this pull request
Copy link
Member

@dzenanz dzenanz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code looks good. I updated zarr CI to match. Windows packages fail immediately.

@tbirdso
Copy link
Contributor Author

tbirdso commented Nov 29, 2022

Code looks good. I updated zarr CI to match. Windows packages fail immediately.

Thanks @dzenanz . Note that Windows CI workflows don't seem to use the windows-download-cache-and-build-module-wheels.ps1 script right now, I am looking into whether there are blocking issues preventing its use. For now you can continue to pull Python using the script from the scikit-build/scikit-build-addons master branch, this will not change with these updates.

dzenanz/ITKIOOMEZarrNGFF@c727689#diff-8b27c545141e883b71167a60f61e5a67a8776c84033f7aaf516fd7cafd2b4e02L233

@tbirdso
Copy link
Contributor Author

tbirdso commented Nov 29, 2022

Seeing an issue where ITK is being rebuilt on MacOS and Linux after a different version of ITKPythonPackage is checked out. Investigating.

EDIT: There is a disparity where ITKPythonPackage is a Git repo in Windows archives but not MacOS or Linux (i.e. is packaged with a .git/ subdirectory). Will revisit the approach for Linux and MacOS, seems like it should be sufficient to clone into a separate repo and replace the scripts/ folder in the unpackaged build folder as appropriate.

@tbirdso tbirdso force-pushed the archive-update-step branch from 1f29eb4 to 4ecbb4f Compare November 30, 2022 17:49
@dzenanz
Copy link
Member

dzenanz commented Nov 30, 2022

After a minor update, now even 3.7 fails with /opt/rh/gcc-toolset-12/root/usr/bin/sudo: line 41: /usr/bin/sudo: No such file or directory. MacOS succeeded.

@tbirdso
Copy link
Contributor Author

tbirdso commented Nov 30, 2022

After a minor update, now even 3.7 fails with /opt/rh/gcc-toolset-12/root/usr/bin/sudo: line 41: /usr/bin/sudo: No such file or directory. MacOS succeeded.

@dzenanz The issue you've described happening in your branch is tracked in #235 . It looks like your branch is fixed at c98c5e3 which does not revert the manylinux image tag. I am now seeing a successful Python 3.7 build in ITKSplitComponents after reverting the manylinux tag. I am convinced that the newer manylinux image is the source of the error you're describing.

I understand that simply reverting the tag will not allow ITKIOOMEZarrNGFF CI to complete as it requires NASM. The resolution for the sudo issue needs to happen in dockcross rather than in ITKPythonPackage. The workaround for other modules that do not require NASM for now is to revert to an earlier image.

Let's continue discussion in #235. I will verify that other ITKSplitComponents builds also pass with these changes and then get this PR cleaned up for easier review.

@tbirdso tbirdso force-pushed the archive-update-step branch from 4ecbb4f to 329438a Compare November 30, 2022 18:28
@tbirdso tbirdso marked this pull request as ready for review November 30, 2022 18:59
@tbirdso
Copy link
Contributor Author

tbirdso commented Nov 30, 2022

@thewtex @dzenanz PR is ready for review at your convenience. Tested by ITKSplitComponents: https://github.com/InsightSoftwareConsortium/ITKSplitComponents/actions/runs/3586129456

Copy link
Member

@dzenanz dzenanz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly looks good.

Addresses shortfall where ITKPythonBuilds archives are packaged with
ITKPythonPackage build scripts from the time of archive generation, but
no clear mechanism was available for updates to apply build script
patches.

Adds mechanism in download scripts where ITKPythonBuilds archives are
fetched, decompressed, and optionally patched prior to continuing with
module builds.
Replaces `TARBALL_SPECIALIZATION` parameter with distinct
`MANYLINUX_VERSION` and `IMAGE_TAG` parameters to be set by the user
prior to build. The resulting script fetches the correct dockcross image
for building specialized wheels and artifacts.

Resolves an issue where `manylinux2014` wheels were attempted to build
on `-manylinux_2_28` images.
@tbirdso tbirdso force-pushed the archive-update-step branch from 329438a to 2d3a552 Compare November 30, 2022 20:22
@tbirdso
Copy link
Contributor Author

tbirdso commented Nov 30, 2022

Most recent push applies requested documentation fix.

Copy link
Member

@thewtex thewtex left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @tbirdso !

MANYLINUX_VERSION=_2_28
IMAGE_TAG=20221128-2024e4b
MANYLINUX_VERSION=${MANYLINUX_VERSION:=_2_28}
IMAGE_TAG=${IMAGE_TAG:=20221108-102ebcc}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cool

@tbirdso tbirdso merged commit 03391ad into master Nov 30, 2022
@thewtex thewtex deleted the archive-update-step branch November 30, 2022 21:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add ITKPythonPackage update step in download scripts
3 participants