Skip to content

COMP: Update CI best practices and Python 3.10+#17

Merged
hjmjohnson merged 4 commits intomainfrom
update-ci-best-practices
Apr 23, 2026
Merged

COMP: Update CI best practices and Python 3.10+#17
hjmjohnson merged 4 commits intomainfrom
update-ci-best-practices

Conversation

@hjmjohnson
Copy link
Copy Markdown
Member

@hjmjohnson hjmjohnson commented Apr 3, 2026

Update CI infrastructure and Python version requirement.

Changes
  1. Python 3.10+ — bump requires-python from >=3.9 to >=3.10 (Python 3.9 EOL was Oct 2025)
  2. CI action v5.4.6 — update ITKRemoteModuleBuildTestPackageAction from v5.4.2 to v5.4.6 for latest runner support (macOS 15, Apple Silicon)
  3. Pin ITK v5.4.5 — the v5.4.6 action's default ITK commit has a DCMTK ExternalProject include path issue (ijg12/include exported but missing); pin to v5.4.5 release where DCMTK builds correctly

Fix macos-13 runner deprecation - v5.4.0 through v5.4.4 reference
macos-13 which has been removed from GitHub Actions. v5.4.6 uses
macos-15-intel and includes GHCR-mirrored dockcross image pre-pull.
@dzenanz
Copy link
Copy Markdown
Member

dzenanz commented Apr 3, 2026

Error:

-- Not adding IOTransformDCMTKModule(TransformIO::DCMTK) to factory meta-module ITKTransformIO because it is outside ITK source tree.
  -- Configuring done (0.6s)
  CMake Error in src/CMakeLists.txt:
    Imported target "ITK::ITKDCMTKModule" includes non-existent path
  
      "/home/runner/work/ITKIOTransformDCMTK/ITK-build/Modules/ThirdParty/DCMTK/ITKDCMTK_ExtProject/ijg12/include"
  
    in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:
  
    * The path was deleted, renamed, or moved to another location.
  
    * An install or uninstall procedure did not complete successfully.
  
    * The installation package was faulty and references files it does not
    provide.
  
  
  
  -- Generating done (0.0s)
  CMake Generate step failed.  Build files cannot be regenerated correctly.
  Command exited with the value: 1
  Error(s) when configuring the project

The v5.4.6 action's default ITK commit (c6e1c1be, March 2026 main)
has a DCMTK ExternalProject include path issue where ijg12/include
is exported in ITK targets but does not exist in the build tree,
causing CMake configure failure for remote modules.

Pin to v5.4.5 release where DCMTK builds correctly.
@dzenanz
Copy link
Copy Markdown
Member

dzenanz commented Apr 15, 2026

D:\a\ITKIOTransformDCMTK\ITK-build\Modules\ThirdParty\DCMTK\ITKDCMTK_ExtProject-build\config\include\dcmtk/config/osconfig.h(938): fatal error C1189: #error: DCMTK was configured to use C++11 features, but your compiler does not or was not configured to provide them.

@hjmjohnson
Copy link
Copy Markdown
Member Author

Upstream fixes for both DCMTK blockers submitted: InsightSoftwareConsortium/ITK#6072 (targeting release-5.4 for v5.4.6).

Once merged, this PR can drop the itk-git-tag: 'v5.4.5' pin and use the action's default ITK commit, which will include both fixes.

Point itk-git-tag at hjmjohnson:fix-dcmtk-external-module-compat-main
which includes both DCMTK fixes:
- BUG: Exclude ijg* libs from INTERFACE_INCLUDE_DIRECTORIES
- COMP: Add /Zc:__cplusplus for MSVC

This is a temporary test commit to validate the upstream fixes.
@hjmjohnson hjmjohnson merged commit 010f6e5 into main Apr 23, 2026
3 of 7 checks passed
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.

2 participants