COMP: Update CI best practices and Python 3.10+#48
Open
hjmjohnson wants to merge 6 commits intomainfrom
Open
Conversation
3fb1ce4 to
2b66031
Compare
9b2e930 to
8bedb82
Compare
Cherry-picked and squashed from Hans Johnson's unmerged branches: - af03b1f STYLE: Add itkVirtualGetNameOfClassMacro + itkOverrideGetNameOfClassMacro - f889ad3 STYLE: Replace itkStaticConstMacro with static constexpr - 559674c STYLE: CoordRepType -> CoordinateType code readability - 53b0943 COMP: Remove inclusion of .hxx files as headers - d1aa10d STYLE: Prefer itk::Math::abs for consistency Co-Authored-By: Hans J. Johnson <hans-johnson@uiowa.edu>
…ython 3.10+ - Update clang-format linter from @master to @main with checkout@v5 - Bump reusable workflow from v5.4.0 to v5.4.6 (fixes macos-13 deprecation, adds GHCR dockcross pre-pull with retry) - Update minimum Python version to 3.10+ - Apply clang-format to match ITK coding style Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add the module's include/ directory to the src/ executables' include path so that itkVariationalRegistrationMultiResolutionFilter.h and other module headers are found during the CTest dashboard build. Also fix the nodiscard warning on TransformPhysicalPointToContinuousIndex in itkContinuousBorderWarpImageFilter.hxx by throwing an exception when the physical point falls outside the image domain. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The wrapping files for VariationalDiffeomorphicRegistrationFilter and VariationalSymmetricDiffeomorphicRegistrationFilter had a typo in their filenames (Diffeomophic - missing the r). The non-symmetric variant also had the typo in the itk_wrap_class() class name, causing castxml to emit fatal error: file not found during the Python wheel build. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
15ad9f0 to
d876712
Compare
Two pre-existing issues exposed by working CI:
1. src/ executables fail to link against ITK shared libraries in
external-module builds. The VariationalRegistration_LIBRARIES
variable contains target names but the external-module CMake
context doesn't fully resolve their link dependencies. Adding
ITK_LIBRARIES (set by find_package(ITK)) provides the complete
transitive link set:
undefined reference to itk::DataObject::GetUpdateMTime()
undefined reference to itk::DataObject::DataHasBeenGenerated()
undefined reference to typeinfo for itk::ExceptionObject
2. Seven .wrap files pass the wrong number of template arguments:
- Regularizer, DiffusionRegularizer, ElasticRegularizer,
GaussianRegularizer, CurvatureRegularizer: all take 1 template
param (TDisplacementField) but wrapping uses
itk_wrap_image_filter with 2 image types
- StopCriterion: takes (TRegistrationFilter, TMRFilter) — not
image types at all
- MultiResolutionFilter: takes 4 params, wrapping provides 2
These wrapping files have never produced working Python bindings.
Disabled in wrapping/CMakeLists.txt; the 9 correctly-wrapped
3-parameter filters remain active.
ITK v6 is NOT required — these are wrapping authoring bugs, not
API incompatibilities.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
d876712 to
05183ce
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Update clang-format linter, actions/checkout@v5, Python 3.10+, fix @ghcr-mirror refs.