diff --git a/.github/actions/generic-ci/action.yml b/.github/actions/generic-ci/action.yml index 2c5f12100a..a9e749d2fd 100644 --- a/.github/actions/generic-ci/action.yml +++ b/.github/actions/generic-ci/action.yml @@ -61,6 +61,9 @@ inputs: pybind11_version: description: 'Version of pybind11 to build' required: true + python_version: + description: 'Version of python to install' + required: true runs: using: "composite" @@ -70,6 +73,7 @@ runs: shell: bash run: | [[ "${{ inputs.lfs_sha }}" ]] || { echo "lfs_sha input is empty" ; exit 1; } + [[ "${{ inputs.python_version }}" ]] || { echo "python_version input is empty" ; exit 1; } - name: Recover LFS Data uses: f3d-app/lfs-data-cache-action@v1 @@ -99,12 +103,11 @@ runs: raytracing_label: ${{inputs.raytracing_label}} cpu: ${{inputs.cpu}} - # Python is part of VFX reference platform (CY2025: 3.11) - name: Set up Python if: inputs.optional_deps_label == 'optional-deps' uses: actions/setup-python@v5 with: - python-version: '3.11' + python-version: ${{inputs.python_version}} - name: Install Python dependencies if: inputs.optional_deps_label == 'optional-deps' diff --git a/.github/actions/python-ci/action.yml b/.github/actions/python-ci/action.yml index 3fee3f335c..c55e9ca3b1 100644 --- a/.github/actions/python-ci/action.yml +++ b/.github/actions/python-ci/action.yml @@ -37,6 +37,7 @@ runs: shell: bash run: | [[ "${{ inputs.lfs_sha }}" ]] || { echo "lfs_sha input is empty" ; exit 1; } + [[ "${{ inputs.python_version }}" ]] || { echo "python input is empty" ; exit 1; } - name: Recover LFS Data uses: f3d-app/lfs-data-cache-action@v1 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8ba3c8b3a4..162091e947 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,12 +34,15 @@ jobs: openvdb_min_version: ${{ steps.set_default_versions.outputs.openvdb_min_version }} pybind11_version: ${{ steps.set_default_versions.outputs.pybind11_version }} pybind11_min_version: ${{ steps.set_default_versions.outputs.pybind11_min_version }} + python_version: ${{ steps.set_default_versions.outputs.pybind11_version }} + python_min_version: ${{ steps.set_default_versions.outputs.pybind11_min_version }} steps: # Alembic is part of VFX reference platform (CY2025: 1.8.x) # OpenEXR is part of VFX reference platform (CY2025: 3.3.x) # OpenVDB is part of VFX reference platform (CY2025: 12.x) # OpenVDB min version is not enforced by F3D code and missing from VTK code + # Python is part of VFX reference platform (CY2025: 3.11) - name: Set default versions output id: set_default_versions shell: bash @@ -58,6 +61,8 @@ jobs: echo "openvdb_min_version=v12.0.0" >> $GITHUB_OUTPUT echo "pybind11_version=v2.13.6" >> $GITHUB_OUTPUT echo "pybind11_min_version=v2.9.2" >> $GITHUB_OUTPUT + echo "python_version=3.11" >> $GITHUB_OUTPUT + echo "python_min_version=3.9" >> $GITHUB_OUTPUT #---------------------------------------------------------------------------- # Cache LFS: Checkout LFS data and update the cache to limit LFS bandwidth @@ -179,6 +184,7 @@ jobs: openexr_version: ${{needs.default_versions.outputs.openexr_version}} openvdb_version: ${{needs.default_versions.outputs.openvdb_version}} pybind11_version: ${{needs.default_versions.outputs.pybind11_version}} + python_version: ${{needs.default_versions.outputs.python_version}} #---------------------------------------------------------------------------- # Linux CI: Build and test, cross-vtk build matrix @@ -205,6 +211,7 @@ jobs: - openexr_version: ${{needs.default_versions.outputs.openexr_version}} - openvdb_version: ${{needs.default_versions.outputs.openvdb_version}} - pybind11_version: ${{needs.default_versions.outputs.pybind11_version}} + - python_version: ${{needs.default_versions.outputs.python_version}} - build_type: egl vtk_version: commit raytracing_label: raytracing @@ -219,6 +226,7 @@ jobs: openexr_version: ${{needs.default_versions.outputs.openexr_version}} openvdb_version: ${{needs.default_versions.outputs.openvdb_version}} pybind11_version: ${{needs.default_versions.outputs.pybind11_version}} + python_version: ${{needs.default_versions.outputs.python_version}} - build_type: osmesa vtk_version: commit raytracing_label: raytracing @@ -233,6 +241,7 @@ jobs: openexr_version: ${{needs.default_versions.outputs.openexr_version}} openvdb_version: ${{needs.default_versions.outputs.openvdb_version}} pybind11_version: ${{needs.default_versions.outputs.pybind11_version}} + python_version: ${{needs.default_versions.outputs.python_version}} - build_type: exclude_deprecated vtk_version: commit raytracing_label: raytracing @@ -247,6 +256,7 @@ jobs: openexr_version: ${{needs.default_versions.outputs.openexr_version}} openvdb_version: ${{needs.default_versions.outputs.openvdb_version}} pybind11_version: ${{needs.default_versions.outputs.pybind11_version}} + python_version: ${{needs.default_versions.outputs.python_version}} - build_type: no_optional_deps vtk_version: commit raytracing_label: no-raytracing @@ -261,6 +271,7 @@ jobs: openexr_version: ${{needs.default_versions.outputs.openexr_version}} openvdb_version: ${{needs.default_versions.outputs.openvdb_version}} pybind11_version: ${{needs.default_versions.outputs.pybind11_version}} + python_version: ${{needs.default_versions.outputs.python_version}} - build_type: static_libs vtk_version: commit raytracing_label: no-raytracing @@ -275,6 +286,7 @@ jobs: openexr_version: ${{needs.default_versions.outputs.openexr_version}} openvdb_version: ${{needs.default_versions.outputs.openvdb_version}} pybind11_version: ${{needs.default_versions.outputs.pybind11_version}} + python_version: ${{needs.default_versions.outputs.python_version}} - build_type: mindeps vtk_version: commit raytracing_label: raytracing @@ -289,6 +301,7 @@ jobs: openexr_version: ${{needs.default_versions.outputs.openexr_min_version}} openvdb_version: ${{needs.default_versions.outputs.openvdb_min_version}} pybind11_version: ${{needs.default_versions.outputs.pybind11_min_version}} + python_version: ${{needs.default_versions.outputs.python_min_version}} runs-on: ubuntu-22.04 container: ghcr.io/f3d-app/f3d-ci @@ -322,6 +335,7 @@ jobs: openexr_version: ${{matrix.openexr_version}} openvdb_version: ${{matrix.openvdb_version}} pybind11_version: ${{matrix.pybind11_version}} + python_version: ${{matrix.python_version}} #---------------------------------------------------------------------------- # MacOS CI: Build and test, cross-vtk build matrix @@ -358,6 +372,7 @@ jobs: openexr_version: ${{needs.default_versions.outputs.openexr_version}} openvdb_version: ${{needs.default_versions.outputs.openvdb_version}} pybind11_version: ${{needs.default_versions.outputs.pybind11_version}} + python_version: ${{needs.default_versions.outputs.python_version}} #---------------------------------------------------------------------------- # MacOS ARM CI: Build and test, cross-vtk build matrix with a few optional builds