Skip to content

build: Small build improvement for speed and fix CI for CY2023#1223

Merged
cedrik-fuoco-adsk merged 12 commits intoAcademySoftwareFoundation:mainfrom
cedrik-fuoco-adsk:ci-speed-up-1
Apr 15, 2026
Merged

build: Small build improvement for speed and fix CI for CY2023#1223
cedrik-fuoco-adsk merged 12 commits intoAcademySoftwareFoundation:mainfrom
cedrik-fuoco-adsk:ci-speed-up-1

Conversation

@cedrik-fuoco-adsk
Copy link
Copy Markdown
Contributor

@cedrik-fuoco-adsk cedrik-fuoco-adsk commented Apr 10, 2026

Small build improvement for speed and fix CI for CY2023

Linked issues

none

Summarize your change.

  • Speed up the Windows CI build by introducing parallel builds (JOM) for OpenSSL and LibRaw
  • Enabling --parallel for OCIO
  • Fixing race conditions that arise from parallel compilation
  • Add back OCIO 2.5.x for CY2023

Describe the reason for the change.

  • The windows build is very slow and any minor improvement helps overtime.

  • OpenSSL PDB contention:
    Multiple cl.exe processes writing to the same app.pdb under JOM causes sporadic Error 2 failures.
    Fixed by setting CL=/Z7 to embed debug info

  • Python test race condition:
    test_python.py was moving the Python install directory to a temp location for relocatability testing.
    Any concurrent build (e.g OCIO) needing Python.h would fail with C1083: Cannot open include file.
    Fixed by copying instead of moving.

Describe what you have tested and on which operating system.

Windows and CI (all platforms)

Add a list of changes, and note any that might need special attention during the review.

.github/actions/build-windows/action.yml: Install JOM via Chocolatey and add it to PATH
cmake/dependencies/raw.cmake: Use JOM (if available) instead of nmake for LibRaw builds
cmake/dependencies/ocio.cmake: Re-enable --parallel for OCIO Windows builds
cmake/dependencies/oiio.cmake: Skip OCIO dependency for CY2023 (same behavior as before)
cmake/defaults/CY2023.cmake: Add OIIO 2.5.19.1 version/hash for CY2023
src/build/make_openssl.py: Use JOM with /FS + /Z7 for parallel OpenSSL builds; add no-tests to configure
src/build/test_python.py: Use copytree instead of move so the install dir stays in place during testing (fixes the Python.h not found race condition)
src/lib/base/stl_ext/CMakeLists.txt: Enable unity build for stl_ext

@cedrik-fuoco-adsk cedrik-fuoco-adsk force-pushed the ci-speed-up-1 branch 3 times, most recently from b5c46da to 0014a31 Compare April 14, 2026 18:12
cedrik-fuoco-adsk and others added 11 commits April 15, 2026 09:31
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <105517825+cedrik-fuoco-adsk@users.noreply.github.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <105517825+cedrik-fuoco-adsk@users.noreply.github.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <105517825+cedrik-fuoco-adsk@users.noreply.github.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
  The relocatability test was moving the entire Python install directory
  to a temp location, causing concurrent builds (e.g. OCIO) to fail with
  'Cannot open include file: Python.h' when they tried to access headers
  from the temporarily-missing directory.
  Copy instead of move so the original install stays in place.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
@cedrik-fuoco-adsk cedrik-fuoco-adsk changed the title build: WIP - Small build improvement for speed build: Small build improvement for speed and fix CI for CY2023 Apr 15, 2026
@cedrik-fuoco-adsk cedrik-fuoco-adsk marked this pull request as ready for review April 15, 2026 13:46
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Copy link
Copy Markdown
Contributor

@bernie-laberge bernie-laberge left a comment

Choose a reason for hiding this comment

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

LGTM

@cedrik-fuoco-adsk cedrik-fuoco-adsk merged commit adb66ba into AcademySoftwareFoundation:main Apr 15, 2026
17 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.

3 participants