Adsk Contrib - Fix various Actions problems#2324
Open
doug-walker wants to merge 13 commits into
Open
Conversation
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
zachlewis
approved these changes
Jun 29, 2026
Collaborator
|
There is this warning in the readthedocs page about using the ubuntu-lts-latest tag. I think it's fine but still wanted to mention.
|
cozdas
approved these changes
Jun 29, 2026
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
The aswf/ci-ocio container images intentionally omit OpenColorIO since the whole point of the image is to build it from source. But the container's prebuilt OpenImageIO is dynamically linked against a specific OpenColorIO release that isn't present, causing link failures for ociolutimage/ocioconvert/ociodisplay whenever OCIO_USE_OIIO_FOR_APPS=ON. Fetch that matching release from the ASWF Conan remote and stage it on the linker path before configuring, so apps link against both the from-source build (used directly) and the container's expected release (used transitively via OpenImageIO). Signed-off-by: Doug Walker <doug.walker@autodesk.com>
This reverts commit fa79c58. Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Previously, requesting OCIO_USE_OIIO_FOR_APPS=ON while OpenImageIO could not be found silently fell back to OpenEXR (or skipped building ociolutimage/ocioconvert/ociodisplay entirely), with only a WARNING. This let CI silently stop exercising the OIIO code path in those apps without failing, masking the fact that OIIO wasn't actually being tested. Turn this into a hard configure-time error instead, so a missing OpenImageIO is caught immediately when it was explicitly requested. Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
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.
This PR attempts to get our Actions back into the green. Numerous changes were required.
@num3ric, please review the DirectX fix, thank you!
Removed the pin of the Linux VFX CY2023 CI to the 2023.2 container. All Linux runs use the new containers that JF released on June 29th, based on Conan 2.
The new Linux containers broke numerous builds and exposed various long-standing undetected bugs in the CI. Apparently although we have numerous CI jobs that set use-oiio: 'ON', apparently none of these actually did that. On Linux, this was because OpenImageIO, although present, was not found and the build silently fell back to the OpenEXR path. With the new containers, OIIO is found but the link fails for the OIIO apps since it requires a dynamic OCIO library with a different version and namespace to the one being compiled. This is due to an intentional decision in the containers to delete that version of OCIO that was used to compile OIIO to avoid the possibility of it causing other problems. I'm not sure that is necessary, but claude was able to work around it by downloading that library from the public/anonymous ASWF Conan remote. (A new aswf-ocio-version variable is added when use-oiio is on to support this.) It only downloads the older OCIO if use-oiio is on, so at least with the other builds there is no risk of having two OCIO libraries on the system. This new install step is in share/ci/scripts/linux/dnf/install_aswf_opencolorio.sh.
Unfortunately, this occasionally fails with:
On Mac, the install_oiio.sh was never being run, so the build ignored use-oiio and just used OpenEXR. I removed the ability to choose an OIIO version from that installer since brew doesn't support that for OIIO other than building from source, which we don't have time for in the CI. I modified ci_workflow.yml so that it now does the brew install, if use-oiio is on. I added a timer and verified that this only takes about 30 extra seconds.
On Windows, there is no install_oiio.sh script at all and the runners don't have it, so I turned use-oiio off for all builds and added a comment. In the future, someone could investigate installing OIIO via vcpkg, though that may be more trouble than it's worth based on experience with the .bat scripts we already provide that often break related to vcpkg issues.
I modified share/cmake/modules/FindExtPackages.cmake so that if OCIO_USE_OIIO_FOR_APPS is ON but OIIO is not found, it fails immediately with an error message rather than falling back to OpenEXR. Going forward, this should prevent us from thinking we're testing OIIO when we're actually not.
The dependencies_latest.yml workflow is crashing sporadically in OpOptimizers_test.cpp:invlut_pair_identities in the CPU tests that use AVX512. I've discovered that the windows-2025-vs2026 image only occasionally runs on a CPU that supports AVX512, so these tests don't often run. I have not determined yet if it crashes every time it runs on one of the AVX512 machines. I added a test to tests/cpu/ops/lut3d/Lut3DOpCPU_tests.cpp because claude suspects that there is problem with the remainder path in LUT3D tetrahedral interpolation. The test should provide more data than the simple illegal instruction crash we're currently getting. Tagging @markreidvfx for visibility.
The new test disproved the out-of-bounds memory theory and points to a known issue with certain AMD processors, including the one used in the runner. From claude:
Given that the illegal instruction crash has been happening on multiple runs that I've done, I decided to turn off AVX512 support for the EPYC 9V45 chip. This applies even outside the context of CI. My reasoning is that I'd rather give up AVX512 performance rather than crash applications. One issue is that other chips have this problem too but apparently there is not a simple way of flagging just those chips. We should keep our ears open for reports of crashes on AMD chips and may need to widen the ones we flag. As claude wrote above, it's a shame we need to do this since STIBP may be properly enabled in many cases. But again, the priority needs to be on avoiding crashes.