Skip to content

ENH: Test Linux ARM in CI#5137

Draft
thewtex wants to merge 7 commits intoInsightSoftwareConsortium:mainfrom
thewtex:linux-arm-ci
Draft

ENH: Test Linux ARM in CI#5137
thewtex wants to merge 7 commits intoInsightSoftwareConsortium:mainfrom
thewtex:linux-arm-ci

Conversation

@thewtex
Copy link
Member

@thewtex thewtex commented Jan 17, 2025

@github-actions github-actions bot added type:Infrastructure Infrastructure/ecosystem related changes, such as CMake or buildbots type:Enhancement Improvement of existing methods or implementation labels Jan 17, 2025
@thewtex thewtex requested a review from Copilot January 17, 2025 20:07
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

Copy link
Member

@hjmjohnson hjmjohnson left a comment

Choose a reason for hiding this comment

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

@thewtex The code looks good to me. I rebased it the current upstream/main branch

@thewtex
Copy link
Member Author

thewtex commented Jan 29, 2026

@hjmjohnson thanks, but the workflow is invalid:

https://github.com/InsightSoftwareConsortium/ITK/actions/runs/21444681186/workflow

And there are also test failures and warnings that need to be addressed.

@hjmjohnson hjmjohnson force-pushed the linux-arm-ci branch 3 times, most recently from b9bb4d6 to d77f751 Compare February 2, 2026 13:58
@hjmjohnson
Copy link
Member

Build occurs O.K. but the following tests have failures:

itkMINCImageIOTest-COM-t1_z+_byte_trans-1
itkMINCImageIOTest-COM-t1_z-_byte_trans-1
itkMINCImageIOTest-COM-t1_z+_byte_sag-1 
itkMINCImageIOTest-COM-t1_z-_byte_sag-1 
itkMINCImageIOTest-COM-t1_z+_byte_cor-1 
itkMINCImageIOTest-COM-t1_z-_byte_cor-1 
itkMINCImageIOTest-COM-t1_z+_byte_trans-0
itkMINCImageIOTest-COM-t1_z-_byte_trans-0
itkMINCImageIOTest-COM-t1_z+_byte_sag-0 
itkMINCImageIOTest-COM-t1_z-_byte_sag-0 
itkMINCImageIOTest-COM-t1_z+_byte_cor-0 
itkMINCImageIOTest-COM-t1_z-_byte_cor-0 
itkMINCImageIOTest3     

itkHDF5ImageIOTest 

I think the CI component is working as expected, but some code changes are needed to build on Linux ARM environments.

@dzenanz dzenanz requested review from gdevenyi and vfonov February 3, 2026 14:31
thewtex and others added 7 commits February 3, 2026 11:18
Remove the excessively verbose '-VV' ctest flags that make identifying
errors in the online logs very difficult.
Reduce duplication of common testing.

Introduce reusable `AddMetaData` and `VerifyMetaData`
functions to eliminate redundant metadata handling code in
`HDF5ImageIOTest` and `MetaDataDictionaryGTest`. This
simplifies test logic and improves maintainability.

Provide more failure diagnostics to assist with pin-pointing
the failure locations.
This ensures that each dictionary item is printed on a newline.
Make tracking down failures easier to trace
Replace `dynamic_cast` with `static_cast` and explicit type information checks for clearer and more efficient metadata handling.
Simplify and reformat macro usage for improved readability and maintainability, removing unnecessary line breaks and ensuring consistent structure.
@github-actions github-actions bot added type:Testing Ensure that the purpose of a class is met/the results on a wide set of test cases are correct area:Core Issues affecting the Core module area:IO Issues affecting the IO module labels Feb 3, 2026
@hjmjohnson
Copy link
Member

FYI: I think the crux of the problem lies in how MetaData is handled in ITK for HDF5 image IO.

Failure ExposeMetaData 'TestBool'

Failure ExposeMetaData 'TestUChar'
Incorrect meta value read in for TestUChar '
' != 'u'

@hjmjohnson hjmjohnson marked this pull request as draft February 3, 2026 20:58
@hjmjohnson
Copy link
Member

The meta data components of the hd5 file written to disk are different on M3 mac for mac build vs docker linxu-arm build:

h5dump ./Testing/Temporary/ITKIOHDF5/RGBImage.hdf5 ~/PASS_MAC
h5dump ./Testing/Temporary/ITKIOHDF5/RGBImage.hdf5 > ~/FAIL_LINUX
vimdiff ~/PASS_MAC ~/FAIL_LINUX
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:Core Issues affecting the Core module area:IO Issues affecting the IO module type:Enhancement Improvement of existing methods or implementation type:Infrastructure Infrastructure/ecosystem related changes, such as CMake or buildbots type:Testing Ensure that the purpose of a class is met/the results on a wide set of test cases are correct

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants