Skip to content

Commit

Permalink
Merge pull request #1948 from mwestphal/improve_ci
Browse files Browse the repository at this point in the history
CI: Improve versions mgt logic
mwestphal authored Jan 29, 2025
2 parents 8970315 + 27a3f7d commit 7ac0f12
Showing 25 changed files with 210 additions and 136 deletions.
9 changes: 8 additions & 1 deletion .github/actions/alembic-install-dep/action.yml
Original file line number Diff line number Diff line change
@@ -20,7 +20,7 @@ runs:
- name: Cache Alembic
id: cache-alembic
uses: actions/cache@v4
uses: actions/cache/restore@v4
with:
path: dependencies/alembic_install
key: alembic-${{inputs.version}}-${{runner.os}}-${{inputs.cpu}}-0
@@ -67,3 +67,10 @@ runs:
working-directory: ${{github.workspace}}/dependencies/alembic_install
shell: bash
run: cp -r ./* ../install/

- name: Save cache
if: steps.cache-alembic.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
key: ${{ steps.cache-alembic.outputs.cache-primary-key }}
path: dependencies/alembic_install
9 changes: 8 additions & 1 deletion .github/actions/assimp-install-dep/action.yml
Original file line number Diff line number Diff line change
@@ -20,7 +20,7 @@ runs:
- name: Cache ASSIMP
id: cache-assimp
uses: actions/cache@v4
uses: actions/cache/restore@v4
with:
path: dependencies/assimp_install
key: assimp-${{inputs.version}}-${{runner.os}}-${{inputs.cpu}}-0
@@ -87,3 +87,10 @@ runs:
working-directory: ${{github.workspace}}/dependencies/assimp_install
shell: bash
run: cp -r ./* ../install/

- name: Save cache
if: steps.cache-assimp.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
key: ${{ steps.cache-assimp.outputs.cache-primary-key }}
path: dependencies/assimp_install
9 changes: 8 additions & 1 deletion .github/actions/blosc-install-dep/action.yml
Original file line number Diff line number Diff line change
@@ -12,7 +12,7 @@ runs:

- name: Cache blosc
id: cache-blosc
uses: actions/cache@v4
uses: actions/cache/restore@v4
with:
path: dependencies/blosc_install
key: blosc-v1.21.6-${{runner.os}}-${{inputs.cpu}}-0
@@ -62,3 +62,10 @@ runs:
working-directory: ${{github.workspace}}/dependencies/blosc_install
shell: bash
run: cp -r ./* ../install/

- name: Save cache
if: steps.cache-blosc.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
key: ${{ steps.cache-blosc.outputs.cache-primary-key }}
path: dependencies/blosc_install
19 changes: 8 additions & 11 deletions .github/actions/coverage-ci/action.yml
Original file line number Diff line number Diff line change
@@ -10,28 +10,25 @@ inputs:
default: ''
alembic_version:
description: 'Version of alembic to build'
required: true
required: false
assimp_version:
description: 'Version of assimp to build'
required: true
required: false
draco_version:
description: 'Version of draco to build'
required: true
required: false
occt_version:
description: 'Version of occt to build'
required: true
required: false
openexr_version:
description: 'Version of openexr to build'
required: true
required: false
openvdb_version:
description: 'Version of openvdb to build'
required: true
pybind11_version:
description: 'Version of pybind11 to build'
required: true
required: false
usd_version:
description: 'Version of usd to build'
required: true
required: false

runs:
using: "composite"
@@ -59,14 +56,14 @@ runs:
occt_version: ${{inputs.occt_version}}
openexr_version: ${{inputs.openexr_version}}
openvdb_version: ${{inputs.openvdb_version}}
pybind11_version: ${{inputs.pybind11_version}}
usd_version: ${{inputs.usd_version}}

- name: Install VTK dependency
uses: ./source/.github/actions/vtk-install-dep
with:
vtk_sha_file: ./source/.github/actions/vtk_commit_sha
raytracing_label: raytracing
openvdb_version: ${{inputs.openvdb_version}}

# coverage build is done in source as it seems to be required for codecov
# CMAKE_MODULE_PATH is required because of
9 changes: 8 additions & 1 deletion .github/actions/draco-install-dep/action.yml
Original file line number Diff line number Diff line change
@@ -20,7 +20,7 @@ runs:
- name: Cache Draco
id: cache-draco
uses: actions/cache@v4
uses: actions/cache/restore@v4
with:
path: dependencies/draco_install
key: draco-${{inputs.version}}-${{runner.os}}-${{inputs.cpu}}-3
@@ -66,3 +66,10 @@ runs:
working-directory: ${{github.workspace}}/dependencies/draco_install
shell: bash
run: cp -r ./* ../install/

- name: Save cache
if: steps.cache-draco.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
key: ${{ steps.cache-draco.outputs.cache-primary-key }}
path: dependencies/draco_install
6 changes: 0 additions & 6 deletions .github/actions/external-build-ci/action.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
name: 'External build CI'
description: 'External build CI'
inputs:
openvdb_version:
description: 'Version of openvdb to build'
required: true

runs:
using: "composite"
steps:
@@ -26,7 +21,6 @@ runs:
uses: ./source/f3d/.github/actions/vtk-dependencies
with:
source_dir: ./source/f3d
openvdb_version: ${{inputs.openvdb_version}}

- name: Install VTK dependency
uses: ./source/f3d/.github/actions/vtk-install-dep
22 changes: 15 additions & 7 deletions .github/actions/f3d-dependencies/action.yml
Original file line number Diff line number Diff line change
@@ -7,43 +7,46 @@ inputs:
default: 'x86_64'
alembic_version:
description: 'Version of alembic to build'
required: true
required: false
assimp_version:
description: 'Version of assimp to build'
required: true
required: false
draco_version:
description: 'Version of draco to build'
required: true
required: false
occt_version:
description: 'Version of occt to build'
required: true
required: false
openexr_version:
description: 'Version of openexr to build'
required: true
required: false
pybind11_version:
description: 'Version of pybind11 to build'
required: true
required: false
usd_version:
description: 'Version of usd to build'
required: true
required: false

runs:
using: "composite"
steps:

- name: Install OCCT dependency
if: inputs.occt_version != ''
uses: ./source/.github/actions/occt-install-dep
with:
cpu: ${{inputs.cpu}}
version: ${{inputs.occt_version}}

- name: Install Assimp dependency
if: inputs.assimp_version != ''
uses: ./source/.github/actions/assimp-install-dep
with:
cpu: ${{inputs.cpu}}
version: ${{inputs.assimp_version}}

- name: Install Draco dependency
if: inputs.draco_version != ''
uses: ./source/.github/actions/draco-install-dep
with:
cpu: ${{inputs.cpu}}
@@ -55,24 +58,29 @@ runs:
cpu: ${{inputs.cpu}}

- name: Install OpenEXR dependency
if: inputs.openexr_version != ''
uses: ./source/.github/actions/openexr-install-dep
with:
cpu: ${{inputs.cpu}}
version: ${{inputs.openexr_version}}

- name: Install Alembic dependency
if: inputs.alembic_version != ''
uses: ./source/.github/actions/alembic-install-dep
with:
cpu: ${{inputs.cpu}}
version: ${{inputs.alembic_version}}

- name: Install pybind11 dependency
if: inputs.pybind11_version != ''
uses: ./source/.github/actions/pybind11-install-dep
with:
version: ${{inputs.pybind11_version}}

- name: Install USD dependency
if: inputs.usd_version != ''
uses: ./source/.github/actions/usd-install-dep
with:
cpu: ${{inputs.cpu}}
version: ${{inputs.usd_version}}
openexr_version: ${{inputs.openexr_version}}
34 changes: 20 additions & 14 deletions .github/actions/generic-ci/action.yml
Original file line number Diff line number Diff line change
@@ -42,34 +42,34 @@ inputs:
required: true
alembic_version:
description: 'Version of alembic to build'
required: true
required: false
assimp_version:
description: 'Version of assimp to build'
required: true
required: false
draco_version:
description: 'Version of draco to build'
required: true
required: false
occt_version:
description: 'Version of occt to build'
required: true
required: false
openexr_version:
description: 'Version of openexr to build'
required: true
required: false
openvdb_version:
description: 'Version of openvdb to build'
required: true
required: false
pybind11_version:
description: 'Version of pybind11 to build'
required: true
required: false
python_version:
description: 'Version of python to install'
required: true
required: false
usd_version:
description: 'Version of usd to build'
required: true
required: false
java_version:
description: 'Version of java to install'
required: true
required: false

runs:
using: "composite"
@@ -79,8 +79,6 @@ 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; }
[[ "${{ inputs.java_version }}" ]] || { echo "java_version input is empty" ; exit 1; }
- name: Recover LFS Data
uses: f3d-app/lfs-data-cache-action@v1
@@ -110,22 +108,30 @@ runs:
vtk_sha_file: ./source/.github/actions/vtk_commit_sha
raytracing_label: ${{inputs.raytracing_label}}
cpu: ${{inputs.cpu}}
openvdb_version: ${{inputs.openvdb_version}}

- name: Set up Python
if: inputs.optional_deps_label == 'optional-deps'
if: |
inputs.optional_deps_label == 'optional-deps' &&
inputs.python_version != ''
uses: actions/setup-python@v5
with:
python-version: ${{inputs.python_version}}

- name: Install Python dependencies
if: inputs.optional_deps_label == 'optional-deps'
if: |
inputs.optional_deps_label == 'optional-deps' &&
inputs.python_version != ''
shell: bash
run: |
python -m pip install --upgrade pip
python -m pip install pytest==8.0.0
python -m pip install pybind11_stubgen
- name: Setup JDK
if: |
inputs.optional_deps_label == 'optional-deps' &&
inputs.java_version != ''
uses: actions/setup-java@v4
with:
distribution: 'temurin'
28 changes: 8 additions & 20 deletions .github/actions/generic-dependencies/action.yml
Original file line number Diff line number Diff line change
@@ -15,45 +15,33 @@ inputs:
default: 'x86_64'
alembic_version:
description: 'Version of alembic to build'
required: true
required: false
assimp_version:
description: 'Version of assimp to build'
required: true
required: false
draco_version:
description: 'Version of draco to build'
required: true
required: false
occt_version:
description: 'Version of occt to build'
required: true
required: false
openexr_version:
description: 'Version of openexr to build'
required: true
required: false
openvdb_version:
description: 'Version of openvdb to build'
required: true
required: false
pybind11_version:
description: 'Version of pybind11 to build'
required: true
required: false
usd_version:
description: 'Version of usd to build'
required: true
required: false

runs:
using: "composite"
steps:

- name: Check required inputs
shell: bash
run: |
[[ "${{ inputs.alembic_version }}" ]] || { echo "alembic_version input is empty" ; exit 1; }
[[ "${{ inputs.assimp_version }}" ]] || { echo "assimp_version input is empty" ; exit 1; }
[[ "${{ inputs.draco_version }}" ]] || { echo "draco_version input is empty" ; exit 1; }
[[ "${{ inputs.occt_version }}" ]] || { echo "occt_version input is empty" ; exit 1; }
[[ "${{ inputs.openexr_version }}" ]] || { echo "openexr_version input is empty" ; exit 1; }
[[ "${{ inputs.openvdb_version }}" ]] || { echo "openvdb_version input is empty" ; exit 1; }
[[ "${{ inputs.pybind11_version }}" ]] || { echo "pybind11_version input is empty" ; exit 1; }
[[ "${{ inputs.usd_version }}" ]] || { echo "usd_version input is empty" ; exit 1; }
- name: Dependencies Dir
shell: bash
working-directory: ${{github.workspace}}
9 changes: 8 additions & 1 deletion .github/actions/imath-install-dep/action.yml
Original file line number Diff line number Diff line change
@@ -12,7 +12,7 @@ runs:

- name: Cache Imath
id: cache-imath
uses: actions/cache@v4
uses: actions/cache/restore@v4
with:
path: dependencies/imath_install
key: imath-v3.1.12-${{runner.os}}-${{inputs.cpu}}-0
@@ -57,3 +57,10 @@ runs:
working-directory: ${{github.workspace}}/dependencies/imath_install
shell: bash
run: cp -r ./* ../install/

- name: Save cache
if: steps.cache-imath.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
key: ${{ steps.cache-imath.outputs.cache-primary-key }}
path: dependencies/imath_install
11 changes: 9 additions & 2 deletions .github/actions/occt-install-dep/action.yml
Original file line number Diff line number Diff line change
@@ -20,7 +20,7 @@ runs:
- name: Cache OCCT
id: cache-occt
uses: actions/cache@v4
uses: actions/cache/restore@v4
with:
path: dependencies/occt_install
key: occt-${{inputs.version}}-${{runner.os}}-${{inputs.cpu}}-4
@@ -54,7 +54,7 @@ runs:
if: steps.cache-occt.outputs.cache-hit != 'true'
working-directory: ${{github.workspace}}/dependencies
shell: bash
run:
run: |
mkdir occt_build
mkdir occt_install
@@ -122,3 +122,10 @@ runs:
working-directory: ${{github.workspace}}/dependencies/occt_install
shell: bash
run: cp -r ./* ../install/

- name: Save cache
if: steps.cache-occt.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
key: ${{ steps.cache-occt.outputs.cache-primary-key }}
path: dependencies/occt_install
11 changes: 9 additions & 2 deletions .github/actions/openexr-install-dep/action.yml
Original file line number Diff line number Diff line change
@@ -20,12 +20,12 @@ runs:
- name: Cache OpenEXR
id: cache-openexr
uses: actions/cache@v4
uses: actions/cache/restore@v4
with:
path: dependencies/openexr_install
key: openexr-${{inputs.version}}-${{runner.os}}-${{inputs.cpu}}-0

# Dependents: usd
# Dependents (not version): usd
- name: Checkout OpenEXR
if: steps.cache-openexr.outputs.cache-hit != 'true'
uses: actions/checkout@v4
@@ -67,3 +67,10 @@ runs:
working-directory: ${{github.workspace}}/dependencies/openexr_install
shell: bash
run: cp -r ./* ../install/

- name: Save cache
if: steps.cache-openexr.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
key: ${{ steps.cache-openexr.outputs.cache-primary-key }}
path: dependencies/openexr_install
11 changes: 9 additions & 2 deletions .github/actions/openvdb-install-dep/action.yml
Original file line number Diff line number Diff line change
@@ -20,12 +20,12 @@ runs:
- name: Cache OpenVDB
id: cache-openvdb
uses: actions/cache@v4
uses: actions/cache/restore@v4
with:
path: dependencies/openvdb_install
key: openvdb-${{inputs.version}}-${{runner.os}}-${{inputs.cpu}}-0

# Dependents: vtk
# Dependents (not version): vtk
- name: Checkout OpenVDB
if: steps.cache-openvdb.outputs.cache-hit != 'true'
uses: actions/checkout@v4
@@ -84,3 +84,10 @@ runs:
working-directory: ${{github.workspace}}/dependencies/openvdb_install
shell: bash
run: cp -r ./* ../install/

- name: Save cache
if: steps.cache-openvdb.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
key: ${{ steps.cache-openvdb.outputs.cache-primary-key }}
path: dependencies/openvdb_install
9 changes: 8 additions & 1 deletion .github/actions/ospray-sb-install-dep/action.yml
Original file line number Diff line number Diff line change
@@ -12,7 +12,7 @@ runs:

- name: Cache ospray
id: cache-ospray
uses: actions/cache@v4
uses: actions/cache/restore@v4
with:
path: dependencies/ospray_install
key: ospray-sb-v2.7.1-${{runner.os}}-${{inputs.cpu}}-3
@@ -76,3 +76,10 @@ runs:
working-directory: ${{github.workspace}}/dependencies/ospray_install
shell: bash
run: cp -r ./* ../install/

- name: Save cache
if: steps.cache-ospray.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
key: ${{ steps.cache-ospray.outputs.cache-primary-key }}
path: dependencies/ospray_install
9 changes: 8 additions & 1 deletion .github/actions/pybind11-install-dep/action.yml
Original file line number Diff line number Diff line change
@@ -11,7 +11,7 @@ runs:

- name: Cache pybind11
id: cache-pybind11
uses: actions/cache@v4
uses: actions/cache/restore@v4
with:
path: dependencies/pybind11_install
key: pybind11-${{inputs.version}}-${{runner.os}}-0
@@ -54,3 +54,10 @@ runs:
working-directory: ${{github.workspace}}/dependencies/pybind11_install
shell: bash
run: cp -r ./* ../install/

- name: Save cache
if: steps.cache-pybind11.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
key: ${{ steps.cache-pybind11.outputs.cache-primary-key }}
path: dependencies/pybind11_install
17 changes: 9 additions & 8 deletions .github/actions/python-ci/action.yml
Original file line number Diff line number Diff line change
@@ -9,28 +9,28 @@ inputs:
required: true
alembic_version:
description: 'Version of alembic to build'
required: true
required: false
assimp_version:
description: 'Version of assimp to build'
required: true
required: false
draco_version:
description: 'Version of draco to build'
required: true
required: false
occt_version:
description: 'Version of occt to build'
required: true
required: false
openexr_version:
description: 'Version of openexr to build'
required: true
required: false
openvdb_version:
description: 'Version of openvdb to build'
required: true
required: false
pybind11_version:
description: 'Version of pybind11 to build'
required: true
required: false
usd_version:
description: 'Version of usd to build'
required: true
required: false

runs:
using: "composite"
@@ -65,6 +65,7 @@ runs:
uses: ./source/.github/actions/vtk-install-dep
with:
vtk_sha_file: ./source/.github/actions/vtk_commit_sha
openvdb_version: ${{inputs.openvdb_version}}

- name: Set up Python
uses: actions/setup-python@v5
22 changes: 5 additions & 17 deletions .github/actions/sanitizer-ci/action.yml
Original file line number Diff line number Diff line change
@@ -13,28 +13,19 @@ inputs:
required: true
alembic_version:
description: 'Version of alembic to build'
required: true
required: false
assimp_version:
description: 'Version of assimp to build'
required: true
required: false
draco_version:
description: 'Version of draco to build'
required: true
required: false
occt_version:
description: 'Version of occt to build'
required: true
required: false
openexr_version:
description: 'Version of openexr to build'
required: true
openvdb_version:
description: 'Version of openvdb to build'
required: true
pybind11_version:
description: 'Version of pybind11 to build'
required: true
usd_version:
description: 'Version of usd to build'
required: true
required: false

runs:
using: "composite"
@@ -61,9 +52,6 @@ runs:
draco_version: ${{inputs.draco_version}}
occt_version: ${{inputs.occt_version}}
openexr_version: ${{inputs.openexr_version}}
openvdb_version: ${{inputs.openvdb_version}}
pybind11_version: ${{inputs.pybind11_version}}
usd_version: ${{inputs.usd_version}}

- name: Install VTK dependency
uses: ./source/.github/actions/vtk-install-dep
5 changes: 1 addition & 4 deletions .github/actions/static-analysis-ci/action.yml
Original file line number Diff line number Diff line change
@@ -22,9 +22,6 @@ inputs:
openvdb_version:
description: 'Version of openvdb to build'
required: true
pybind11_version:
description: 'Version of pybind11 to build'
required: true
usd_version:
description: 'Version of usd to build'
required: true
@@ -55,13 +52,13 @@ runs:
occt_version: ${{inputs.occt_version}}
openexr_version: ${{inputs.openexr_version}}
openvdb_version: ${{inputs.openvdb_version}}
pybind11_version: ${{inputs.pybind11_version}}
usd_version: ${{inputs.usd_version}}

- name: Install VTK dependency
uses: ./source/.github/actions/vtk-install-dep
with:
vtk_sha_file: ./source/.github/actions/vtk_commit_sha
openvdb_version: ${{inputs.openvdb_version}}

- name: Setup Build Directory
shell: bash
9 changes: 8 additions & 1 deletion .github/actions/tbb-install-dep/action.yml
Original file line number Diff line number Diff line change
@@ -12,7 +12,7 @@ runs:

- name: Cache TBB
id: cache-tbb
uses: actions/cache@v4
uses: actions/cache/restore@v4
with:
path: dependencies/tbb_install
key: tbb-v2021.12.0-${{runner.os}}-${{inputs.cpu}}-2
@@ -60,3 +60,10 @@ runs:
working-directory: ${{github.workspace}}/dependencies/tbb_install
shell: bash
run: cp -r ./* ../install/

- name: Save cache
if: steps.cache-tbb.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
key: ${{ steps.cache-tbb.outputs.cache-primary-key }}
path: dependencies/tbb_install
20 changes: 18 additions & 2 deletions .github/actions/usd-install-dep/action.yml
Original file line number Diff line number Diff line change
@@ -8,17 +8,26 @@ inputs:
version:
description: 'Version of usd to build'
required: true
openexr_version:
description: 'Version of openexr to build against'
required: true

runs:
using: "composite"
steps:

- name: Check required inputs
shell: bash
run: |
[[ "${{ inputs.version }}" ]] || { echo "version input is empty" ; exit 1; }
[[ "${{ inputs.openexr_version }}" ]] || { echo "openexr_version input is empty" ; exit 1; }
- name: Cache USD
id: cache-usd
uses: actions/cache@v4
uses: actions/cache/restore@v4
with:
path: dependencies/usd_install
key: usd-${{inputs.version}}-${{runner.os}}-${{inputs.cpu}}-3
key: usd-${{inputs.version}}-${{inputs.openexr_version}}-${{runner.os}}-${{inputs.cpu}}-0

- name: Checkout USD
if: steps.cache-usd.outputs.cache-hit != 'true'
@@ -74,3 +83,10 @@ runs:
working-directory: ${{github.workspace}}/dependencies/usd_install
shell: bash
run: cp -r ./* ../install/

- name: Save cache
if: steps.cache-usd.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
key: ${{ steps.cache-usd.outputs.cache-primary-key }}
path: dependencies/usd_install
17 changes: 10 additions & 7 deletions .github/actions/vtk-android-install-dep/action.yml
Original file line number Diff line number Diff line change
@@ -27,24 +27,20 @@ runs:
[[ "${{ inputs.arch }}" ]] || { echo "arch input is empty" ; exit 1; }
- name: Recover VTK Short SHA from file
if: |
steps.cache-vtk.outputs.cache-hit != 'true' &&
inputs.vtk_version == 'commit'
if: inputs.vtk_version == 'commit'
working-directory: ${{github.workspace}}
shell: bash
run: echo "VTK_SHA_OR_TAG=$(<${{ inputs.vtk_sha_file }})" >> $GITHUB_ENV

- name: Copy VTK version to env var
if: |
steps.cache-vtk.outputs.cache-hit != 'true' &&
inputs.vtk_version != 'commit'
if: inputs.vtk_version != 'commit'
working-directory: ${{github.workspace}}
shell: bash
run: echo "VTK_SHA_OR_TAG=${{inputs.vtk_version}}" >> $GITHUB_ENV

- name: Cache VTK
id: cache-vtk
uses: actions/cache@v4
uses: actions/cache/restore@v4
with:
path: dependencies/vtk_build
key: vtk-android-${{env.VTK_SHA_OR_TAG}}-${{inputs.api_level}}-${{inputs.arch}}-1
@@ -81,3 +77,10 @@ runs:
working-directory: ${{github.workspace}}/dependencies/vtk_build
shell: bash
run: cmake --build . --parallel 2

- name: Save cache
if: steps.cache-vtk.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
key: ${{ steps.cache-vtk.outputs.cache-primary-key }}
path: dependencies/vtk_build
3 changes: 2 additions & 1 deletion .github/actions/vtk-dependencies/action.yml
Original file line number Diff line number Diff line change
@@ -11,7 +11,7 @@ inputs:
default: './source'
openvdb_version:
description: 'Version of openvdb to build'
required: true
required: false

runs:
using: "composite"
@@ -40,6 +40,7 @@ runs:
cpu: ${{inputs.cpu}}

- name: Install OpenVDB
if: inputs.openvdb_version != ''
uses: ./.actions/openvdb-install-dep
with:
cpu: ${{inputs.cpu}}
18 changes: 14 additions & 4 deletions .github/actions/vtk-install-dep/action.yml
Original file line number Diff line number Diff line change
@@ -17,6 +17,9 @@ inputs:
description: 'CPU architecture to build for'
required: false
default: 'x86_64'
openvdb_version:
description: 'Version of openvdb to build against'
required: false

runs:
using: "composite"
@@ -40,10 +43,10 @@ runs:

- name: Cache VTK
id: cache-vtk
uses: actions/cache@v4
uses: actions/cache/restore@v4
with:
path: dependencies/vtk_install
key: vtk-${{env.VTK_SHA_OR_TAG}}-${{runner.os}}-${{inputs.raytracing_label}}-${{inputs.cpu}}-8
key: vtk-${{env.VTK_SHA_OR_TAG}}-openvdb-${{inputs.openvdb_version}}-${{runner.os}}-${{inputs.raytracing_label}}-${{inputs.cpu}}-8

- name: Setup VTK
if: steps.cache-vtk.outputs.cache-hit != 'true'
@@ -88,7 +91,7 @@ runs:
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX:PATH=../vtk_install
-DCMAKE_PREFIX_PATH:PATH=$(pwd)/../install/
-DOpenVDB_CMAKE_PATH=$(pwd)/../install/lib/cmake/OpenVDB/
-DOpenVDB_CMAKE_PATH=${{ inputs.openvdb_version != '' && '$(pwd)/../install/lib/cmake/OpenVDB/' || '' }}
-DVTKOSPRAY_ENABLE_DENOISER=ON
-DVTK_BUILD_TESTING=OFF
-DVTK_DEBUG_LEAKS=ON
@@ -106,7 +109,7 @@ runs:
-DVTK_MODULE_ENABLE_VTK_IOGeometry=YES
-DVTK_MODULE_ENABLE_VTK_IOImage=YES
-DVTK_MODULE_ENABLE_VTK_IOImport=YES
-DVTK_MODULE_ENABLE_VTK_IOOpenVDB=YES
-DVTK_MODULE_ENABLE_VTK_IOOpenVDB=${{ inputs.openvdb_version != '' && 'YES' || 'DEFAULT' }}
-DVTK_MODULE_ENABLE_VTK_IOPLY=YES
-DVTK_MODULE_ENABLE_VTK_IOParallel=YES
-DVTK_MODULE_ENABLE_VTK_IOXML=YES
@@ -136,3 +139,10 @@ runs:
working-directory: ${{github.workspace}}/dependencies/vtk_install
shell: bash
run: cp -r ./* ../install/

- name: Save cache
if: steps.cache-vtk.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
key: ${{ steps.cache-vtk.outputs.cache-primary-key }}
path: dependencies/vtk_install
9 changes: 8 additions & 1 deletion .github/actions/zlib-install-dep/action.yml
Original file line number Diff line number Diff line change
@@ -12,7 +12,7 @@ runs:

- name: Cache zlib
id: cache-zlib
uses: actions/cache@v4
uses: actions/cache/restore@v4
with:
path: dependencies/zlib_install
key: zlib-v1.3.1-${{runner.os}}-${{inputs.cpu}}-4
@@ -56,3 +56,10 @@ runs:
working-directory: ${{github.workspace}}/dependencies/zlib_install
shell: bash
run: cp -r ./* ../install/

- name: Save cache
if: steps.cache-zlib.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
key: ${{ steps.cache-zlib.outputs.cache-primary-key }}
path: dependencies/zlib_install
21 changes: 1 addition & 20 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -267,16 +267,6 @@ jobs:
exclude_deprecated_label: no-exclude-deprecated
rendering_backend: auto
static_label: no-static
alembic_version: ${{needs.default_versions.outputs.alembic_version}}
assimp_version: ${{needs.default_versions.outputs.assimp_version}}
draco_version: ${{needs.default_versions.outputs.draco_version}}
occt_version: ${{needs.default_versions.outputs.occt_version}}
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}}
usd_version: ${{needs.default_versions.outputs.usd_version}}
java_version: ${{needs.default_versions.outputs.java_version}}
- build_type: static_libs
vtk_version: commit
raytracing_label: no-raytracing
@@ -385,7 +375,6 @@ jobs:
pybind11_version: ${{needs.default_versions.outputs.pybind11_version}}
python_version: ${{needs.default_versions.outputs.python_version}}
usd_version: ${{needs.default_versions.outputs.usd_version}}
java_version: ${{needs.default_versions.outputs.java_version}}

#----------------------------------------------------------------------------
# MacOS ARM CI: Build and test, cross-vtk build matrix with a few optional builds
@@ -436,7 +425,6 @@ jobs:
pybind11_version: ${{needs.default_versions.outputs.pybind11_version}}
python_version: ${{needs.default_versions.outputs.python_version}}
usd_version: ${{needs.default_versions.outputs.usd_version}}
java_version: ${{needs.default_versions.outputs.java_version}}

#----------------------------------------------------------------------------
# Python packaging: Build and test the Python wheel
@@ -526,7 +514,6 @@ jobs:
occt_version: ${{needs.default_versions.outputs.occt_version}}
openexr_version: ${{needs.default_versions.outputs.openexr_version}}
openvdb_version: ${{needs.default_versions.outputs.openvdb_version}}
pybind11_version: ${{needs.default_versions.outputs.pybind11_version}}
usd_version: ${{needs.default_versions.outputs.usd_version}}

#----------------------------------------------------------------------------
@@ -572,9 +559,6 @@ jobs:
draco_version: ${{needs.default_versions.outputs.draco_version}}
occt_version: ${{needs.default_versions.outputs.occt_version}}
openexr_version: ${{needs.default_versions.outputs.openexr_version}}
openvdb_version: ${{needs.default_versions.outputs.openvdb_version}}
pybind11_version: ${{needs.default_versions.outputs.pybind11_version}}
usd_version: ${{needs.default_versions.outputs.usd_version}}

#----------------------------------------------------------------------------
# static-analysis: Run static analysis on linux
@@ -612,14 +596,13 @@ jobs:
occt_version: ${{needs.default_versions.outputs.occt_version}}
openexr_version: ${{needs.default_versions.outputs.openexr_version}}
openvdb_version: ${{needs.default_versions.outputs.openvdb_version}}
pybind11_version: ${{needs.default_versions.outputs.pybind11_version}}
usd_version: ${{needs.default_versions.outputs.usd_version}}

#----------------------------------------------------------------------------
# external-build: Check build of F3D as sub-project
#----------------------------------------------------------------------------
external-build:
needs: [cache_dependencies, default_versions]
needs: cache_dependencies
if: github.event.pull_request.draft == false

strategy:
@@ -639,8 +622,6 @@ jobs:

- name: External build CI
uses: ./source/f3d/.github/actions/external-build-ci
with:
openvdb_version: ${{needs.default_versions.outputs.openvdb_version}}

#----------------------------------------------------------------------------
# android: Check build of F3D for android

0 comments on commit 7ac0f12

Please sign in to comment.