From d3f7dc87f9eed234e910b979f2c2e00e6eccf226 Mon Sep 17 00:00:00 2001 From: Jean-Francois Panisset Date: Wed, 3 Sep 2025 17:14:06 -0700 Subject: [PATCH 1/8] Don't always rebuilt ci-baseos-gl-conan - ci-baseos-gl-conan is used to build all Conan packages, make sure it gets pull from Docker Hub instead of constantly rebuilding it (10 minutes per trivial Conan wrapper package...) - force Conan packages to always rebuild in release.yml GHA workflow - move ninja version override to correct place in ci_commonX and fix typo Signed-off-by: Jean-Francois Panisset --- .github/workflows/release.yml | 2 +- CHANGELOG.md | 4 +++- packages/common/Dockerfile | 10 +++++----- packages/conan/settings/profiles_aswf/ci_common4 | 1 + packages/conan/settings/profiles_aswf/ci_common5 | 1 + packages/conan/settings/profiles_aswf/ci_common6 | 1 + packages/conan/settings/profiles_aswf/vfx2024 | 1 - packages/conan/settings/profiles_aswf/vfx2025 | 1 - packages/conan/settings/profiles_aswf/vfx2026 | 1 - .../conan/settings/profiles_aswftesting/ci_common4 | 1 + .../conan/settings/profiles_aswftesting/ci_common5 | 1 + .../conan/settings/profiles_aswftesting/ci_common6 | 1 + packages/conan/settings/profiles_aswftesting/vfx2024 | 1 - packages/conan/settings/profiles_aswftesting/vfx2025 | 1 - packages/conan/settings/profiles_aswftesting/vfx2026 | 1 - 15 files changed, 15 insertions(+), 13 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8a53ed93..679dd179 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -23,7 +23,7 @@ jobs: build: true push_description: true - group: conan - args: --use-conan --conan-login --build-missing + args: --use-conan --conan-login build: ${{ contains(github.ref, '/ci-package') }} push_description: false diff --git a/CHANGELOG.md b/CHANGELOG.md index b58bacf0..31fe6556 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ All notable changes to this project will be documented in this file. -# 2025-09-01 +# 2025-09-03 2024.4 / 2025.3 / 2026.1 releases to address issues in the previous set of releases encountered by consumer ASWF projects. This highlights the need for more thorough testing of non-Conan project builds in the @@ -20,6 +20,8 @@ resulting ci-XXXX images. - Fix some discrepancies in the Conan 2 environment files (we really need a single source of truth for all version information). - Build command line utilities and Ax when building OpenVDB package, and install missing dependencies for these additional components (glfw3). Ax cannot be built with OpenVDB older than 12.1.0 since this is where support for clang/llvm 16 or newer shows up. + - Dockerfile to build ci-baseos-gl-conan image should how pull from Docker Hub instead of always rebuilding locally + - release.yml GHA workflow should now always rebuild even if an existing binary package exists in the Conan repository - 2024.4 - revert to MaterialX 1.39.1 which is complatible with USD 24.08 - install MaterialX CMake files in expected location diff --git a/packages/common/Dockerfile b/packages/common/Dockerfile index 18973cbc..0c310f18 100644 --- a/packages/common/Dockerfile +++ b/packages/common/Dockerfile @@ -21,7 +21,7 @@ ARG ASWF_BASEOS_IMAGE #################### ci-baseos-gl-os #################### -FROM ${ASWF_BASEOS_IMAGE}:${ASWF_CUDA_VERSION}-runtime-${ASWF_BASEOS_DISTRO} AS ci-baseos-gl-os +FROM ${ASWF_BASEOS_IMAGE}:${ASWF_CUDA_VERSION}-runtime-${ASWF_BASEOS_DISTRO} AS ci-baseos-gl-conan ARG CI_COMMON_VERSION ENV CI_COMMON_VERSION=${CI_COMMON_VERSION} @@ -91,13 +91,13 @@ COPY scripts/common/install_yq.sh /tmp/ RUN /tmp/install_yq.sh -#################### ci-baseos-gl-conan #################### -FROM ci-baseos-gl-os AS ci-baseos-gl-conan +# Merge the previously separate ci-baseos-gl-os and ci-baseos-gl-conan stages: +# we are unlikely to want to iterate on Conan versions separately from the base image, +# and we want to make sure that ci-conan-package-builder always pulls a pre-built +# ci-baseos-gl-conan from Docker Hub rather than rebuilding it locally. ARG ASWF_CONAN_VERSION ARG ASWF_CONAN_PYTHON_VERSION -ARG ASWF_DTS_VERSION -ARG ASWF_DTS_PREFIX ENV ASWF_CONAN_ROOT=/opt/conan diff --git a/packages/conan/settings/profiles_aswf/ci_common4 b/packages/conan/settings/profiles_aswf/ci_common4 index 13db25a9..217223de 100644 --- a/packages/conan/settings/profiles_aswf/ci_common4 +++ b/packages/conan/settings/profiles_aswf/ci_common4 @@ -14,6 +14,7 @@ clang/*:shared=False [replace_requires] [replace_tool_requires] cmake/*: cmake/3.31.7@aswf/ci_common4 +ninja/*: ninja/1.13.1@aswf/ci_common4 [platform_requires] [buildenv] GCC_INSTALL_DIR=/opt/rh/gcc-toolset-11/root/lib/gcc/x86_64-redhat-linux/11 diff --git a/packages/conan/settings/profiles_aswf/ci_common5 b/packages/conan/settings/profiles_aswf/ci_common5 index 752bed55..e81e9201 100644 --- a/packages/conan/settings/profiles_aswf/ci_common5 +++ b/packages/conan/settings/profiles_aswf/ci_common5 @@ -14,6 +14,7 @@ clang/*:shared=False [replace_requires] [replace_tool_requires] cmake/*: cmake/3.31.7@aswf/ci_common5 +ninja/*: ninja/1.13.1@aswf/ci_common5 [platform_requires] [buildenv] GCC_INSTALL_DIR=/opt/rh/gcc-toolset-11/root/lib/gcc/x86_64-redhat-linux/11 diff --git a/packages/conan/settings/profiles_aswf/ci_common6 b/packages/conan/settings/profiles_aswf/ci_common6 index cb8ea0ec..0c414035 100644 --- a/packages/conan/settings/profiles_aswf/ci_common6 +++ b/packages/conan/settings/profiles_aswf/ci_common6 @@ -14,6 +14,7 @@ clang/*:shared=False [replace_requires] [replace_tool_requires] cmake/*: cmake/4.0.2@aswf/ci_common6 +ninja/*: ninja/1.13.1@aswf/ci_common6 [platform_requires] [buildenv] GCC_INSTALL_DIR=/opt/rh/gcc-toolset-14/root/lib/gcc/x86_64-redhat-linux/14 diff --git a/packages/conan/settings/profiles_aswf/vfx2024 b/packages/conan/settings/profiles_aswf/vfx2024 index 69a4c032..091250db 100644 --- a/packages/conan/settings/profiles_aswf/vfx2024 +++ b/packages/conan/settings/profiles_aswf/vfx2024 @@ -109,7 +109,6 @@ gperf/*: gperf/3.1@system libtool/*: libtool/2.4.6@system mesno/*: meson/0.58.2@system nasm/*: nasm/system@aswf/vfx2024 -ninja/*: ninja/1.13.1@aswf/ci_common5 nodejs/*: nodejs/18.20.4@system pkgconf/*: pkgconf/1.4.2@system wayland/*: wayland/1.21.0@system diff --git a/packages/conan/settings/profiles_aswf/vfx2025 b/packages/conan/settings/profiles_aswf/vfx2025 index 28d8c9dd..0e53dfda 100644 --- a/packages/conan/settings/profiles_aswf/vfx2025 +++ b/packages/conan/settings/profiles_aswf/vfx2025 @@ -109,7 +109,6 @@ gperf/*: gperf/3.1@system libtool/*: libtool/2.4.6@system meson/*: meson/0.58.2@system nasm/*: nasm/system@aswf/vfx2025 -ninja/*: ninja/1.13.1@aswf/ci_common5 nodejs/*: nodejs/18.20.4@system pkgconf/*: pkgconf/1.4.2@system wayland/*: wayland/1.21.0@system diff --git a/packages/conan/settings/profiles_aswf/vfx2026 b/packages/conan/settings/profiles_aswf/vfx2026 index add3e5c5..6d51f383 100644 --- a/packages/conan/settings/profiles_aswf/vfx2026 +++ b/packages/conan/settings/profiles_aswf/vfx2026 @@ -111,7 +111,6 @@ gperf/*: gperf/3.1@system libtool/*: libtool/2.4.6@system meson/*: meson/0.58.2@system nasm/*: nasm/system@aswf/vfx2026 -ninja/*: ninja/1.13.1@aswf/ci_common6 nodejs/*: nodejs/18.20.4@system pkgconf/*: pkgconf/1.4.2@system wayland/*: wayland/1.21.0@system diff --git a/packages/conan/settings/profiles_aswftesting/ci_common4 b/packages/conan/settings/profiles_aswftesting/ci_common4 index 96264bbb..824ce04e 100644 --- a/packages/conan/settings/profiles_aswftesting/ci_common4 +++ b/packages/conan/settings/profiles_aswftesting/ci_common4 @@ -14,6 +14,7 @@ clang/*:shared=False [replace_requires] [replace_tool_requires] cmake/*: cmake/3.31.7@aswftesting/ci_common4 +ninja/*: ninja/1.13.1@aswftesting/ci_common4 [platform_requires] [buildenv] GCC_INSTALL_DIR=/opt/rh/gcc-toolset-11/root/lib/gcc/x86_64-redhat-linux/11 diff --git a/packages/conan/settings/profiles_aswftesting/ci_common5 b/packages/conan/settings/profiles_aswftesting/ci_common5 index 2b1418d9..9bee3a91 100644 --- a/packages/conan/settings/profiles_aswftesting/ci_common5 +++ b/packages/conan/settings/profiles_aswftesting/ci_common5 @@ -14,6 +14,7 @@ clang/*:shared=False [replace_requires] [replace_tool_requires] cmake/*: cmake/3.31.7@aswftesting/ci_common5 +ninja/*: ninja/1.13.1@aswftesting/ci_common5 [platform_requires] [buildenv] GCC_INSTALL_DIR=/opt/rh/gcc-toolset-11/root/lib/gcc/x86_64-redhat-linux/11 diff --git a/packages/conan/settings/profiles_aswftesting/ci_common6 b/packages/conan/settings/profiles_aswftesting/ci_common6 index 2afda051..506759f0 100644 --- a/packages/conan/settings/profiles_aswftesting/ci_common6 +++ b/packages/conan/settings/profiles_aswftesting/ci_common6 @@ -14,6 +14,7 @@ clang/*:shared=False [replace_requires] [replace_tool_requires] cmake/*: cmake/4.0.2@aswftesting/ci_common6 +ninja/*: ninja/1.13.1@aswftesting/ci_common6 [platform_requires] [buildenv] GCC_INSTALL_DIR=/opt/rh/gcc-toolset-14/root/lib/gcc/x86_64-redhat-linux/14 diff --git a/packages/conan/settings/profiles_aswftesting/vfx2024 b/packages/conan/settings/profiles_aswftesting/vfx2024 index 9f491dc8..4faddc8d 100644 --- a/packages/conan/settings/profiles_aswftesting/vfx2024 +++ b/packages/conan/settings/profiles_aswftesting/vfx2024 @@ -109,7 +109,6 @@ gperf/*: gperf/3.1@system libtool/*: libtool/2.4.6@system mesno/*: meson/0.58.2@system nasm/*: nasm/system@aswftesting/vfx2024 -ninja/*: ninja/1.13.1@aswftesting/ci_common5 nodejs/*: nodejs/18.20.4@system pkgconf/*: pkgconf/1.4.2@system wayland/*: wayland/1.21.0@system diff --git a/packages/conan/settings/profiles_aswftesting/vfx2025 b/packages/conan/settings/profiles_aswftesting/vfx2025 index e5b3435d..18b27328 100644 --- a/packages/conan/settings/profiles_aswftesting/vfx2025 +++ b/packages/conan/settings/profiles_aswftesting/vfx2025 @@ -109,7 +109,6 @@ gperf/*: gperf/3.1@system libtool/*: libtool/2.4.6@system meson/*: meson/0.58.2@system nasm/*: nasm/system@aswftesting/vfx2025 -ninja/*: ninja/1.13.1@aswftesting/ci_common5 nodejs/*: nodejs/18.20.4@system pkgconf/*: pkgconf/1.4.2@system wayland/*: wayland/1.21.0@system diff --git a/packages/conan/settings/profiles_aswftesting/vfx2026 b/packages/conan/settings/profiles_aswftesting/vfx2026 index cd5c53c6..67546048 100644 --- a/packages/conan/settings/profiles_aswftesting/vfx2026 +++ b/packages/conan/settings/profiles_aswftesting/vfx2026 @@ -111,7 +111,6 @@ gperf/*: gperf/3.1@system libtool/*: libtool/2.4.6@system meson/*: meson/0.58.2@system nasm/*: nasm/system@aswftesting/vfx2026 -ninja/*: ninja/1.13.1@aswftesting/ci_common6 nodejs/*: nodejs/18.20.4@system pkgconf/*: pkgconf/1.4.2@system wayland/*: wayland/1.21.0@system From ac250704c950012fc8cf8b877a20f7ebf770b2be Mon Sep 17 00:00:00 2001 From: Jean-Francois Panisset Date: Sun, 26 Oct 2025 14:34:03 -0700 Subject: [PATCH 2/8] 2024.4 / 2025.3 / 2026.1 releases to address issues in the previous set of releases encountered by consumer ASWF projects. This highlights the need for more thorough testing of non-Conan project builds in the resulting ci-XXXX images. - All releases - Update rawtoaces 1.1-rc3 to 1.1.0 (no code changes) - Re-enable building LLVM's compiler-rt, OSL uses it for address space sanitization for instance ([#295](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/295)) - Force Eigen3 CMake files to be generated and installed to allow rawtoaces to find it ([#273](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/273)) ([#292](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/292)) - Fix libiconv download URLs (ftpmirror.gnu.org is prefered to ftp.gnu.org) - OCIO Conan package correctly declares its link time dependencies, consumer packages no longer need to know about their dependencies - Correctly handle OIIO Conan package name being different than its CMake target name - Remove LibRaw-devel from base image, it would confuse CMake for some ASWF project versions which would end up mixing up the newer LibRaw in /usr/local and the older system installed one. - Fix some discrepancies in the Conan 2 environment files (we really need a single source of truth for all version information). - Build command line utilities, tests and Ax when building OpenVDB package, and install missing dependencies for these additional components (glfw3, gtest). Ax cannot be built with OpenVDB older than 12.1.0 since this is where support for clang/llvm 16 or newer shows up ([#293](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/293)) - Dockerfile to build ci-baseos-gl-conan image should how pull from Docker Hub instead of always rebuilding locally ([#257](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/257)) - release.yml GHA workflow should now always rebuild even if an existing binary package exists in the Conan repositoriy - 2024,4 - Revert to MaterialX 1.39.1 which is compatible with USD 24.08 - Install MaterialX CMake files in expected location - Fix up OCIO CMake dependencies - Allow OIIO to find OCIO, libraw and openj2k dependencies - Backport OSL fix for serialized CUDA build - 2025.3 - Install MaterialX CMake files in expected location - Update OpenImageIO from 3.0.9.1 to 3.1.6.2 - Update OpenVDB from 12.0.1 to 12.1.1 to allow Ax to build with llvm 16 or newer ([#285](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/285)) - 2026.1 - Update OpenImageIO from 3.0.9.1 to 3.1.6.2 - Update IMath from 3.2.0 to 3.2.2 - Update OpenEXR from 3.4-alpha to 3.4.2 (VFX Platform 2026 version) - Update OpenColorIO from 2.4.2 to 2.5.0 (VFX Platform 2026 version) - Update OpenVDB from 12.0.1 to 12.1.1 to allow Ax to build with llvm 16 or newer (does not yet include OpenVDB 13 for VFX Platform 2026) ([#285]https://github.com/AcademySoftwareFoundation/aswf-docker/issues/285) Signed-off-by: Jean-Francois Panisset --- .github/workflows/docker-builds.yml | 26 ++- .github/workflows/release.yml | 2 +- CHANGELOG.md | 26 ++- CONTRIBUTING.md | 47 +++-- ci-baseos-gl-conan/Dockerfile | 192 ++++++++++++++++++ ci-baseos-gl-conan/README.md | 58 ++++++ ci-baseos-gl-conan/image.yaml | 81 ++++++++ ci-common/Dockerfile | 2 +- ci-common/README.md | 2 +- ci-common/image.yaml | 2 +- ci-ocio/README.md | 2 +- ci-oiio/README.md | 4 +- ci-openexr/README.md | 2 +- ci-openvdb/README.md | 8 +- ci-osl/README.md | 12 +- ci-otio/README.md | 2 +- ci-usd/README.md | 10 +- ci-vfxall/README.md | 28 +-- packages/common/Dockerfile | 89 +------- packages/conan/recipes/imath/conandata.yml | 3 + packages/conan/recipes/ocio/conandata.yml | 13 ++ ...001-fix-cmake-source-dir-and-targets.patch | 52 +++++ ....5.0-0002-cmake-deps-for-shared-libs.patch | 13 ++ .../ocio/patches/2.5.0-0004-find-python.patch | 26 +++ packages/conan/recipes/oiio/conandata.yml | 13 ++ .../oiio/patches/3.0.8.1-raw-jp2k-cmake.patch | 2 +- .../oiio/patches/3.1.6.2-cmake-fmt.patch | 15 ++ .../oiio/patches/3.1.6.2-raw-jp2k-cmake.patch | 49 +++++ packages/conan/recipes/openexr/conandata.yml | 9 + packages/conan/recipes/openvdb/conandata.yml | 3 + packages/conan/recipes/openvdb/conanfile.py | 11 +- packages/conan/settings/profiles_aswf/vfx2024 | 2 + packages/conan/settings/profiles_aswf/vfx2025 | 4 +- packages/conan/settings/profiles_aswf/vfx2026 | 10 +- .../settings/profiles_aswftesting/vfx2024 | 2 + .../settings/profiles_aswftesting/vfx2025 | 4 +- .../settings/profiles_aswftesting/vfx2026 | 10 +- python/aswfdocker/builder.py | 19 +- .../data/ci-image-dockerfile.jinja2 | 12 +- python/aswfdocker/data/versions.yaml | 23 ++- python/aswfdocker/tests/test_builder.py | 25 +-- python/aswfdocker/tests/test_index.py | 4 +- python/aswfdocker/tests/test_utils.py | 6 +- scripts/common/install_conanpackages.sh | 2 + scripts/vfx/build_openvdb.sh | 4 +- 45 files changed, 706 insertions(+), 225 deletions(-) create mode 100644 ci-baseos-gl-conan/Dockerfile create mode 100644 ci-baseos-gl-conan/README.md create mode 100644 ci-baseos-gl-conan/image.yaml create mode 100644 packages/conan/recipes/ocio/patches/2.5.0-0001-fix-cmake-source-dir-and-targets.patch create mode 100644 packages/conan/recipes/ocio/patches/2.5.0-0002-cmake-deps-for-shared-libs.patch create mode 100644 packages/conan/recipes/ocio/patches/2.5.0-0004-find-python.patch create mode 100644 packages/conan/recipes/oiio/patches/3.1.6.2-cmake-fmt.patch create mode 100644 packages/conan/recipes/oiio/patches/3.1.6.2-raw-jp2k-cmake.patch diff --git a/.github/workflows/docker-builds.yml b/.github/workflows/docker-builds.yml index d1a01d51..3be8aff0 100644 --- a/.github/workflows/docker-builds.yml +++ b/.github/workflows/docker-builds.yml @@ -24,12 +24,12 @@ jobs: fail-fast: false matrix: include: - - group: vfx-2025 - name: vfx-2025 - common_version: 5-clang18 - common_version_noclang: 5 - version: 2025-clang18 - version_noclang: 2025 + - group: vfx-2026 + name: vfx-2026 + common_version: 6-clang20 + common_version_noclang: 6 + version: 2026-clang20 + version_noclang: 2026 test: "" steps: @@ -74,6 +74,20 @@ jobs: df -h dpkg -l + - name: Build Conan Builder Image + run: | + set -ex + pipenv run aswfdocker \ + --repo-uri $GITHUB_REPOSITORY \ + --source-branch $GITHUB_REF \ + --verbose \ + build \ + --ci-image-type IMAGE \ + --group common \ + --version ${{ matrix.common_version_noclang }} \ + --push NO + --target ci-baseos-gl-conan + - name: Build Ninja and CMake (Conan) run: | set -ex diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 679dd179..8a53ed93 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -23,7 +23,7 @@ jobs: build: true push_description: true - group: conan - args: --use-conan --conan-login + args: --use-conan --conan-login --build-missing build: ${{ contains(github.ref, '/ci-package') }} push_description: false diff --git a/CHANGELOG.md b/CHANGELOG.md index 31fe6556..151ebd00 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ All notable changes to this project will be documented in this file. -# 2025-09-03 +# 2025-10-24 2024.4 / 2025.3 / 2026.1 releases to address issues in the previous set of releases encountered by consumer ASWF projects. This highlights the need for more thorough testing of non-Conan project builds in the @@ -10,8 +10,8 @@ resulting ci-XXXX images. - All releases - Update rawtoaces 1.1-rc3 to 1.1.0 (no code changes) - - Re-enable building LLVM's compiler-rt, OSL uses it for address space sanitization for instance - - Force Eigen3 CMake files to be generated and installed to allow rawtoaces to find it + - Re-enable building LLVM's compiler-rt, OSL uses it for address space sanitization for instance ([#295](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/295)) + - Force Eigen3 CMake files to be generated and installed to allow rawtoaces to find it ([#273](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/273)) ([#292](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/292)) - Fix libiconv download URLs (ftpmirror.gnu.org is prefered to ftp.gnu.org) - OCIO Conan package correctly declares its link time dependencies, consumer packages no longer need to know about its dependencies @@ -19,21 +19,25 @@ resulting ci-XXXX images. - Remove LibRaw-devel from base image, it would confuse CMake for some ASWF project versions which would end up mixing up the newer LibRaw in /usr/local and the older system installed one. - Fix some discrepancies in the Conan 2 environment files (we really need a single source of truth for all version information). - - Build command line utilities and Ax when building OpenVDB package, and install missing dependencies for these additional components (glfw3). Ax cannot be built with OpenVDB older than 12.1.0 since this is where support for clang/llvm 16 or newer shows up. - - Dockerfile to build ci-baseos-gl-conan image should how pull from Docker Hub instead of always rebuilding locally + - Build command line utilities, tests and Ax when building OpenVDB package, and install missing dependencies for these additional components (glfw3, gtest). Ax cannot be built with OpenVDB older than 12.1.0 since this is where support for clang/llvm 16 or newer shows up ([#293](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/293)) + - Dockerfile to build ci-baseos-gl-conan image should how pull from Docker Hub instead of always rebuilding locally ([#257](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/257)) - release.yml GHA workflow should now always rebuild even if an existing binary package exists in the Conan repository - 2024.4 - - revert to MaterialX 1.39.1 which is complatible with USD 24.08 - - install MaterialX CMake files in expected location + - Revert to MaterialX 1.39.1 which is compatible with USD 24.08 + - Install MaterialX CMake files in expected location - Fix up OCIO CMake dependencies - Allow OIIO to find OCIO, libraw and openj2k dependencies - Backport OSL fix for serialized CUDA build - 2025.3 - - install MaterialX CMake files in expected location - - Update OpenVDB from 12.0.1 to 12.1.0 to allow Ax to build with llvm 16 or newer + - Install MaterialX CMake files in expected location + - Update OpenImageIO from 3.0.9.1 to 3.1.6.2 + - Update OpenVDB from 12.0.1 to 12.1.1 to allow Ax to build with llvm 16 or newer ([#285](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/285)) - 2026.1 - - Update IMath from 3.2.0 to 3.2.1 - - Update OpenVDB from 12.0.1 to 12.1.0 to allow Ax to build with llvm 16 or newer + - Update OpenImageIO from 3.0.9.1 to 3.1.6.2 + - Update IMath from 3.2.0 to 3.2.2 + - Update OpenEXR from 3.4-alpha to 3.4.2 (VFX Platform 2026 version) + - Update OpenColorIO from 2.4.2 to 2.5.0 (VFX Platform 2026 version) + - Update OpenVDB from 12.0.1 to 12.1.1 to allow Ax to build with llvm 16 or newer (does not yet include OpenVDB 13 for VFX Platform 2026) ([#285]https://github.com/AcademySoftwareFoundation/aswf-docker/issues/285) # 2025-08-14 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 779d884c..8f9ac575 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -608,25 +608,28 @@ It is usually a good idea to add this `xyz` package to the `vfxall` library so t Check [#66](https://github.com/AcademySoftwareFoundation/aswf-docker/pull/66) for an example. -### Example of a large re-release of all images +### Example of a large re-release of all supported images ```bash +# Image for building Conan packages +aswfdocker release -t IMAGE -g baseos-gl-conan -v 4 -v 5 -v 6 --target baseos-gl-conan --docker-org aswf -m "RELEASE_NOTES!" + # Common packages -aswfdocker release -t PACKAGE -g common -v 1 -v 2 -v 3 -v 4 -v 5 --target ninja -target cmake --docker-org aswf -m "RELEASE_NOTES!" -aswfdocker release -t PACKAGE -g common -v 1-clang6 -v 1-clang7 -v 1-clang8 -v 1-clang9 -v 1-clang10 -v 2-clang10 -v 2-clang11 -v 3-clang14 -v 3-clang15 -v 4-clang16 -v 4-clang17 -v 5-clang18 -v 5-clang19 --target clang --docker-org aswf -m "RELEASE_NOTES!" +aswfdocker release -t PACKAGE -g common -v 4 -v 5 -v 6 --target ninja -target cmake --docker-org aswf -m "RELEASE_NOTES!" +aswfdocker release -t PACKAGE -g common -v 4-clang16 -v 4-clang17 -v 5-clang18 -v 5-clang19 -v 6-clang19 -v 6-clang20 --target clang --docker-org aswf -m "RELEASE_NOTES!" # Wait for clang builds to finish (from 2 to 3 hours!) # ci-common needs to be built before base packages can be built -aswfdocker release -t IMAGE -g common -v 1-clang6 -v 1-clang7 -v 1-clang8 -v 1-clang9 -v 1-clang10 -v 2-clang10 -v 2-clang11 -v 2-clang12 -v 2-clang13-v 2-clang14 -v 3-clang14 -v 3-clang15 -v 4-clang16 -v 4-clang17 -v 5-clang18 -v 5-clang19 --docker-org aswf -m "RELEASE_NOTES!" +aswfdocker release -t IMAGE -g common -v 4-clang16 -v 4-clang17 -v 5-clang18 -v 5-clang19 -v 6-clang19 -v 6-clang20 --docker-org aswf -m "RELEASE_NOTES!" # Base packages -aswfdocker release -t PACKAGE -g base1-wrappers -v 2018 -v 2019 -v 2020 -v 2021 -v 2022 -v 2023 -v 2024 -v 2025 --docker-org aswf -m "RELEASE_NOTES!" -aswfdocker release -t PACKAGE -g base1-1 -v 2018 -v 2019 -v 2020 -v 2021 -v 2022 -v 2023 -v 2024 -v 2025 --docker-org aswf -m "RELEASE_NOTES!" -aswfdocker release -t PACKAGE -g base1-2 -v 2018 -v 2019 -v 2020 -v 2021 -v 2022 -v 2023 -v 2024 -v 2025 --docker-org aswf -m "RELEASE_NOTES!" -aswfdocker release -t PACKAGE -g base1-3 -v 2018 -v 2019 -v 2020 -v 2021 -v 2022 -v 2023 -v 2024 -v 2025 --docker-org aswf -m "RELEASE_NOTES!" +aswfdocker release -t PACKAGE -g base1-wrappers -v 2024 -v 2025 -v 2026 --docker-org aswf -m "RELEASE_NOTES!" +aswfdocker release -t PACKAGE -g base1-1 -v 2024 -v 2025 -v 2026 --docker-org aswf -m "RELEASE_NOTES!" +aswfdocker release -t PACKAGE -g base1-2 -v 2024 -v 2025 -v 2026 --docker-org aswf -m "RELEASE_NOTES!" +aswfdocker release -t PACKAGE -g base1-3 -v 2024 -v 2025 -v 2026 --docker-org aswf -m "RELEASE_NOTES!" -aswfdocker release -t PACKAGE -g base2-wrappers -g base2-1 -v 2018 -v 2019 -v 2020 -v 2021 -v 2022 -v 2023 -v 2024 -v 2025 --docker-org aswf -m "RELEASE_NOTES!" -aswfdocker release -t PACKAGE -g base2-2 -v 2018 -v 2019 -v 2020 -v 2021 -v 2022 -v 2023 -v 2024 -v 2025 --docker-org aswf -m "RELEASE_NOTES!" +aswfdocker release -t PACKAGE -g base2-wrappers -v 2024 -v 2025 -v 2026 --docker-org aswf -m "RELEASE_NOTES!" +aswfdocker release -t PACKAGE -g base2-2 -v 2024 -v 2025 -v 2026 --docker-org aswf -m "RELEASE_NOTES!" # Wait for Qt builds to finish (2-6 hours!) # Usually some Qt build will fail as too big and too slow for free GitHub actions... So here's how to build qt locally: @@ -638,21 +641,21 @@ docker push aswf/ci-package-qt:preview docker push aswf/ci-package-qt:2025.0 # Once all Qt are out, release PySide packages -aswfdocker release -t PACKAGE -g base3 -v 2018 -v 2019 -v 2020 -v 2021 -v 2022 -v 2023 -v 2024 -v 2025 --docker-org aswf -m "RELEASE_NOTES!" +aswfdocker release -t PACKAGE -g base3 -v 2024 -v 2025 -v 2026 --docker-org aswf -m "RELEASE_NOTES!" # Wait for all Qt and Pyside builds to finish, then build downstream packages: # VFX packages -aswfdocker release -t PACKAGE -g vfx1-wrappers -g vfx1-1 -v 2018 -v 2019 -v 2020 -v 2021 -v 2022 -v 2023 -v 2024 -v 2025 --docker-org aswf -m "RELEASE_NOTES!" -aswfdocker release -t PACKAGE -g vfx1-2 -v 2018 -v 2019 -v 2020 -v 2021 -v 2022 -v 2023 -v 2024 -v 2025 --docker-org aswf -m "RELEASE_NOTES!" -aswfdocker release -t PACKAGE -g vfx1-3 -v 2018 -v 2019 -v 2020 -v 2021 -v 2022 -v 2023 -v 2024 -v 2025 --docker-org aswf -m "RELEASE_NOTES!" -aswfdocker release -t PACKAGE -g vfx1-4 -v 2018 -v 2019 -v 2020 -v 2021 -v 2022 -v 2023 -v 2024 -v 2025 --docker-org aswf -m "RELEASE_NOTES!" -aswfdocker release -t PACKAGE -g vfx1 -v 2018 -v 2019 -v 2020 -v 2021 -v 2022 -v 2023 -v 2024 -v 2025 --docker-org aswf -m "RELEASE_NOTES!" -aswfdocker release -t PACKAGE -g vfx2-1 -v 2018 -v 2019 -v 2020 -v 2021 -v 2022 -v 2023 -v 2024 -v 2025 --docker-org aswf -m "RELEASE_NOTES!" -aswfdocker release -t PACKAGE -g vfx2 -v 2018 -v 2019 -v 2020 -v 2021 -v 2022 -v 2023 -v 2024 -v 2025 --docker-org aswf -m "RELEASE_NOTES!" +aswfdocker release -t PACKAGE -g vfx1-wrappers -g vfx1-1 -v 2024 -v 2025 -v 2026 --docker-org aswf -m "RELEASE_NOTES!" +aswfdocker release -t PACKAGE -g vfx1-2 -v 2024 -v 2025 -v 2026 --docker-org aswf -m "RELEASE_NOTES!" +aswfdocker release -t PACKAGE -g vfx1-3 -v 2024 -v 2025 -v 2026 --docker-org aswf -m "RELEASE_NOTES!" +aswfdocker release -t PACKAGE -g vfx1-4 -v 2024 -v 2025 -v 2026 --docker-org aswf -m "RELEASE_NOTES!" +aswfdocker release -t PACKAGE -g vfx1-5 -v 2024 -v 2025 -v 2026 --docker-org aswf -m "RELEASE_NOTES!" +aswfdocker release -t PACKAGE -g vfx2-1 -v 2024 -v 2025 -v 2026 --docker-org aswf -m "RELEASE_NOTES!" +aswfdocker release -t PACKAGE -g vfx2 -v 2024 -v 2025 -v 2026 --docker-org aswf -m "RELEASE_NOTES!" # Finally build the CI images -aswfdocker release -t IMAGE -g base -v 2018 -v 2019 -v 2020 -v 2021 -v 2022 -v 2023 -v 2024 -v 2025 --docker-org aswf -m "RELEASE_NOTES!" -aswfdocker release -t IMAGE -g vfx1 -v 2018 -v 2019 -v 2020 -v 2021 -v 2022 -v 2023 -v 2024 -v 2025 --docker-org aswf -m "RELEASE_NOTES!" -aswfdocker release -t IMAGE -g vfx2 -v 2018 -v 2019 -v 2020 -v 2021 -v 2022 -v 2023 -v 2024 -v 2025 --docker-org aswf -m "RELEASE_NOTES!" -aswfdocker release -t IMAGE -g vfx3 -v 2018-clang7 -v 2019-clang6 -v 2019-clang7 -v 2019-clang8 -v 2019-clang9 -v 2020-clang7 -v 2021-clang10 -v 2021-clang11 -v 2022-clang10 -v 2022-clang11 -v 2022-clang12 -v 2022-clang13 -v 2022-clang14 -v 2023-clang14 -v 2023-clang15 -v 2024-clang16 -v 2024-clang17 -v 2025-clang18 -v 2025-clang19 --docker-org aswf -m "RELEASE_NOTES!" +aswfdocker release -t IMAGE -g base -v 2024 -v 2025 -v 2026 --docker-org aswf -m "RELEASE_NOTES!" +aswfdocker release -t IMAGE -g vfx1 -v 2024 -v 2025 -v 2026 --docker-org aswf -m "RELEASE_NOTES!" +aswfdocker release -t IMAGE -g vfx2 -v 2024 -v 2025 -v 2026 --docker-org aswf -m "RELEASE_NOTES!" +aswfdocker release -t IMAGE -g vfx3 -v 2024-clang16 -v 2024-clang17 -v 2025-clang18 -v 2025-clang19 -v 2026-clang19 -v 2026-clang20 --docker-org aswf -m "RELEASE_NOTES!" ``` diff --git a/ci-baseos-gl-conan/Dockerfile b/ci-baseos-gl-conan/Dockerfile new file mode 100644 index 00000000..98156256 --- /dev/null +++ b/ci-baseos-gl-conan/Dockerfile @@ -0,0 +1,192 @@ +# syntax=docker/dockerfile:1.10 +# check=skip=InvalidDefaultArgInFrom +# Copyright (c) Contributors to the aswf-docker Project. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +# !!! This file is automatically generated from a template and the `image.yaml` file in the same folder !!! + +ARG ASWF_ORG +ARG ASWF_PKG_ORG +ARG CI_COMMON_VERSION +ARG ASWF_CLANG_MAJOR_VERSION +ARG ASWF_PYSIDE_CLANG_VERSION +ARG ASWF_CONAN_CHANNEL + + +ARG ASWF_CUDA_VERSION +ARG ASWF_OPTIX_VERSION +ARG ASWF_GLVND_VERSION +ARG ASWF_CCACHE_VERSION +ARG ASWF_DTS_VERSION +ARG ASWF_SONAR_VERSION +ARG ASWF_CMAKE_VERSION +ARG ASWF_CONAN_VERSION +ARG ASWF_YQ_VERSION +ARG ASWF_CONAN_PYTHON_VERSION + + + +ARG ASWF_BASEOS_IMAGE +ARG ASWF_BASEOS_DISTRO + + +# Comment out this block to use Conan packages +FROM ${ASWF_BASEOS_IMAGE}:${ASWF_CUDA_VERSION}-runtime-${ASWF_BASEOS_DISTRO} AS ci-baseos-gl-conan + + +ARG ASWF_ORG +ARG ASWF_CONAN_HOME +ARG ASWF_PKG_ORG +ARG ASWF_VERSION +ARG CI_COMMON_VERSION +ARG ASWF_PYSIDE_CLANG_VERSION +ARG ASWF_CONAN_CHANNEL + + +ARG ASWF_DTS_PREFIX + + +ARG ASWF_CUDA_VERSION +ARG ASWF_OPTIX_VERSION +ARG ASWF_GLVND_VERSION +ARG ASWF_CCACHE_VERSION +ARG ASWF_DTS_VERSION +ARG ASWF_SONAR_VERSION +ARG ASWF_CMAKE_VERSION +ARG ASWF_CONAN_VERSION +ARG ASWF_YQ_VERSION +ARG ASWF_CONAN_PYTHON_VERSION + + +LABEL org.opencontainers.image.name="$ASWF_ORG/ci-baseos-gl-conan" +LABEL org.opencontainers.image.title="BaseOS Conan Builder Docker Image" +LABEL org.opencontainers.image.description="Contains: GCC and all base OS libraries" +LABEL org.opencontainers.image.url="http://aswf.io/" +LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/main/ci-baseos-gl-conan/Dockerfile" +LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" +LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" +LABEL org.opencontainers.image.version="${ASWF_VERSION}" + + + +LABEL io.aswf.docker.versions.cuda="$ASWF_CUDA_VERSION" +LABEL io.aswf.docker.versions.optix="$ASWF_OPTIX_VERSION" +LABEL io.aswf.docker.versions.glvnd="$ASWF_GLVND_VERSION" +LABEL io.aswf.docker.versions.ccache="$ASWF_CCACHE_VERSION" +LABEL io.aswf.docker.versions.dts="$ASWF_DTS_VERSION" +LABEL io.aswf.docker.versions.sonar="$ASWF_SONAR_VERSION" +LABEL io.aswf.docker.versions.cmake="$ASWF_CMAKE_VERSION" +LABEL io.aswf.docker.versions.conan="$ASWF_CONAN_VERSION" +LABEL io.aswf.docker.versions.yq="$ASWF_YQ_VERSION" + + +ENV ASWF_ORG=${ASWF_ORG} +ENV ASWF_VERSION=${ASWF_VERSION} +ENV ASWF_INSTALL_PREFIX=/usr/local +ENV ASWF_PYSIDE_CLANG_VERSION=${ASWF_PYSIDE_CLANG_VERSION} + + + +ENV ASWF_DTS_PREFIX=$ASWF_DTS_PREFIX + + +ENV ASWF_CUDA_VERSION=$ASWF_CUDA_VERSION +ENV ASWF_OPTIX_VERSION=$ASWF_OPTIX_VERSION +ENV ASWF_GLVND_VERSION=$ASWF_GLVND_VERSION +ENV ASWF_CCACHE_VERSION=$ASWF_CCACHE_VERSION +ENV ASWF_DTS_VERSION=$ASWF_DTS_VERSION +ENV ASWF_SONAR_VERSION=$ASWF_SONAR_VERSION +ENV ASWF_CMAKE_VERSION=$ASWF_CMAKE_VERSION +ENV ASWF_CONAN_VERSION=$ASWF_CONAN_VERSION +ENV ASWF_YQ_VERSION=$ASWF_YQ_VERSION +ENV ASWF_CONAN_PYTHON_VERSION=$ASWF_CONAN_PYTHON_VERSION + + +COPY ci-baseos-gl-conan/README.md ci-baseos-gl-conan/image.yaml /usr/local/aswf/ + +COPY ../scripts/common/install_cudadevel.sh /tmp/ + +RUN --mount=type=cache,sharing=private,target=/var/cache/yum \ + /tmp/install_cudadevel.sh + +COPY ../scripts/common/install_yumpackages.sh /tmp/ + +RUN --mount=type=cache,sharing=private,target=/var/cache/yum \ + /tmp/install_yumpackages.sh + +COPY scripts/common/install_opengl.sh /tmp/ + +ARG ASWF_BASEOS_DISTRO +ENV ASWF_BASEOS_DISTRO=${ASWF_BASEOS_DISTRO} +RUN /tmp/install_opengl.sh + +ENV NVIDIA_VISIBLE_DEVICES=${NVIDIA_VISIBLE_DEVICES:-all} +ENV NVIDIA_DRIVER_CAPABILITIES=${NVIDIA_DRIVER_CAPABILITIES:+$NVIDIA_DRIVER_CAPABILITIES,}graphics +ENV PKG_CONFIG_PATH=/usr/local/lib/pkgconfig + +COPY scripts/common/install_optix.sh /tmp/ + +RUN /tmp/install_optix.sh + +COPY scripts/common/install_pippackages.sh /tmp/ + +RUN --mount=type=cache,sharing=private,target=/root/.cache/pip \ + /tmp/install_pippackages.sh + +COPY ../scripts/common/install_dev_ccache.sh \ + ../scripts/common/before_build.sh \ + ../scripts/common/copy_new_files.sh \ + ../scripts/common/install_dev_cmake.sh \ + /tmp/ + +ENV DOWNLOADS_DIR=/tmp/downloads \ + CCACHE_DIR=/tmp/ccache \ + ASWF_INSTALL_PREFIX=/usr/local \ + LD_LIBRARY_PATH=/usr/local/lib:/opt/rh/${ASWF_DTS_PREFIX}-${ASWF_DTS_VERSION}/root/usr/lib64:/opt/rh/${ASWF_DTS_PREFIX}-${ASWF_DTS_VERSION}/root/usr/lib:${LD_LIBRARY_PATH} \ + PATH=/opt/aswfbuilder/bin:/usr/local/bin:/opt/rh/${ASWF_DTS_PREFIX}-${ASWF_DTS_VERSION}/root/usr/bin:/opt/app-root/src/bin:/opt/rh/${ASWF_DTS_PREFIX}-${ASWF_DTS_VERSION}/root/usr/bin/:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin + +RUN --mount=type=cache,sharing=private,target=/tmp/downloads \ + /tmp/install_dev_cmake.sh && \ + /tmp/install_dev_ccache.sh + +COPY scripts/common/install_yq.sh /tmp/ + +RUN /tmp/install_yq.sh + +# Merge the previously separate ci-baseos-gl-os and ci-baseos-gl-conan stages: +# we are unlikely to want to iterate on Conan versions separately from the base image, +# and we want to make sure that ci-conan-package-builder always pulls a pre-built +# ci-baseos-gl-conan from Docker Hub rather than rebuilding it locally. + +ARG ASWF_CONAN_VERSION +ARG ASWF_CONAN_PYTHON_VERSION + +ENV ASWF_CONAN_ROOT=/opt/conan + +COPY ../scripts/common/install_conan.sh /tmp/ + +RUN --mount=type=cache,sharing=private,target=/tmp/downloads \ + /tmp/install_conan.sh + + +COPY scripts/common/install_conanpackages.sh /tmp/ + +ARG ASWF_PYTHON_MAJOR_MINOR_VERSION +ENV ASWF_PYTHON_MAJOR_MINOR_VERSION=${ASWF_PYTHON_MAJOR_MINOR_VERSION} + +# conan-only packages +COPY < . +[requires] +EOF + +ENV CONAN_HOME=${ASWF_CONAN_HOME}/.conan2 + + +RUN --mount=type=cache,target=/opt/conan_home/d \ + --mount=type=bind,rw,target=/opt/conan_home/.conan2,source=packages/conan/settings \ + /tmp/install_conanpackages.sh /usr/local ci_common${CI_COMMON_VERSION} baseos-gl-conan + + diff --git a/ci-baseos-gl-conan/README.md b/ci-baseos-gl-conan/README.md new file mode 100644 index 00000000..910a4378 --- /dev/null +++ b/ci-baseos-gl-conan/README.md @@ -0,0 +1,58 @@ + + +# Academy Software Foundation Docker Image + +See [aswf.io](https://aswf.io) and [aswf-docker](https://github.com/AcademySoftwareFoundation/aswf-docker) +for further information, and participate in the discussion on the +[ASWF Slack #wg-ci channel](https://academysoftwarefdn.slack.com/archives/C0169RX7MMK). + +## BaseOS Conan Builder Docker Image + +Contains: GCC and all base OS libraries + +[Docker Image Source](https://github.com/AcademySoftwareFoundation/aswf-docker/blob/main/ci-baseos-gl-conan/Dockerfile) + +## [aswf/ci-baseos-gl-conan:4.4](https://hub.docker.com/r/aswf/ci-baseos-gl-conan/tags?page=1&name=4.4) + +Contains: +* cuda-12.6.3 +* optix-8.0.0 +* glvnd-1.7.0 +* ccache-4.9.1 +* dts-11 +* sonar-7.1.0.4889 +* cmake-3.31.7 +* conan-2.18.1 +* yq-4.45.2 + +## [aswf/ci-baseos-gl-conan:5.3](https://hub.docker.com/r/aswf/ci-baseos-gl-conan/tags?page=1&name=5.3) + +Contains: +* cuda-12.6.3 +* optix-8.0.0 +* glvnd-1.7.0 +* ccache-4.9.1 +* dts-11 +* sonar-7.1.0.4889 +* cmake-3.31.7 +* conan-2.18.1 +* yq-4.45.2 + +## [aswf/ci-baseos-gl-conan:6.1](https://hub.docker.com/r/aswf/ci-baseos-gl-conan/tags?page=1&name=6.1) + +Contains: +* cuda-12.9.1 +* optix-8.0.0 +* glvnd-1.7.0 +* ccache-4.11.3 +* dts-14 +* sonar-7.1.0.4889 +* cmake-4.0.2 +* conan-2.18.1 +* yq-4.45.4 + diff --git a/ci-baseos-gl-conan/image.yaml b/ci-baseos-gl-conan/image.yaml new file mode 100644 index 00000000..7720da2e --- /dev/null +++ b/ci-baseos-gl-conan/image.yaml @@ -0,0 +1,81 @@ +name: "baseos-gl-conan" +title: "BaseOS Conan Builder Docker Image" +description: | + Contains: GCC and all base OS libraries +packages: [] +implicit_packages: + - cuda + - optix + - glvnd + - ccache + - dts + - sonar + - cmake + - conan + - yq +docker_from: ${ASWF_BASEOS_IMAGE}:${ASWF_CUDA_VERSION}-runtime-${ASWF_BASEOS_DISTRO} +docker_package_version: $CI_COMMON_VERSION +docker_commands: | + COPY ../scripts/common/install_cudadevel.sh /tmp/ + + RUN --mount=type=cache,sharing=private,target=/var/cache/yum \ + /tmp/install_cudadevel.sh + + COPY ../scripts/common/install_yumpackages.sh /tmp/ + + RUN --mount=type=cache,sharing=private,target=/var/cache/yum \ + /tmp/install_yumpackages.sh + + COPY scripts/common/install_opengl.sh /tmp/ + + ARG ASWF_BASEOS_DISTRO + ENV ASWF_BASEOS_DISTRO=${ASWF_BASEOS_DISTRO} + RUN /tmp/install_opengl.sh + + ENV NVIDIA_VISIBLE_DEVICES=${NVIDIA_VISIBLE_DEVICES:-all} + ENV NVIDIA_DRIVER_CAPABILITIES=${NVIDIA_DRIVER_CAPABILITIES:+$NVIDIA_DRIVER_CAPABILITIES,}graphics + ENV PKG_CONFIG_PATH=/usr/local/lib/pkgconfig + + COPY scripts/common/install_optix.sh /tmp/ + + RUN /tmp/install_optix.sh + + COPY scripts/common/install_pippackages.sh /tmp/ + + RUN --mount=type=cache,sharing=private,target=/root/.cache/pip \ + /tmp/install_pippackages.sh + + COPY ../scripts/common/install_dev_ccache.sh \ + ../scripts/common/before_build.sh \ + ../scripts/common/copy_new_files.sh \ + ../scripts/common/install_dev_cmake.sh \ + /tmp/ + + ENV DOWNLOADS_DIR=/tmp/downloads \ + CCACHE_DIR=/tmp/ccache \ + ASWF_INSTALL_PREFIX=/usr/local \ + LD_LIBRARY_PATH=/usr/local/lib:/opt/rh/${ASWF_DTS_PREFIX}-${ASWF_DTS_VERSION}/root/usr/lib64:/opt/rh/${ASWF_DTS_PREFIX}-${ASWF_DTS_VERSION}/root/usr/lib:${LD_LIBRARY_PATH} \ + PATH=/opt/aswfbuilder/bin:/usr/local/bin:/opt/rh/${ASWF_DTS_PREFIX}-${ASWF_DTS_VERSION}/root/usr/bin:/opt/app-root/src/bin:/opt/rh/${ASWF_DTS_PREFIX}-${ASWF_DTS_VERSION}/root/usr/bin/:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin + + RUN --mount=type=cache,sharing=private,target=/tmp/downloads \ + /tmp/install_dev_cmake.sh && \ + /tmp/install_dev_ccache.sh + + COPY scripts/common/install_yq.sh /tmp/ + + RUN /tmp/install_yq.sh + + # Merge the previously separate ci-baseos-gl-os and ci-baseos-gl-conan stages: + # we are unlikely to want to iterate on Conan versions separately from the base image, + # and we want to make sure that ci-conan-package-builder always pulls a pre-built + # ci-baseos-gl-conan from Docker Hub rather than rebuilding it locally. + + ARG ASWF_CONAN_VERSION + ARG ASWF_CONAN_PYTHON_VERSION + + ENV ASWF_CONAN_ROOT=/opt/conan + + COPY ../scripts/common/install_conan.sh /tmp/ + + RUN --mount=type=cache,sharing=private,target=/tmp/downloads \ + /tmp/install_conan.sh diff --git a/ci-common/Dockerfile b/ci-common/Dockerfile index b49d5830..5615fb5c 100644 --- a/ci-common/Dockerfile +++ b/ci-common/Dockerfile @@ -64,7 +64,7 @@ ARG ASWF_CONAN_PYTHON_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-common" LABEL org.opencontainers.image.title="Common CI Docker Image" -LABEL org.opencontainers.image.description="Contains: GCC, Clang, CMake, Jinja, ccache and all base OS libraries" +LABEL org.opencontainers.image.description="Contains: GCC, Clang, CMake, Ninja, ccache and all base OS libraries" LABEL org.opencontainers.image.url="http://aswf.io/" LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/main/ci-common/Dockerfile" LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" diff --git a/ci-common/README.md b/ci-common/README.md index 50559246..84671ab9 100644 --- a/ci-common/README.md +++ b/ci-common/README.md @@ -13,7 +13,7 @@ for further information, and participate in the discussion on the ## Common CI Docker Image -Contains: GCC, Clang, CMake, Jinja, ccache and all base OS libraries +Contains: GCC, Clang, CMake, Ninja, ccache and all base OS libraries [Docker Image Source](https://github.com/AcademySoftwareFoundation/aswf-docker/blob/main/ci-common/Dockerfile) diff --git a/ci-common/image.yaml b/ci-common/image.yaml index f9f1964f..3c360a52 100644 --- a/ci-common/image.yaml +++ b/ci-common/image.yaml @@ -1,7 +1,7 @@ name: "common" title: "Common CI Docker Image" description: | - Contains: GCC, Clang, CMake, Jinja, ccache and all base OS libraries + Contains: GCC, Clang, CMake, Ninja, ccache and all base OS libraries packages: - clang - cmake diff --git a/ci-ocio/README.md b/ci-ocio/README.md index 12a867f5..251c1d35 100644 --- a/ci-ocio/README.md +++ b/ci-ocio/README.md @@ -70,7 +70,7 @@ Contains: ## [aswf/ci-ocio:2026.1](https://hub.docker.com/r/aswf/ci-ocio/tags?page=1&name=2026.1) Contains: -* ocio-2.4.2 +* ocio-2.5.0 * numpy-2.3.2 * vfxplatform-2026 diff --git a/ci-oiio/README.md b/ci-oiio/README.md index 9044b640..048d97e3 100644 --- a/ci-oiio/README.md +++ b/ci-oiio/README.md @@ -28,14 +28,14 @@ Contains: ## [aswf/ci-oiio:2025.3](https://hub.docker.com/r/aswf/ci-oiio/tags?page=1&name=2025.3) Contains: -* oiio-3.0.9.1 +* oiio-3.1.6.2 * numpy-1.26.4 * vfxplatform-2025 ## [aswf/ci-oiio:2026.1](https://hub.docker.com/r/aswf/ci-oiio/tags?page=1&name=2026.1) Contains: -* oiio-3.0.9.1 +* oiio-3.1.6.2 * numpy-2.3.2 * vfxplatform-2026 diff --git a/ci-openexr/README.md b/ci-openexr/README.md index 2c055e46..eb93a340 100644 --- a/ci-openexr/README.md +++ b/ci-openexr/README.md @@ -70,7 +70,7 @@ Contains: ## [aswf/ci-openexr:2026.1](https://hub.docker.com/r/aswf/ci-openexr/tags?page=1&name=2026.1) Contains: -* openexr-3.4-alpha +* openexr-3.4.2 * numpy-2.3.2 * vfxplatform-2026 diff --git a/ci-openvdb/README.md b/ci-openvdb/README.md index 422adde2..acd16b29 100644 --- a/ci-openvdb/README.md +++ b/ci-openvdb/README.md @@ -141,7 +141,7 @@ Contains: ## [aswf/ci-openvdb:2025-clang18.3](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2025-clang18.3) Contains: -* openvdb-12.1.0 +* openvdb-12.1.1 * gtest-1.15.2 * numpy-1.26.4 * vfxplatform-2025 @@ -149,7 +149,7 @@ Contains: ## [aswf/ci-openvdb:2025-clang19.3](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2025-clang19.3) Contains: -* openvdb-12.1.0 +* openvdb-12.1.1 * gtest-1.15.2 * numpy-1.26.4 * vfxplatform-2025 @@ -157,7 +157,7 @@ Contains: ## [aswf/ci-openvdb:2026-clang19.1](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2026-clang19.1) Contains: -* openvdb-12.1.0 +* openvdb-12.1.1 * gtest-1.17.0 * numpy-2.3.2 * vfxplatform-2026 @@ -165,7 +165,7 @@ Contains: ## [aswf/ci-openvdb:2026-clang20.1](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2026-clang20.1) Contains: -* openvdb-12.1.0 +* openvdb-12.1.1 * gtest-1.17.0 * numpy-2.3.2 * vfxplatform-2026 diff --git a/ci-osl/README.md b/ci-osl/README.md index 44c05cf7..d369dd86 100644 --- a/ci-osl/README.md +++ b/ci-osl/README.md @@ -268,7 +268,7 @@ Contains: * cpython-3.11.13 * fmt-11.2.0 * imath-3.1.12 -* oiio-3.0.9.1 +* oiio-3.1.6.2 * partio-1.19.0 * pugixml-1.14 * pybind11-2.13.6 @@ -285,7 +285,7 @@ Contains: * cpython-3.11.13 * fmt-11.2.0 * imath-3.1.12 -* oiio-3.0.9.1 +* oiio-3.1.6.2 * partio-1.19.0 * pugixml-1.14 * pybind11-2.13.6 @@ -301,8 +301,8 @@ Contains: Contains: * cpython-3.13.3 * fmt-11.2.0 -* imath-3.2.1 -* oiio-3.0.9.1 +* imath-3.2.2 +* oiio-3.1.6.2 * partio-1.19.0 * pugixml-1.15 * pybind11-2.13.6 @@ -318,8 +318,8 @@ Contains: Contains: * cpython-3.13.3 * fmt-11.2.0 -* imath-3.2.1 -* oiio-3.0.9.1 +* imath-3.2.2 +* oiio-3.1.6.2 * partio-1.19.0 * pugixml-1.15 * pybind11-2.13.6 diff --git a/ci-otio/README.md b/ci-otio/README.md index 84c1a43d..fe0cc0bb 100644 --- a/ci-otio/README.md +++ b/ci-otio/README.md @@ -209,7 +209,7 @@ Contains: * md4c-0.5.2 * qt-6.8.3 * pyside-6.8.3 -* imath-3.2.1 +* imath-3.2.2 * numpy-2.3.2 * vfxplatform-2026 diff --git a/ci-usd/README.md b/ci-usd/README.md index bbcb0122..1777b0b7 100644 --- a/ci-usd/README.md +++ b/ci-usd/README.md @@ -240,7 +240,7 @@ Contains: * openexr-3.3.5 * alembic-1.8.8 * ocio-2.4.2 -* oiio-3.0.9.1 +* oiio-3.1.6.2 * materialx-1.39.3 * numpy-1.26.4 * hdf5-1.14.6 @@ -278,17 +278,17 @@ Contains: * qt-6.8.3 * pyside-6.8.3 * highway-1.2.0 -* imath-3.2.1 +* imath-3.2.2 * lcms-2.17 * libultrahdr-1.4.0 * opensubdiv-3.6.1 * partio-1.19.0 * ptex-2.4.3 * libjxl-0.11.1 -* openexr-3.4-alpha +* openexr-3.4.2 * alembic-1.8.8 -* ocio-2.4.2 -* oiio-3.0.9.1 +* ocio-2.5.0 +* oiio-3.1.6.2 * materialx-1.39.3 * numpy-2.3.2 * hdf5-1.14.6 diff --git a/ci-vfxall/README.md b/ci-vfxall/README.md index 078cca85..1a447367 100644 --- a/ci-vfxall/README.md +++ b/ci-vfxall/README.md @@ -392,10 +392,10 @@ Contains: * alembic-1.8.8 * imath-3.1.12 * openexr-3.3.5 -* oiio-3.0.9.1 +* oiio-3.1.6.2 * ocio-2.4.2 * openfx-1.5s -* openvdb-12.1.0 +* openvdb-12.1.1 * materialx-1.39.3 * usd-25.05.01 * osl-1.14.7.0 @@ -419,10 +419,10 @@ Contains: * alembic-1.8.8 * imath-3.1.12 * openexr-3.3.5 -* oiio-3.0.9.1 +* oiio-3.1.6.2 * ocio-2.4.2 * openfx-1.5s -* openvdb-12.1.0 +* openvdb-12.1.1 * materialx-1.39.3 * usd-25.05.01 * osl-1.14.7.0 @@ -444,12 +444,12 @@ Contains: * opensubdiv-3.6.1 * partio-1.19.0 * alembic-1.8.8 -* imath-3.2.1 -* openexr-3.4-alpha -* oiio-3.0.9.1 -* ocio-2.4.2 +* imath-3.2.2 +* openexr-3.4.2 +* oiio-3.1.6.2 +* ocio-2.5.0 * openfx-1.5s -* openvdb-12.1.0 +* openvdb-12.1.1 * materialx-1.39.3 * usd-25.08 * osl-1.14.7.0 @@ -471,12 +471,12 @@ Contains: * opensubdiv-3.6.1 * partio-1.19.0 * alembic-1.8.8 -* imath-3.2.1 -* openexr-3.4-alpha -* oiio-3.0.9.1 -* ocio-2.4.2 +* imath-3.2.2 +* openexr-3.4.2 +* oiio-3.1.6.2 +* ocio-2.5.0 * openfx-1.5s -* openvdb-12.1.0 +* openvdb-12.1.1 * materialx-1.39.3 * usd-25.08 * osl-1.14.7.0 diff --git a/packages/common/Dockerfile b/packages/common/Dockerfile index 0c310f18..67bbab8b 100644 --- a/packages/common/Dockerfile +++ b/packages/common/Dockerfile @@ -16,96 +16,9 @@ ARG ASWF_OPTIX_VERSION ARG ASWF_DTS_VERSION ARG ASWF_DTS_PREFIX ARG ASWF_NINJA_VERSION -ARG ASWF_BASEOS_DISTRO +ARG ASWF_BASEOS_VERSION ARG ASWF_BASEOS_IMAGE - -#################### ci-baseos-gl-os #################### -FROM ${ASWF_BASEOS_IMAGE}:${ASWF_CUDA_VERSION}-runtime-${ASWF_BASEOS_DISTRO} AS ci-baseos-gl-conan - -ARG CI_COMMON_VERSION -ENV CI_COMMON_VERSION=${CI_COMMON_VERSION} -ARG ASWF_CUDA_VERSION -ENV ASWF_CUDA_VERSION=${ASWF_CUDA_VERSION} -ARG ASWF_OPTIX_VERSION -ENV ASWF_OPTIX_VERSION=${ASWF_OPTIX_VERSION} -ARG ASWF_GLVND_VERSION -ENV ASWF_GLVND_VERSION=${ASWF_GLVND_VERSION} -ARG ASWF_DTS_VERSION -ENV ASWF_DTS_VERSION=${ASWF_DTS_VERSION} -ARG ASWF_DTS_PREFIX -ENV ASWF_DTS_PREFIX=${ASWF_DTS_PREFIX} -ARG ASWF_CMAKE_VERSION -ENV ASWF_CMAKE_VERSION=${ASWF_CMAKE_VERSION} -ARG ASWF_CCACHE_VERSION -ENV ASWF_CCACHE_VERSION=${ASWF_CCACHE_VERSION} -ARG ASWF_YQ_VERSION -ENV ASWF_YQ_VERSION=${ASWF_YQ_VERSION} - -COPY ../scripts/common/install_cudadevel.sh /tmp/ - -RUN --mount=type=cache,sharing=private,target=/var/cache/yum \ - /tmp/install_cudadevel.sh - -COPY ../scripts/common/install_yumpackages.sh /tmp/ - -RUN --mount=type=cache,sharing=private,target=/var/cache/yum \ - /tmp/install_yumpackages.sh - -COPY scripts/common/install_opengl.sh /tmp/ - -ARG ASWF_BASEOS_DISTRO -ENV ASWF_BASEOS_DISTRO=${ASWF_BASEOS_DISTRO} -RUN /tmp/install_opengl.sh - -ENV NVIDIA_VISIBLE_DEVICES=${NVIDIA_VISIBLE_DEVICES:-all} -ENV NVIDIA_DRIVER_CAPABILITIES=${NVIDIA_DRIVER_CAPABILITIES:+$NVIDIA_DRIVER_CAPABILITIES,}graphics -ENV PKG_CONFIG_PATH=/usr/local/lib/pkgconfig - -COPY scripts/common/install_optix.sh /tmp/ - -RUN /tmp/install_optix.sh - -COPY scripts/common/install_pippackages.sh /tmp/ - -RUN --mount=type=cache,sharing=private,target=/root/.cache/pip \ - /tmp/install_pippackages.sh - -COPY ../scripts/common/install_dev_ccache.sh \ - ../scripts/common/before_build.sh \ - ../scripts/common/copy_new_files.sh \ - ../scripts/common/install_dev_cmake.sh \ - /tmp/ - -ENV DOWNLOADS_DIR=/tmp/downloads \ - CCACHE_DIR=/tmp/ccache \ - ASWF_INSTALL_PREFIX=/usr/local \ - LD_LIBRARY_PATH=/usr/local/lib:/opt/rh/${ASWF_DTS_PREFIX}-${ASWF_DTS_VERSION}/root/usr/lib64:/opt/rh/${ASWF_DTS_PREFIX}-${ASWF_DTS_VERSION}/root/usr/lib:${LD_LIBRARY_PATH} \ - PATH=/opt/aswfbuilder/bin:/usr/local/bin:/opt/rh/${ASWF_DTS_PREFIX}-${ASWF_DTS_VERSION}/root/usr/bin:/opt/app-root/src/bin:/opt/rh/${ASWF_DTS_PREFIX}-${ASWF_DTS_VERSION}/root/usr/bin/:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin - -RUN --mount=type=cache,sharing=private,target=/tmp/downloads \ - /tmp/install_dev_cmake.sh && \ - /tmp/install_dev_ccache.sh - -COPY scripts/common/install_yq.sh /tmp/ - -RUN /tmp/install_yq.sh - -# Merge the previously separate ci-baseos-gl-os and ci-baseos-gl-conan stages: -# we are unlikely to want to iterate on Conan versions separately from the base image, -# and we want to make sure that ci-conan-package-builder always pulls a pre-built -# ci-baseos-gl-conan from Docker Hub rather than rebuilding it locally. - -ARG ASWF_CONAN_VERSION -ARG ASWF_CONAN_PYTHON_VERSION - -ENV ASWF_CONAN_ROOT=/opt/conan - -COPY ../scripts/common/install_conan.sh /tmp/ - -RUN --mount=type=cache,sharing=private,target=/tmp/downloads \ - /tmp/install_conan.sh - #################### ci-conan-package-builder #################### FROM ${ASWF_ORG}/ci-baseos-gl-conan:${CI_COMMON_VERSION} AS ci-conan-package-builder diff --git a/packages/conan/recipes/imath/conandata.yml b/packages/conan/recipes/imath/conandata.yml index 764cb520..054822c5 100644 --- a/packages/conan/recipes/imath/conandata.yml +++ b/packages/conan/recipes/imath/conandata.yml @@ -5,6 +5,9 @@ # From: https://github.com/conan-io/conan-center-index/blob/cceee569179c10fa56d1fd9c3582f3371944ba59/recipes/imath/all/conandata.yml sources: + "3.2.2": + url: "https://github.com/AcademySoftwareFoundation/Imath/archive/v3.2.2.tar.gz" + sha256: "b4275d83fb95521510e389b8d13af10298ed5bed1c8e13efd961d91b1105e462" "3.2.1": url: "https://github.com/AcademySoftwareFoundation/Imath/archive/v3.2.1.tar.gz" sha256: "b2c8a44c3e4695b74e9644c76f5f5480767355c6f98cde58ba0e82b4ad8c63ce" diff --git a/packages/conan/recipes/ocio/conandata.yml b/packages/conan/recipes/ocio/conandata.yml index d7bd8fc0..5793b50e 100644 --- a/packages/conan/recipes/ocio/conandata.yml +++ b/packages/conan/recipes/ocio/conandata.yml @@ -5,6 +5,9 @@ # From: https://github.com/conan-io/conan-center-index/blob/9a66422e07df06d2c502501de6e00b8b1213b563/recipes/opencolorio/all/conandata.yml sources: + "2.5.0": + url: "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v2.5.0.tar.gz" + sha256: "124e2bfa8a9071959d6ddbb64ffbf78d3f6fe3c923ae23e96a6bbadde1af55b6" "2.4.2": url: "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v2.4.2.tar.gz" sha256: "2d8f2c47c40476d6e8cea9d878f6601d04f6d5642b47018eaafa9e9f833f3690" @@ -27,6 +30,16 @@ sources: url: "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v1.1.1.tar.gz" sha256: "c9b5b9def907e1dafb29e37336b702fff22cc6306d445a13b1621b8a754c14c8" patches: + "2.5.0": + - patch_file: "patches/2.5.0-0001-fix-cmake-source-dir-and-targets.patch" + patch_description: "use cci package, use PROJECT_BINARY_DIR/PROJECT_SOURCE_DIR" + patch_type: "conan" + - patch_file: "patches/2.5.0-0002-cmake-deps-for-shared-libs.patch" + patch_description: "don't skip cmake dependencies for shared builds" + patch_type: "conan" + - patch_file: "patches/2.5.0-0004-find-python.patch" + patch_description: "We call FindPython3" + patch_type: "conan" "2.4.2": - patch_file: "patches/2.4.2-0001-fix-cmake-source-dir-and-targets.patch" patch_description: "use cci package, use project_binary_dir/project_source_dir" diff --git a/packages/conan/recipes/ocio/patches/2.5.0-0001-fix-cmake-source-dir-and-targets.patch b/packages/conan/recipes/ocio/patches/2.5.0-0001-fix-cmake-source-dir-and-targets.patch new file mode 100644 index 00000000..dea7df90 --- /dev/null +++ b/packages/conan/recipes/ocio/patches/2.5.0-0001-fix-cmake-source-dir-and-targets.patch @@ -0,0 +1,52 @@ +diff --git CMakeLists.txt CMakeLists.txt +index 0eaec4be..e711295c 100755 +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -517,7 +517,7 @@ install( + FILE ${OCIO_TARGETS_EXPORT_NAME} + ) + +-if (NOT BUILD_SHARED_LIBS) ++if (0) + # Install custom macros used in the find modules. + install(FILES + ${CMAKE_CURRENT_LIST_DIR}/share/cmake/macros/VersionUtils.cmake +diff --git share/cmake/modules/FindExtPackages.cmake share/cmake/modules/FindExtPackages.cmake +index accdecec..945c5edc 100644 +--- share/cmake/modules/FindExtPackages.cmake ++++ share/cmake/modules/FindExtPackages.cmake +@@ -131,7 +131,7 @@ + + # lcms2 + # https://github.com/mm2/Little-CMS +- ocio_handle_dependency( lcms2 REQUIRED ALLOW_INSTALL ++ ocio_handle_dependency( lcms REQUIRED ALLOW_INSTALL + MIN_VERSION 2.2 + RECOMMENDED_VERSION 2.17 + RECOMMENDED_VERSION_REASON "Latest version tested with OCIO") +diff --git share/cmake/utils/CppVersion.cmake share/cmake/utils/CppVersion.cmake +index 175d89c2..ac93b87a 100644 +--- share/cmake/utils/CppVersion.cmake ++++ share/cmake/utils/CppVersion.cmake +@@ -16,7 +16,7 @@ elseif(NOT CMAKE_CXX_STANDARD IN_LIST SUPPORTED_CXX_STANDARDS) + "CMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} is unsupported. Supported standards are: ${SUPPORTED_CXX_STANDARDS_STR}.") + endif() + +-set_property(CACHE CMAKE_CXX_STANDARD PROPERTY STRINGS "${SUPPORTED_CXX_STANDARDS}") ++# set_property(CACHE CMAKE_CXX_STANDARD PROPERTY STRINGS "${SUPPORTED_CXX_STANDARDS}") + + include(CheckCXXCompilerFlag) + +diff --git src/apps/ociobakelut/CMakeLists.txt src/apps/ociobakelut/CMakeLists.txt +index 3d6e586b..f7069a1f 100755 +--- src/apps/ociobakelut/CMakeLists.txt ++++ src/apps/ociobakelut/CMakeLists.txt +@@ -29,7 +29,7 @@ set_target_properties(ociobakelut + target_link_libraries(ociobakelut + PRIVATE + apputils +- lcms2::lcms2 ++ lcms::lcms + OpenColorIO + ) + diff --git a/packages/conan/recipes/ocio/patches/2.5.0-0002-cmake-deps-for-shared-libs.patch b/packages/conan/recipes/ocio/patches/2.5.0-0002-cmake-deps-for-shared-libs.patch new file mode 100644 index 00000000..3295b145 --- /dev/null +++ b/packages/conan/recipes/ocio/patches/2.5.0-0002-cmake-deps-for-shared-libs.patch @@ -0,0 +1,13 @@ +diff --git src/cmake/Config.cmake.in src/cmake/Config.cmake.in +index 0eaec4be..e711295c 100755 +--- src/cmake/Config.cmake.in ++++ src/cmake/Config.cmake.in +@@ -2,7 +2,7 @@ + + include(CMakeFindDependencyMacro) + +-if (NOT @BUILD_SHARED_LIBS@) # NOT @BUILD_SHARED_LIBS@ ++if (NOT OFF) # NOT @BUILD_SHARED_LIBS@ + if (APPLE) + # Store the previous value of CMAKE_FIND_FRAMEWORK and CMAKE_FIND_APPBUNDLE. + set(_PREVIOUS_CMAKE_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK}) diff --git a/packages/conan/recipes/ocio/patches/2.5.0-0004-find-python.patch b/packages/conan/recipes/ocio/patches/2.5.0-0004-find-python.patch new file mode 100644 index 00000000..41346114 --- /dev/null +++ b/packages/conan/recipes/ocio/patches/2.5.0-0004-find-python.patch @@ -0,0 +1,26 @@ +diff --git src/bindings/python/CMakeLists.txt src/bindings/python/CMakeLists.txt +index 0eaec4be..e711295c 100755 +--- src/bindings/python/CMakeLists.txt ++++ src/bindings/python/CMakeLists.txt +@@ -216,9 +216,9 @@ + target_compile_definitions(PyOpenColorIO + PRIVATE + PYOCIO_NAME=PyOpenColorIO +- PY_VERSION_MAJOR=${Python_VERSION_MAJOR} +- PY_VERSION_MINOR=${Python_VERSION_MINOR} +- PY_VERSION_PATCH=${Python_VERSION_PATCH} ++ PY_VERSION_MAJOR=${Python3_VERSION_MAJOR} ++ PY_VERSION_MINOR=${Python3_VERSION_MINOR} ++ PY_VERSION_PATCH=${Python3_VERSION_PATCH} + ) + + ############################################################################### +@@ -243,7 +243,7 @@ + if(WIN32) + set(_Python_VARIANT_PATH "${CMAKE_INSTALL_LIBDIR}/site-packages") + else() +- set(_Python_VARIANT_PATH "${CMAKE_INSTALL_LIBDIR}/python${Python_VERSION_MAJOR}.${Python_VERSION_MINOR}/site-packages") ++ set(_Python_VARIANT_PATH "${CMAKE_INSTALL_LIBDIR}/python${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}/site-packages") + endif() + + # Create an internal global variable to access it in another scope but not publicly visible. diff --git a/packages/conan/recipes/oiio/conandata.yml b/packages/conan/recipes/oiio/conandata.yml index 21b89019..99996e0e 100644 --- a/packages/conan/recipes/oiio/conandata.yml +++ b/packages/conan/recipes/oiio/conandata.yml @@ -5,6 +5,9 @@ # From: https://github.com/conan-io/conan-center-index/blob/9a66422e07df06d2c502501de6e00b8b1213b563/recipes/openimageio/all/conandata.yml sources: + "3.1.6.2": + url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v3.1.6.2.tar.gz" + sha256: "a1e515e6a6ea9925a70c23db21dda37f3ce2c24780a6bfedd8685fea063f698a" "3.0.9.1": url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v3.0.9.1.tar.gz" sha256: "bbc5db069b7d8e4e2fccf994d55a262953057745a5e398e44a2e5235a8736d1d" @@ -132,3 +135,13 @@ patches: - patch_file: "patches/3.0.8.1-raw-jp2k-cmake.patch" patch_description: "Find local builds of LibRaw, OpenJPEG" patch_type: "conan" + "3.1.6.2": + - patch_file: "patches/3.1.6.2-cmake-fmt.patch" + patch_description: "Deal with generator expression from fmt Conan package" + patch_type: "conan" + - patch_file: "patches/3.0.8.1-utils-includes-libs.patch" + patch_description: "Missing includes and libs for binaries" + patch_type: "conan" + - patch_file: "patches/3.1.6.2-raw-jp2k-cmake.patch" + patch_description: "Find local builds of LibRaw, OpenJPEG" + patch_type: "conan" diff --git a/packages/conan/recipes/oiio/patches/3.0.8.1-raw-jp2k-cmake.patch b/packages/conan/recipes/oiio/patches/3.0.8.1-raw-jp2k-cmake.patch index a792d55d..2a719b73 100644 --- a/packages/conan/recipes/oiio/patches/3.0.8.1-raw-jp2k-cmake.patch +++ b/packages/conan/recipes/oiio/patches/3.0.8.1-raw-jp2k-cmake.patch @@ -15,7 +15,7 @@ index d99dd79ac..bfda2778a 100644 COMPILE_OPTIONS ${LibRaw_r_DEFINITIONS} DEFINITIONS "USE_LIBRAW=1") else () -diff --git src/raw.jpeg2000/CMakeLists.txt src/raw.jpeg2000/CMakeLists.txt +diff --git src/jpeg2000.imageio/CMakeLists.txt src/jpeg2000.imageio/CMakeLists.txt index d99dd79ac..bfda2778a 100644 --- src/jpeg2000.imageio/CMakeLists.txt +++ src/jpeg2000.imageio/CMakeLists.txt diff --git a/packages/conan/recipes/oiio/patches/3.1.6.2-cmake-fmt.patch b/packages/conan/recipes/oiio/patches/3.1.6.2-cmake-fmt.patch new file mode 100644 index 00000000..69b1d36e --- /dev/null +++ b/packages/conan/recipes/oiio/patches/3.1.6.2-cmake-fmt.patch @@ -0,0 +1,15 @@ +diff --git src/cmake/externalpackages.cmake src/cmake/externalpackages.cmake +index d99dd79ac..bfda2778a 100644 +--- src/cmake/externalpackages.cmake ++++ src/cmake/externalpackages.cmake +@@ -236,7 +236,9 @@ + VERSION_MIN 7.0 + BUILD_LOCAL missing + ) +-get_target_property(FMT_INCLUDE_DIR fmt::fmt-header-only INTERFACE_INCLUDE_DIRECTORIES) ++get_target_property(FMT_INCLUDE_DIR fmt::fmt INTERFACE_INCLUDE_DIRECTORIES) ++# Get rid of generator expression from Conan ++string(REGEX REPLACE "^\\$<\\$:(.*)>$" "\\1" FMT_INCLUDE_DIR "${FMT_INCLUDE_DIR}") + + + ########################################################################### diff --git a/packages/conan/recipes/oiio/patches/3.1.6.2-raw-jp2k-cmake.patch b/packages/conan/recipes/oiio/patches/3.1.6.2-raw-jp2k-cmake.patch new file mode 100644 index 00000000..8055abb5 --- /dev/null +++ b/packages/conan/recipes/oiio/patches/3.1.6.2-raw-jp2k-cmake.patch @@ -0,0 +1,49 @@ +diff --git src/raw.imageio/CMakeLists.txt src/raw.imageio/CMakeLists.txt +index d99dd79ac..bfda2778a 100644 +--- src/raw.imageio/CMakeLists.txt ++++ src/raw.imageio/CMakeLists.txt +@@ -2,10 +2,10 @@ + # SPDX-License-Identifier: Apache-2.0 + # https://github.com/AcademySoftwareFoundation/OpenImageIO + +-if (LIBRAW_FOUND) ++if (LIBRAW_FOUND OR LibRaw_FOUND) + add_oiio_plugin (rawinput.cpp + INCLUDE_DIRS ${LibRaw_INCLUDE_DIR} +- LINK_LIBRARIES ${LibRaw_r_LIBRARIES} ++ LINK_LIBRARIES "libraw::libraw_r" + COMPILE_OPTIONS ${LibRaw_r_DEFINITIONS} + DEFINITIONS "USE_LIBRAW=1") + else () +diff --git src/jpeg2000.imageio/CMakeLists.txt src/jpeg2000.imageio/CMakeLists.txt +index d99dd79ac..bfda2778a 100644 +--- src/jpeg2000.imageio/CMakeLists.txt ++++ src/jpeg2000.imageio/CMakeLists.txt +@@ -2,10 +2,10 @@ + # SPDX-License-Identifier: Apache-2.0 + # https://github.com/AcademySoftwareFoundation/OpenImageIO + +-if (OPENJPEG_FOUND) +- set(_jpeg2000_includes ${OPENJPEG_INCLUDES}) +- set(_jpeg2000_lib_dirs ${OPENJPEG_LIBRARY_DIRS}) +- set(_jpeg2000_libs ${OPENJPEG_LIBRARIES}) ++if (OPENJPEG_FOUND OR OpenJPEG_FOUND) ++ set(_jpeg2000_includes ${OpenJPEG_INCLUDE_DIR}) ++ set(_jpeg2000_lib_dirs ${OpenJPEG_LIBRARY_DIRS}) ++ set(_jpeg2000_libs ${OpenJPEG_LIBRARIES}) + set(_jpeg2000_defs "USE_OPENJPEG") + + if (openjph_FOUND) +diff --git src/cmake/modules/FindLibRaw.cmake src/cmake/FindLibRaw.cmake +index d99dd79ac..bfda2778a 100644 +--- src/cmake/modules/FindLibRaw.cmake ++++ src/cmake/modules/FindLibRaw.cmake +@@ -38,7 +38,7 @@ + ${PC_LIBRAW_LIBRARY_DIRS} + ) + +-find_library(LibRaw_r_LIBRARIES NAMES raw_r ++find_library(LibRaw_r_LIBRARIES NAMES raw_r libraw_r + HINTS + ${LIBRAW_LIBDIR_HINT} + ${PC_LIBRAW_R_LIBDIR} diff --git a/packages/conan/recipes/openexr/conandata.yml b/packages/conan/recipes/openexr/conandata.yml index d1bcbeee..f4e6edd0 100644 --- a/packages/conan/recipes/openexr/conandata.yml +++ b/packages/conan/recipes/openexr/conandata.yml @@ -5,6 +5,15 @@ # From: https://github.com/conan-io/conan-center-index/blob/cceee569179c10fa56d1fd9c3582f3371944ba59/recipes/openexr/3.x/conandata.yml sources: + "3.4.2": + url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.4.2.tar.gz" + sha256: "d7d38eb6a63ea8ba0f301d0ad6a80094032d488e9e6c525b35236d20a9ae3ef2" + "3.4.1": + url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.4.1.tar.gz" + sha256: "0d75aa277c33a4ed1fce2e272126f2d8dbd01adda82d7cf4fe67b99f6f7eedce" + "3.4.0": + url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.4.0.tar.gz" + sha256: "d7b31637d7adc359f5e5a7517ba918cb5997bc1a4ae7a808ec874cdf91da93c0" "3.4-alpha": url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.4-alpha.tar.gz" sha256: "5a78b497576a323979b03a343ad63a253d955462365c67597ab6fcac87e79193" diff --git a/packages/conan/recipes/openvdb/conandata.yml b/packages/conan/recipes/openvdb/conandata.yml index 3800cbfd..a25c0e46 100644 --- a/packages/conan/recipes/openvdb/conandata.yml +++ b/packages/conan/recipes/openvdb/conandata.yml @@ -5,6 +5,9 @@ # From: https://github.com/conan-io/conan-center-index/blob/47ec06eaf213b77bf96c28079434b4fe4446cc46/recipes/openvdb/all/conandata.yml sources: + "12.1.1": + url: "https://github.com/AcademySoftwareFoundation/openvdb/archive/refs/tags/v12.1.1.tar.gz" + sha256: "ccd0ea1669a53c7c13087a08ac5a1351041c4cdd308f6d6f591074a106fcb565" "12.1.0": url: "https://github.com/AcademySoftwareFoundation/openvdb/archive/refs/tags/v12.1.0.tar.gz" sha256: "ebb9652ad1d67274e2c85e6736cced5f04e313c5671ae1ae548f174cc76e9e64" diff --git a/packages/conan/recipes/openvdb/conanfile.py b/packages/conan/recipes/openvdb/conanfile.py index 7384cd6c..29e6a542 100644 --- a/packages/conan/recipes/openvdb/conanfile.py +++ b/packages/conan/recipes/openvdb/conanfile.py @@ -38,6 +38,7 @@ class OpenVDBConan(ConanFile): "fPIC": [True, False], "build_ax": [True, False], "build_binaries": [True, False], # ASWF: build binaries to exercise additional dependencies + "build_tests": [True, False], # ASWF: build tests to exercise additional dependencies "simd": [None, "SSE42", "AVX"], "use_colored_output": [True, False], "use_delayed_loading": [True, False], @@ -54,6 +55,7 @@ class OpenVDBConan(ConanFile): "fPIC": True, "build_ax": True, # ASWF: OpenVDB "build_binaries": True, # ASWF: build binaries to exercise additional dependencies + "build_tests": True, # ASWF: build tests to exercise additional dependencies "simd": None, "use_colored_output": False, "use_delayed_loading": False, @@ -154,8 +156,10 @@ def requirements(self): # log4cplus 2.x is not supported self.requires("log4cplus/1.2.2", transitive_headers=True) if self.options.build_binaries: - self.requires("glfw/3.4") - + self.requires("glfw/3.4") # ASWF: build binaries to exercise additional dependencies + if self.options.build_tests: + self.requires("gtest/1.17.0") # ASWF: build tests to exercise additional dependencies + def _check_compiler_version(self): compiler = str(self.settings.compiler) minimum_version = self._compilers_min_version.get(compiler, False) @@ -201,6 +205,7 @@ def generate(self): tc.variables["Boost_USE_STATIC_LIBS"] = not self.dependencies["boost"].options.shared tc.variables["OPENVDB_BUILD_AX"] = self.options.build_ax tc.variables["OPENVDB_BUILD_BINARIES"] = self.options.build_binaries # ASWF + tc.variables["OPENVDB_BUILD_UNITTESTS"] = self.options.build_tests # ASWF tc.variables["OPENVDB_BUILD_CORE"] = True tc.variables["OPENVDB_BUILD_DOCS"] = False tc.variables["OPENVDB_BUILD_HOUDINI_ABITESTS"] = False @@ -311,6 +316,8 @@ def package_info(self): main_component.requires.append("imath::imath") if self.options.build_binaries: main_component.requires.append("glfw::glfw") + if self.options.build_tests: + main_component.requires.append("gtest::gtest") # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.names["cmake_find_package"] = "OpenVDB" diff --git a/packages/conan/settings/profiles_aswf/vfx2024 b/packages/conan/settings/profiles_aswf/vfx2024 index 091250db..9c0b2db7 100644 --- a/packages/conan/settings/profiles_aswf/vfx2024 +++ b/packages/conan/settings/profiles_aswf/vfx2024 @@ -27,6 +27,7 @@ giflib/*: giflib/5.1.4@aswf/vfx2024 glew/*: glew/2.2.0@aswf/vfx2024 glfw/*: glfw/3.4@aswf/vfx2024 glib/*: glib/2.56.4@aswf/vfx2024 +gtest/*: gtest/1.15.2@aswf/vfx2024 harfbuzz/*: harfbuzz/11.0.1@aswf/vfx2024 hdf5/*: hdf5/1.14.6@aswf/vfx2024 highway/*: highway/1.2.0@aswf/vfx2024 @@ -75,6 +76,7 @@ openexr/*: openexr/3.2.4@aswf/vfx2024 opengl/*: opengl/system@aswf/vfx2024 openjpeg/*: openjpeg/2.4.0@aswf/vfx2024 openssl/*: openssl/system@aswf/vfx2024 +openvdb/*: openvdb/11.0.0@aswf/vfx2024 opus/*: opus/system@aswf/vfx2024 pcre2/*: pcre2/system@aswf/vfx2024 ptex/*: ptex/2.4.2@aswf/vfx2024 diff --git a/packages/conan/settings/profiles_aswf/vfx2025 b/packages/conan/settings/profiles_aswf/vfx2025 index 0e53dfda..5c6cf9cf 100644 --- a/packages/conan/settings/profiles_aswf/vfx2025 +++ b/packages/conan/settings/profiles_aswf/vfx2025 @@ -27,6 +27,7 @@ giflib/*: giflib/5.1.4@aswf/vfx2025 glew/*: glew/2.2.0@aswf/vfx2025 glfw/*: glfw/3.4@aswf/vfx2025 glib/*: glib/2.56.4@aswf/vfx2025 +gtest/*: gtest/1.15.2@aswf/vfx2025 harfbuzz/*: harfbuzz/11.0.1@aswf/vfx2025 hdf5/*: hdf5/1.14.6@aswf/vfx2025 highway/*: highway/1.2.0@aswf/vfx2025 @@ -65,7 +66,7 @@ nlohmann_json/*: nlohmann_json/3.12.0@aswf/vfx2025 nspr/*: nspr/system@aswf/vfx2025 nss/*: nss/3.101.0@aswf/vfx2025 ocio/*: ocio/2.4.2@aswf/vfx2025 -oiio/*: oiio/3.0.9.1@aswf/vfx2025 +oiio/*: oiio/3.1.6.2@aswf/vfx2025 ogg/*: ogg/system@aswf/vfx2025 onetbb/*: onetbb/2021.13.0@aswf/vfx2025 openal-soft/*: openal-soft/system@aswf/vfx2025 @@ -75,6 +76,7 @@ openexr/*: openexr/3.3.5@aswf/vfx2025 opengl/*: opengl/system@aswf/vfx2025 openjpeg/*: openjpeg/2.4.0@aswf/vfx2025 openssl/*: openssl/system@aswf/vfx2025 +openvdb/*: openvdb/12.1.1@aswf/vfx2025 opus/*: opus/system@aswf/vfx2025 pcre2/*: pcre2/system@aswf/vfx2025 ptex/*: ptex/2.4.3@aswf/vfx2025 diff --git a/packages/conan/settings/profiles_aswf/vfx2026 b/packages/conan/settings/profiles_aswf/vfx2026 index 6d51f383..34af375a 100644 --- a/packages/conan/settings/profiles_aswf/vfx2026 +++ b/packages/conan/settings/profiles_aswf/vfx2026 @@ -29,11 +29,12 @@ giflib/*: giflib/5.1.4@aswf/vfx2026 glew/*: glew/2.2.0@aswf/vfx2026 glfw/*: glfw/3.4@aswf/vfx2026 glib/*: glib/2.56.4@aswf/vfx2026 +gtest/*: gtest/1.17.0@aswf/vfx2026 harfbuzz/*: harfbuzz/11.0.1@aswf/vfx2026 hdf5/*: hdf5/1.14.6@aswf/vfx2026 highway/*: highway/1.2.0@aswf/vfx2026 icu/*: icu/system@aswf/vfx2026 -imath/*: imath/3.2.1@aswf/vfx2026 +imath/*: imath/3.2.2@aswf/vfx2026 jasper/*: jasper/4.2.5@aswf/vfx2026 lcms/*: lcms/2.17@aswf/vfx2026 libalsa/*: libalsa/system@aswf/vfx2026 @@ -66,17 +67,18 @@ mpg123/*: mpg123/system@aswf/vfx2026 nlohmann_json/*: nlohmann_json/3.12.0@aswf/vfx2026 nspr/*: nspr/system@aswf/vfx2026 nss/*: nss/3.101.0@aswf/vfx2026 -ocio/*: ocio/2.4.2@aswf/vfx2026 -oiio/*: oiio/3.0.9.1@aswf/vfx2026 +ocio/*: ocio/2.5.0@aswf/vfx2026 +oiio/*: oiio/3.1.6.2@aswf/vfx2026 ogg/*: ogg/system@aswf/vfx2026 onetbb/*: onetbb/2022.1.0@aswf/vfx2026 openal-soft/*: openal-soft/system@aswf/vfx2026 opencl-headers/*: opencl-headers/system@aswf/vfx2026 opencl-icd-loader/*: opencl-icd-loader/system@aswf/vfx2026 -openexr/*: openexr/3.4-alpha@aswf/vfx2026 +openexr/*: openexr/3.4.2@aswf/vfx2026 opengl/*: opengl/system@aswf/vfx2026 openjpeg/*: openjpeg/2.4.0@aswf/vfx2026 openssl/*: openssl/system@aswf/vfx2026 +openvdb/*: openvdb/12.1.1@aswf/vfx2026 opus/*: opus/system@aswf/vfx2026 pcre2/*: pcre2/system@aswf/vfx2026 ptex/*: ptex/2.4.3@aswf/vfx2026 diff --git a/packages/conan/settings/profiles_aswftesting/vfx2024 b/packages/conan/settings/profiles_aswftesting/vfx2024 index 4faddc8d..9aed6ef7 100644 --- a/packages/conan/settings/profiles_aswftesting/vfx2024 +++ b/packages/conan/settings/profiles_aswftesting/vfx2024 @@ -27,6 +27,7 @@ giflib/*: giflib/5.1.4@aswftesting/vfx2024 glew/*: glew/2.2.0@aswftesting/vfx2024 glfw/*: glfw/3.4@aswftesting/vfx2024 glib/*: glib/2.56.4@aswftesting/vfx2024 +gtest/*: gtest/1.15.2@aswftesting/vfx2024 harfbuzz/*: harfbuzz/11.0.1@aswftesting/vfx2024 hdf5/*: hdf5/1.14.6@aswftesting/vfx2024 highway/*: highway/1.2.0@aswftesting/vfx2024 @@ -75,6 +76,7 @@ openexr/*: openexr/3.2.4@aswftesting/vfx2024 opengl/*: opengl/system@aswftesting/vfx2024 openjpeg/*: openjpeg/2.4.0@aswftesting/vfx2024 openssl/*: openssl/system@aswftesting/vfx2024 +openvdb/*: openvdb/11.0.0@aswftesting/vfx2024 opus/*: opus/system@aswftesting/vfx2024 pcre2/*: pcre2/system@aswftesting/vfx2024 ptex/*: ptex/2.4.2@aswftesting/vfx2024 diff --git a/packages/conan/settings/profiles_aswftesting/vfx2025 b/packages/conan/settings/profiles_aswftesting/vfx2025 index 18b27328..fe1f317f 100644 --- a/packages/conan/settings/profiles_aswftesting/vfx2025 +++ b/packages/conan/settings/profiles_aswftesting/vfx2025 @@ -27,6 +27,7 @@ giflib/*: giflib/5.1.4@aswftesting/vfx2025 glew/*: glew/2.2.0@aswftesting/vfx2025 glfw/*: glfw/3.4@aswftesting/vfx2025 glib/*: glib/2.56.4@aswftesting/vfx2025 +gtest/*: gtest/1.15.2@aswftesting/vfx2025 harfbuzz/*: harfbuzz/11.0.1@aswftesting/vfx2025 hdf5/*: hdf5/1.14.6@aswftesting/vfx2025 highway/*: highway/1.2.0@aswftesting/vfx2025 @@ -65,7 +66,7 @@ nlohmann_json/*: nlohmann_json/3.12.0@aswftesting/vfx2025 nspr/*: nspr/system@aswftesting/vfx2025 nss/*: nss/3.101.0@aswftesting/vfx2025 ocio/*: ocio/2.4.2@aswftesting/vfx2025 -oiio/*: oiio/3.0.9.1@aswftesting/vfx2025 +oiio/*: oiio/3.1.6.2@aswftesting/vfx2025 ogg/*: ogg/system@aswftesting/vfx2025 onetbb/*: onetbb/2021.13.0@aswftesting/vfx2025 openal-soft/*: openal-soft/system@aswftesting/vfx2025 @@ -75,6 +76,7 @@ openexr/*: openexr/3.3.5@aswftesting/vfx2025 opengl/*: opengl/system@aswftesting/vfx2025 openjpeg/*: openjpeg/2.4.0@aswftesting/vfx2025 openssl/*: openssl/system@aswftesting/vfx2025 +openvdb/*: openvdb/12.1.1@aswftesting/vfx2025 opus/*: opus/system@aswftesting/vfx2025 pcre2/*: pcre2/system@aswftesting/vfx2025 ptex/*: ptex/2.4.3@aswftesting/vfx2025 diff --git a/packages/conan/settings/profiles_aswftesting/vfx2026 b/packages/conan/settings/profiles_aswftesting/vfx2026 index 67546048..04ebadcc 100644 --- a/packages/conan/settings/profiles_aswftesting/vfx2026 +++ b/packages/conan/settings/profiles_aswftesting/vfx2026 @@ -29,11 +29,12 @@ giflib/*: giflib/5.1.4@aswftesting/vfx2026 glew/*: glew/2.2.0@aswftesting/vfx2026 glfw/*: glfw/3.4@aswftesting/vfx2026 glib/*: glib/2.56.4@aswftesting/vfx2026 +gtest/*: gtest/1.17.0@aswftesting/vfx2026 harfbuzz/*: harfbuzz/11.0.1@aswftesting/vfx2026 hdf5/*: hdf5/1.14.6@aswftesting/vfx2026 highway/*: highway/1.2.0@aswftesting/vfx2026 icu/*: icu/system@aswftesting/vfx2026 -imath/*: imath/3.2.1@aswftesting/vfx2026 +imath/*: imath/3.2.2@aswftesting/vfx2026 jasper/*: jasper/4.2.5@aswftesting/vfx2026 lcms/*: lcms/2.17@aswftesting/vfx2026 libalsa/*: libalsa/system@aswftesting/vfx2026 @@ -66,17 +67,18 @@ mpg123/*: mpg123/system@aswftesting/vfx2026 nlohmann_json/*: nlohmann_json/3.12.0@aswftesting/vfx2026 nspr/*: nspr/system@aswftesting/vfx2026 nss/*: nss/3.101.0@aswftesting/vfx2026 -ocio/*: ocio/2.4.2@aswftesting/vfx2026 -oiio/*: oiio/3.0.9.1@aswftesting/vfx2026 +ocio/*: ocio/2.5.0@aswftesting/vfx2026 +oiio/*: oiio/3.1.6.2@aswftesting/vfx2026 ogg/*: ogg/system@aswftesting/vfx2026 onetbb/*: onetbb/2022.1.0@aswftesting/vfx2026 openal-soft/*: openal-soft/system@aswftesting/vfx2026 opencl-headers/*: opencl-headers/system@aswftesting/vfx2026 opencl-icd-loader/*: opencl-icd-loader/system@aswftesting/vfx2026 -openexr/*: openexr/3.4-alpha@aswftesting/vfx2026 +openexr/*: openexr/3.4.2@aswftesting/vfx2026 opengl/*: opengl/system@aswftesting/vfx2026 openjpeg/*: openjpeg/2.4.0@aswftesting/vfx2026 openssl/*: openssl/system@aswftesting/vfx2026 +openvdb/*: openvdb/12.1.1@aswftesting/vfx2026 opus/*: opus/system@aswftesting/vfx2026 pcre2/*: pcre2/system@aswftesting/vfx2026 ptex/*: ptex/2.4.3@aswftesting/vfx2026 diff --git a/python/aswfdocker/builder.py b/python/aswfdocker/builder.py index af2b75e9..f2eec32f 100644 --- a/python/aswfdocker/builder.py +++ b/python/aswfdocker/builder.py @@ -133,9 +133,7 @@ def make_bake_dict( ], } if self.group_info.type == constants.ImageType.PACKAGE: - if use_conan: - target_dict["target"] = "ci-baseos-gl-conan" - else: + if not use_conan: target_dict["target"] = image root["target"][f"{image}-{major_version}"] = target_dict @@ -275,11 +273,8 @@ def _build_conan_package( # target.target=ci-conan-package-builder : see packages/common/Dockerfile for the Conan # build container which runs: # - # - conan user (conditional) # - conan create - # - conan alias # - conan upload main version (conditional) - # - conan upload latest alias version (conditional) # # not sure about ci-package-{image}-{major_version} # @@ -318,9 +313,15 @@ def build( path = self.make_bake_jsonfile(build_missing, no_remote) if path: - self._run( - f"docker buildx bake -f {path} --progress {progress}", dry_run=dry_run - ) + # FIXME: not elegant but should save a lot of build time + # and skip rebuilding ci-baseos-gl-conan for every Conan package + # being released. Assumes ci-baseos-gl-conan image has already been + # built and pushed to Docker Hub + if not (self.use_conan and self.push): + self._run( + f"docker buildx bake -f {path} --progress {progress}", + dry_run=dry_run, + ) if not self.use_conan or self.group_info.type == constants.ImageType.IMAGE: return diff --git a/python/aswfdocker/data/ci-image-dockerfile.jinja2 b/python/aswfdocker/data/ci-image-dockerfile.jinja2 index a7f40017..a3de03ae 100644 --- a/python/aswfdocker/data/ci-image-dockerfile.jinja2 +++ b/python/aswfdocker/data/ci-image-dockerfile.jinja2 @@ -11,7 +11,7 @@ ARG CI_COMMON_VERSION ARG ASWF_CLANG_MAJOR_VERSION ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL -{% if name != "common" %} +{% if name != "common" and name != "baseos-gl-conan" %} ARG ASWF_VFXPLATFORM_VERSION {% endif %} @@ -29,7 +29,7 @@ ARG {{ arg }} {% endfor -%} {% endfor %} -{% if name == "common" %} +{% if name == "common" or name == "baseos-gl-conan" %} ARG ASWF_BASEOS_IMAGE ARG ASWF_BASEOS_DISTRO {% endif %} @@ -53,7 +53,7 @@ ARG CI_COMMON_VERSION ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL -{% if name == "common" %} +{% if name == "common" or name == "baseos-gl-conan" %} ARG ASWF_DTS_PREFIX {% endif %} @@ -80,7 +80,7 @@ LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation" LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group" LABEL org.opencontainers.image.version="${ASWF_VERSION}" -{% if name != "common" %} +{% if name != "common" and name != "baseos-gl-conan" %} LABEL com.vfxplatform.version="${ASWF_VFXPLATFORM_VERSION}" {% endif %} @@ -94,7 +94,7 @@ ENV ASWF_INSTALL_PREFIX=/usr/local ENV ASWF_PYSIDE_CLANG_VERSION=${ASWF_PYSIDE_CLANG_VERSION} -{% if name != "common" %} +{% if name != "common" and name != "baseos-gl-conan" %} ENV ASWF_VFXPLATFORM_VERSION=${ASWF_VFXPLATFORM_VERSION} {% else %} ENV ASWF_DTS_PREFIX=$ASWF_DTS_PREFIX @@ -150,7 +150,7 @@ EOF ENV CONAN_HOME=${ASWF_CONAN_HOME}/.conan2 -{% if name != "common" %} +{% if name != "common" and name != "baseos-gl-conan" %} RUN --mount=type=cache,target=/opt/conan_home/d \ --mount=type=bind,rw,target=/opt/conan_home/.conan2,source=packages/conan/settings \ /tmp/install_conanpackages.sh /usr/local vfx${ASWF_VFXPLATFORM_VERSION} {{ name }} diff --git a/python/aswfdocker/data/versions.yaml b/python/aswfdocker/data/versions.yaml index 2bbe1c72..a48baa43 100644 --- a/python/aswfdocker/data/versions.yaml +++ b/python/aswfdocker/data/versions.yaml @@ -758,11 +758,11 @@ versions: ASWF_MATERIALX_VERSION: "1.39.3" ASWF_OCIO_CONFIGS_VERSION: "1.0_r2" ASWF_OCIO_VERSION: "2.4.2" - ASWF_OIIO_VERSION: "3.0.9.1" + ASWF_OIIO_VERSION: "3.1.6.2" ASWF_OPENEXR_VERSION: "3.3.5" ASWF_OPENFX_VERSION: "1.5s" ASWF_OPENRV_VERSION: "2.1.0" - ASWF_OPENVDB_VERSION: "12.1.0" + ASWF_OPENVDB_VERSION: "12.1.1" ASWF_OSL_VERSION: "1.14.7.0" ASWF_OTIO_VERSION: "0.17.0" ASWF_RAWTOACES_VERSION: "1.1.0" @@ -890,15 +890,15 @@ versions: ASWF_VFXPLATFORM_VERSION: "2026" ASWF_CXX_STANDARD: "20" # ASWF packages - ASWF_IMATH_VERSION: "3.2.1" + ASWF_IMATH_VERSION: "3.2.2" ASWF_MATERIALX_VERSION: "1.39.3" ASWF_OCIO_CONFIGS_VERSION: "1.0_r2" - ASWF_OCIO_VERSION: "2.4.2" - ASWF_OIIO_VERSION: "3.0.9.1" - ASWF_OPENEXR_VERSION: "3.4-alpha" + ASWF_OCIO_VERSION: "2.5.0" + ASWF_OIIO_VERSION: "3.1.6.2" + ASWF_OPENEXR_VERSION: "3.4.2" ASWF_OPENFX_VERSION: "1.5s" ASWF_OPENRV_VERSION: "2.1.0" - ASWF_OPENVDB_VERSION: "12.1.0" + ASWF_OPENVDB_VERSION: "12.1.1" ASWF_OSL_VERSION: "1.14.7.0" ASWF_OTIO_VERSION: "0.17.0" ASWF_RAWTOACES_VERSION: "1.1.0" @@ -914,6 +914,7 @@ versions: ci_common_version: "6" ci-packages: + clang: - "1-clang6.2" - "1-clang7.2" @@ -1510,6 +1511,10 @@ ci-packages: - "2026.1" ci-images: + baseos-gl-conan: + - "4.4" + - "5.3" + - "6.1" common: - "1-clang6.8" - "1-clang7.8" @@ -1679,7 +1684,7 @@ ci-images: groups: package: - common: + common: - clang - cmake - ninja @@ -1810,6 +1815,8 @@ groups: review: - openrv image: + baseos-gl-conan: + - baseos-gl-conan common: - common base: diff --git a/python/aswfdocker/tests/test_builder.py b/python/aswfdocker/tests/test_builder.py index a666cf52..3c2de817 100644 --- a/python/aswfdocker/tests/test_builder.py +++ b/python/aswfdocker/tests/test_builder.py @@ -501,16 +501,13 @@ def test_builderlist_cli_conan(self): "--ci-image-type", "PACKAGE", "--version", - "2019", + "2025", "--version", - "2020", + "2026", "--target", "openexr", "--dry-run", "--use-conan", - "--keep-source", - "--keep-build", - "--conan-login", "--build-missing", "--push", "YES", @@ -518,30 +515,24 @@ def test_builderlist_cli_conan(self): ) self.assertFalse(result.exception, msg=result.output) bake_path = os.path.join( - tempfile.gettempdir(), "docker-bake-PACKAGE-vfx1-2-2019-2020.json" + tempfile.gettempdir(), "docker-bake-PACKAGE-vfx1-2-2025-2026.json" ) cmds = result.output.strip().splitlines() - # We expect 3 steps - # 1 - docker buildx to build the non-Conan packages - # 2 - docker buildx to build and upload (2x for each openexr package) - self.assertEqual(len(cmds), 3) - self.assertEqual( - cmds[self._i], - f"INFO:aswfdocker.builder:Would run: 'docker buildx bake -f {bake_path} --progress auto'", - ) - self._i += 1 + # We expect 2 steps: + # docker buildx to build and upload (2x for each openexr package) + self.assertEqual(len(cmds), 2) self.assertEqual( cmds[self._i], f"INFO:aswfdocker.builder:Would run: 'docker buildx bake -f {bake_path} " + "--set=*.output=type=cacheonly --set=*.target.target=ci-conan-package-builder " - + "--progress auto ci-package-openexr-2019'", + + "--progress auto ci-package-openexr-2025'", ) self._i += 1 self.assertEqual( cmds[self._i], f"INFO:aswfdocker.builder:Would run: 'docker buildx bake -f {bake_path} " + "--set=*.output=type=cacheonly --set=*.target.target=ci-conan-package-builder " - + "--progress auto ci-package-openexr-2020'", + + "--progress auto ci-package-openexr-2026'", ) self._i += 1 self.assertEqual(result.exit_code, 0) diff --git a/python/aswfdocker/tests/test_index.py b/python/aswfdocker/tests/test_index.py index 269c0c51..698418e1 100644 --- a/python/aswfdocker/tests/test_index.py +++ b/python/aswfdocker/tests/test_index.py @@ -21,10 +21,10 @@ def test_iter_images(self): def test_get_versions(self): images = list(self.index.iter_images(constants.ImageType.IMAGE)) self.assertGreater(len(images), 1) - self.assertEqual(images[0], "common") + self.assertEqual(images[0], "baseos-gl-conan") versions = list(self.index.iter_versions(constants.ImageType.IMAGE, images[0])) self.assertGreaterEqual(len(versions), 1) - self.assertTrue(versions[0].startswith("1-clang")) + self.assertTrue(versions[0].startswith("4")) def test_version_info(self): vi = self.index.version_info("2019") diff --git a/python/aswfdocker/tests/test_utils.py b/python/aswfdocker/tests/test_utils.py index 9583c87c..5f928bac 100644 --- a/python/aswfdocker/tests/test_utils.py +++ b/python/aswfdocker/tests/test_utils.py @@ -168,10 +168,10 @@ def test_cli_images(self): self.assertEqual(result.exit_code, 0) imgs = result.output.split("\n") self.assertGreater(len(imgs), 15) - common_version = list( - index.Index().iter_versions(constants.ImageType.IMAGE, "common") + baseos_gl_conan_version = list( + index.Index().iter_versions(constants.ImageType.IMAGE, "baseos-gl-conan") )[0] self.assertEqual( imgs[0], - f"common/ci-common:{common_version}", + f"baseos-gl-conan/ci-baseos-gl-conan:{baseos_gl_conan_version}", ) diff --git a/scripts/common/install_conanpackages.sh b/scripts/common/install_conanpackages.sh index 71f20bb1..dbcd0df4 100755 --- a/scripts/common/install_conanpackages.sh +++ b/scripts/common/install_conanpackages.sh @@ -30,6 +30,8 @@ if (( $VFXYEAR < 2023 )); then else # Escape / or & in install dir for use in regexp ESCAPED_PATH=$(printf '%s' "$1" | sed 's/[\/&]/\\&/g') + # In case we don't actually install anything + mkdir -p $1/full_deploy/host # Extract references from conanfile.txt and install them by reference for CONANREF in $(awk 'NR == 1, /\[requires\]/ { next } /^[^#]/ { print }' conanfile.txt) do diff --git a/scripts/vfx/build_openvdb.sh b/scripts/vfx/build_openvdb.sh index 825220df..f51ce8e4 100755 --- a/scripts/vfx/build_openvdb.sh +++ b/scripts/vfx/build_openvdb.sh @@ -48,10 +48,10 @@ cmake \ -DGLFW3_LOCATION="${ASWF_INSTALL_PREFIX}" \ -DUSE_GLFW3=ON \ -DGLFW3_USE_STATIC_LIBS=ON \ - -DOPENVDB_BUILD_UNITTESTS=OFF \ + -DOPENVDB_BUILD_UNITTESTS=ON \ -DOPENVDB_BUILD_VDB_LOD=ON \ -DOPENVDB_BUILD_VDB_RENDER=ON \ - -DOPENVDB_BUILD_VDB_VIEW=OFF \ + -DOPENVDB_BUILD_VDB_VIEW=ON \ .. make -j$(nproc) From 1d0482d785e83e99ae94fb371e5d3adf6355e4a8 Mon Sep 17 00:00:00 2001 From: Jean-Francois Panisset Date: Sun, 26 Oct 2025 14:52:17 -0700 Subject: [PATCH 3/8] Fix docker-builds.yml indentation and group name Signed-off-by: Jean-Francois Panisset --- .github/workflows/docker-builds.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/docker-builds.yml b/.github/workflows/docker-builds.yml index 3be8aff0..1bcb3278 100644 --- a/.github/workflows/docker-builds.yml +++ b/.github/workflows/docker-builds.yml @@ -75,18 +75,18 @@ jobs: dpkg -l - name: Build Conan Builder Image - run: | - set -ex - pipenv run aswfdocker \ - --repo-uri $GITHUB_REPOSITORY \ - --source-branch $GITHUB_REF \ - --verbose \ - build \ - --ci-image-type IMAGE \ - --group common \ - --version ${{ matrix.common_version_noclang }} \ - --push NO - --target ci-baseos-gl-conan + run: | + set -ex + pipenv run aswfdocker \ + --repo-uri $GITHUB_REPOSITORY \ + --source-branch $GITHUB_REF \ + --verbose \ + build \ + --ci-image-type IMAGE \ + --group baseos-gl-conan \ + --version ${{ matrix.common_version_noclang }} \ + --push NO + --target ci-baseos-gl-conan - name: Build Ninja and CMake (Conan) run: | From a044abceb89ed311bd3b9ac814402cd907e3643f Mon Sep 17 00:00:00 2001 From: Jean-Francois Panisset Date: Sun, 26 Oct 2025 19:13:40 -0700 Subject: [PATCH 4/8] Fix typo in GHA docker build Signed-off-by: Jean-Francois Panisset --- .github/workflows/docker-builds.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/docker-builds.yml b/.github/workflows/docker-builds.yml index 1bcb3278..f1c86223 100644 --- a/.github/workflows/docker-builds.yml +++ b/.github/workflows/docker-builds.yml @@ -86,7 +86,6 @@ jobs: --group baseos-gl-conan \ --version ${{ matrix.common_version_noclang }} \ --push NO - --target ci-baseos-gl-conan - name: Build Ninja and CMake (Conan) run: | From d17cb0e883d0264a8bc95f4b2834eed85119478b Mon Sep 17 00:00:00 2001 From: Jean-Francois Panisset Date: Mon, 27 Oct 2025 07:41:54 -0700 Subject: [PATCH 5/8] More CI build fixes Signed-off-by: Jean-Francois Panisset --- .github/workflows/docker-builds.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/docker-builds.yml b/.github/workflows/docker-builds.yml index f1c86223..1c3914ab 100644 --- a/.github/workflows/docker-builds.yml +++ b/.github/workflows/docker-builds.yml @@ -98,7 +98,6 @@ jobs: --ci-image-type PACKAGE \ --group common \ --version ${{ matrix.common_version_noclang }} \ - --version ${{ matrix.common_version }} \ --use-conan \ --build-missing \ --target ninja \ @@ -114,7 +113,6 @@ jobs: build \ --ci-image-type PACKAGE \ --group common \ - --version ${{ matrix.common_version_noclang }} \ --version ${{ matrix.common_version }} \ --use-conan \ --build-missing \ From 53a714be4d3bc91a9201d054caf67c01dda8d1ce Mon Sep 17 00:00:00 2001 From: Jean-Francois Panisset Date: Mon, 27 Oct 2025 12:51:35 -0700 Subject: [PATCH 6/8] No more special case build for the baseos-gl-container image Signed-off-by: Jean-Francois Panisset --- python/aswfdocker/builder.py | 83 +++++++------------------ python/aswfdocker/tests/test_builder.py | 11 +--- 2 files changed, 25 insertions(+), 69 deletions(-) diff --git a/python/aswfdocker/builder.py b/python/aswfdocker/builder.py index f2eec32f..5445064e 100644 --- a/python/aswfdocker/builder.py +++ b/python/aswfdocker/builder.py @@ -230,41 +230,7 @@ def _build_conan_package( progress, bake_jsonfile, ): - # pylint: disable=consider-using-f-string major_version = utils.get_major_version(version) - # version_info = self.index.version_info(major_version) - # base_cmd = self._get_conan_base_cmd(version_info) - # if conan_login: - # # "conan remote auth" stores credentials in - # # ${CONAN_HOME]/credentials.json but we don't have a simple way to persist - # # this file between build steps, since instead we will use the secrets mechanism - # # in the buildx bake file to pass the CONAN_LOGIN_USERNAME and CONAN_PASSWORD - # # values as environment variables to allow `conan upload" to authenticate on the fly. - # self._run_in_docker( - # base_cmd, - # [ - # "conan", - # "remote", - # "auth", - # self.build_info.docker_org, - # ], - # dry_run, - # ) - - # These are kept for reference, they now live in - # packages/common/Dockerfile - # - # full_version = version_info.package_versions.get( - # "ASWF_" + image.upper() + "_VERSION" - # ) - # conan_version = ( - # f"{image}/{full_version}" - # f"@{self.build_info.docker_org}/{version_info.conan_profile}" - # ) - # alias_version = ( - # f"{image}/latest" - # f"@{self.build_info.docker_org}/{version_info.conan_profile}" - # ) # buildx bake --set allows us to override settings in the bake file and avoid having # to rewrite it. @@ -276,13 +242,10 @@ def _build_conan_package( # - conan create # - conan upload main version (conditional) # - # not sure about ci-package-{image}-{major_version} - # - # Make pylint / pytest happy, they get confused by f-string runcmd = ( - "docker buildx bake -f {} --set=*.output=type=cacheonly " - "--set=*.target.target=ci-conan-package-builder --progress {} " - "ci-package-{}-{}".format(bake_jsonfile, progress, image, major_version) + f"docker buildx bake -f {bake_jsonfile} --set=*.output=type=cacheonly " + f"--set=*.target.target=ci-conan-package-builder --progress {progress} " + f"ci-package-{image}-{major_version}" ) self._run( @@ -313,28 +276,26 @@ def build( path = self.make_bake_jsonfile(build_missing, no_remote) if path: - # FIXME: not elegant but should save a lot of build time - # and skip rebuilding ci-baseos-gl-conan for every Conan package - # being released. Assumes ci-baseos-gl-conan image has already been - # built and pushed to Docker Hub - if not (self.use_conan and self.push): + if not self.use_conan: self._run( f"docker buildx bake -f {path} --progress {progress}", dry_run=dry_run, ) - if not self.use_conan or self.group_info.type == constants.ImageType.IMAGE: - return - - conan_base = os.path.join(utils.get_git_top_level(), "packages", "conan") - for image, version in images_and_versions: - recipe_path = os.path.join(conan_base, "recipes", image) - if not os.path.exists(recipe_path): - logger.warning("Recipe for %s not found: skipping!", image) - continue - self._build_conan_package( - image, - version, - dry_run, - progress, - path, - ) + else: + conan_base = os.path.join( + utils.get_git_top_level(), "packages", "conan" + ) + # As of Conan 2.18, parallel builds are still not supported and can result in + # database lock failures, so we have to build sequentially. + for image, version in images_and_versions: + recipe_path = os.path.join(conan_base, "recipes", image) + if not os.path.exists(recipe_path): + logger.warning("Recipe for %s not found: skipping!", image) + continue + self._build_conan_package( + image, + version, + dry_run, + progress, + path, + ) diff --git a/python/aswfdocker/tests/test_builder.py b/python/aswfdocker/tests/test_builder.py index 3c2de817..30e4cd8e 100644 --- a/python/aswfdocker/tests/test_builder.py +++ b/python/aswfdocker/tests/test_builder.py @@ -427,16 +427,11 @@ def test_builder_cli_conan(self): tempfile.gettempdir(), "docker-bake-PACKAGE-vfx1-2-2019.json" ) cmds = result.output.strip().splitlines() - # Expect 2 lines of output - # 1 - docker buildx bake for the Docker packages - # 2 - docker buildx bake for the conan packages (no login or upload) - self.assertEqual(len(cmds), 2) + # Expect 1 lines of output + # 1 - docker buildx bake for the conan packages (no login or upload) + self.assertEqual(len(cmds), 1) self.assertEqual( cmds[0], - f"INFO:aswfdocker.builder:Would run: 'docker buildx bake -f {bake_path} --progress auto'", - ) - self.assertEqual( - cmds[1], f"INFO:aswfdocker.builder:Would run: 'docker buildx bake -f {bake_path} " + "--set=*.output=type=cacheonly --set=*.target.target=ci-conan-package-builder " + "--progress auto ci-package-openexr-2019'", From aaa1603505e705207835bb09d81d3de7be37a4b2 Mon Sep 17 00:00:00 2001 From: Jean-Francois Panisset Date: Mon, 27 Oct 2025 19:19:47 -0700 Subject: [PATCH 7/8] More fixes for test builds Signed-off-by: Jean-Francois Panisset --- .github/workflows/docker-builds.yml | 78 ++++++++--------------------- 1 file changed, 21 insertions(+), 57 deletions(-) diff --git a/.github/workflows/docker-builds.yml b/.github/workflows/docker-builds.yml index 1c3914ab..ea4c311e 100644 --- a/.github/workflows/docker-builds.yml +++ b/.github/workflows/docker-builds.yml @@ -53,7 +53,7 @@ jobs: - name: Free up disk space run: | df -h - sudo apt-get remove -y '^llvm-.*' 'php.*' '^cpp.*' '^g\+\+.*' '^clang.*' '^gfortran.*' \ + sudo apt-get remove -y '^llvm-.*' '^php.*' '^php8.*' '^cpp.*' '^g\+\+.*' '^clang.*' '^gfortran.*' \ '^dotnet-.*' '^libmono-.*' '^mono-.*' monodoc-http '^r-.*' '^ruby.*' \ ant ant-optional aria2 azure-cli firefox google-chrome-stable microsoft-edge-stable powershell \ imagemagick '^imagemagick-.*' '^libmagickcore-.*' '^libmagickwand-.*' kubectl mercurial mercurial-common subversion @@ -78,8 +78,6 @@ jobs: run: | set -ex pipenv run aswfdocker \ - --repo-uri $GITHUB_REPOSITORY \ - --source-branch $GITHUB_REF \ --verbose \ build \ --ci-image-type IMAGE \ @@ -91,8 +89,6 @@ jobs: run: | set -ex pipenv run aswfdocker \ - --repo-uri $GITHUB_REPOSITORY \ - --source-branch $GITHUB_REF \ --verbose \ build \ --ci-image-type PACKAGE \ @@ -101,14 +97,13 @@ jobs: --use-conan \ --build-missing \ --target ninja \ - --target cmake + --target cmake \ + --push NO - name: Build Clang (Conan) run: | set -ex pipenv run aswfdocker \ - --repo-uri $GITHUB_REPOSITORY \ - --source-branch $GITHUB_REF \ --verbose \ build \ --ci-image-type PACKAGE \ @@ -116,13 +111,12 @@ jobs: --version ${{ matrix.common_version }} \ --use-conan \ --build-missing \ - --target clang + --target clang \ + --push NO - name: Build ci-common Docker Image for downstream images run: | pipenv run aswfdocker \ - --repo-uri $GITHUB_REPOSITORY \ - --source-branch $GITHUB_REF \ --verbose \ build \ --ci-image-type IMAGE \ @@ -134,120 +128,110 @@ jobs: run: | set -ex pipenv run aswfdocker \ - --repo-uri $GITHUB_REPOSITORY \ - --source-branch $GITHUB_REF \ --verbose \ build \ --ci-image-type PACKAGE \ --group base1-wrappers \ --version ${{ matrix.version_noclang }} \ --use-conan \ - --build-missing + --build-missing \ + --push NO - name: Build base1 level 1 Conan packages run: | set -ex pipenv run aswfdocker \ - --repo-uri $GITHUB_REPOSITORY \ - --source-branch $GITHUB_REF \ --verbose \ build \ --ci-image-type PACKAGE \ --group base1-1 \ --version ${{ matrix.version_noclang }} \ --use-conan \ - --build-missing + --build-missing \ + --push NO - name: Build base1 level 2 Conan packages run: | set -ex pipenv run aswfdocker \ - --repo-uri $GITHUB_REPOSITORY \ - --source-branch $GITHUB_REF \ --verbose \ build \ --ci-image-type PACKAGE \ --group base1-2 \ --version ${{ matrix.version_noclang }} \ --use-conan \ - --build-missing + --build-missing \ + --push NO - name: Build base1 level 3 Conan packages run: | set -ex pipenv run aswfdocker \ - --repo-uri $GITHUB_REPOSITORY \ - --source-branch $GITHUB_REF \ --verbose \ build \ --ci-image-type PACKAGE \ --group base1-3 \ --version ${{ matrix.version_noclang }} \ --use-conan \ - --build-missing + --build-missing \ + --push NO - name: Build base2 system wrapper Conan packages for ci-baseqt image run: | set -ex pipenv run aswfdocker \ - --repo-uri $GITHUB_REPOSITORY \ - --source-branch $GITHUB_REF \ --verbose \ build \ --ci-image-type PACKAGE \ --group base2-wrappers \ --version ${{ matrix.version_noclang }} \ --use-conan \ - --build-missing + --build-missing \ + --push NO - name: Build base2 system Conan packages for ci-baseqt image run: | set -ex pipenv run aswfdocker \ - --repo-uri $GITHUB_REPOSITORY \ - --source-branch $GITHUB_REF \ --verbose \ build \ --ci-image-type PACKAGE \ --group base2-1 --version ${{ matrix.version_noclang }} \ --use-conan \ - --build-missing + --build-missing \ + --push NO - name: Build base2 level 2 Conan packages (Qt) for ci-baseqt image run: | set -ex pipenv run aswfdocker \ - --repo-uri $GITHUB_REPOSITORY \ - --source-branch $GITHUB_REF \ --verbose \ build \ --ci-image-type PACKAGE \ --group base2-2 \ --version ${{ matrix.version_noclang }} \ --use-conan \ - --build-missing + --build-missing \ + --push NO - name: Build base3 Conan packages (PySide) for base image run: | set -ex pipenv run aswfdocker \ - --repo-uri $GITHUB_REPOSITORY \ - --source-branch $GITHUB_REF \ --verbose \ build \ --ci-image-type PACKAGE \ --group base3 \ --version ${{ matrix.version_noclang }} \ --use-conan \ - --build-missing + --build-missing \ + --push NO - name: Build base and baseqt images run: | set -ex pipenv run aswfdocker \ - --repo-uri $GITHUB_REPOSITORY \ - --source-branch $GITHUB_REF \ --verbose \ build \ --ci-image-type IMAGE \ @@ -259,8 +243,6 @@ jobs: run: | set -ex pipenv run aswfdocker \ - --repo-uri $GITHUB_REPOSITORY \ - --source-branch $GITHUB_REF \ --verbose \ build \ --ci-image-type PACKAGE \ @@ -274,8 +256,6 @@ jobs: run: | set -ex pipenv run aswfdocker \ - --repo-uri $GITHUB_REPOSITORY \ - --source-branch $GITHUB_REF \ --verbose \ build \ --ci-image-type PACKAGE \ @@ -289,8 +269,6 @@ jobs: run: | set -ex pipenv run aswfdocker \ - --repo-uri $GITHUB_REPOSITORY \ - --source-branch $GITHUB_REF \ --verbose \ build \ --ci-image-type PACKAGE \ @@ -304,8 +282,6 @@ jobs: run: | set -ex pipenv run aswfdocker \ - --repo-uri $GITHUB_REPOSITORY \ - --source-branch $GITHUB_REF \ --verbose \ build \ --ci-image-type PACKAGE \ @@ -319,8 +295,6 @@ jobs: run: | set -ex pipenv run aswfdocker \ - --repo-uri $GITHUB_REPOSITORY \ - --source-branch $GITHUB_REF \ --verbose \ build \ --ci-image-type PACKAGE \ @@ -334,8 +308,6 @@ jobs: run: | set -ex pipenv run aswfdocker \ - --repo-uri $GITHUB_REPOSITORY \ - --source-branch $GITHUB_REF \ --verbose \ build \ --ci-image-type PACKAGE \ @@ -349,8 +321,6 @@ jobs: run: | set -ex pipenv run aswfdocker \ - --repo-uri $GITHUB_REPOSITORY \ - --source-branch $GITHUB_REF \ --verbose \ build \ --ci-image-type PACKAGE \ @@ -364,8 +334,6 @@ jobs: run: | set -ex pipenv run aswfdocker \ - --repo-uri $GITHUB_REPOSITORY \ - --source-branch $GITHUB_REF \ --verbose \ build \ --ci-image-type PACKAGE \ @@ -378,8 +346,6 @@ jobs: run: | set -ex pipenv run aswfdocker \ - --repo-uri $GITHUB_REPOSITORY \ - --source-branch $GITHUB_REF \ --verbose \ build \ --ci-image-type IMAGE \ @@ -392,8 +358,6 @@ jobs: run: | set -ex pipenv run aswfdocker \ - --repo-uri $GITHUB_REPOSITORY \ - --source-branch $GITHUB_REF \ --verbose \ build \ --ci-image-type IMAGE \ From 9eb0ccb8d8ad806a2de9c7580480d1e7780820c4 Mon Sep 17 00:00:00 2001 From: Jean-Francois Panisset Date: Mon, 27 Oct 2025 21:08:08 -0700 Subject: [PATCH 8/8] --conan-login option is obsolete Signed-off-by: Jean-Francois Panisset --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 679dd179..ff98b4b6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -23,7 +23,7 @@ jobs: build: true push_description: true - group: conan - args: --use-conan --conan-login + args: --use-conan build: ${{ contains(github.ref, '/ci-package') }} push_description: false