Skip to content

Commit

Permalink
Merge branch 'f3d-app:master' into imgui-console-is-rendered-below-sc…
Browse files Browse the repository at this point in the history
…alar-bar-and-axis-f3d-app#1926
  • Loading branch information
Yogesh9000 authored Jan 28, 2025
2 parents 4515909 + 2085d34 commit d42735f
Show file tree
Hide file tree
Showing 49 changed files with 6,859 additions and 2,956 deletions.
15 changes: 11 additions & 4 deletions .github/actions/alembic-install-dep/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,26 +5,33 @@ inputs:
description: 'CPU architecture to build for'
required: false
default: 'x86_64'

version:
description: 'Version of alembic to build'
required: true

runs:
using: "composite"
steps:

# Alembic is part of VFX reference platform (CY2025: 1.8.x)
- name: Check required inputs
shell: bash
run: |
[[ "${{ inputs.version }}" ]] || { echo "version input is empty" ; exit 1; }
- name: Cache Alembic
id: cache-alembic
uses: actions/cache@v4
with:
path: dependencies/alembic_install
key: alembic-v1.8.8-${{runner.os}}-${{inputs.cpu}}-0
key: alembic-${{inputs.version}}-${{runner.os}}-${{inputs.cpu}}-0

- name: Checkout Alembic
if: steps.cache-alembic.outputs.cache-hit != 'true'
uses: actions/checkout@v4
with:
repository: alembic/alembic
path: './dependencies/alembic'
ref: 1.8.8
ref: ${{inputs.version}}

- name: Setup Alembic
if: steps.cache-alembic.outputs.cache-hit != 'true'
Expand Down
21 changes: 17 additions & 4 deletions .github/actions/assimp-install-dep/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,29 +5,42 @@ inputs:
description: 'CPU architecture to build for'
required: false
default: 'x86_64'
version:
description: 'Version of assimp to build'
required: true

runs:
using: "composite"
steps:

- name: Check required inputs
shell: bash
run: |
[[ "${{ inputs.version }}" ]] || { echo "version input is empty" ; exit 1; }
- name: Cache ASSIMP
id: cache-assimp
uses: actions/cache@v4
with:
path: dependencies/assimp_install
key: assimp-v5.4.3-${{runner.os}}-${{inputs.cpu}}-0
key: assimp-${{inputs.version}}-${{runner.os}}-${{inputs.cpu}}-0

- name: Checkout ASSIMP
if: steps.cache-assimp.outputs.cache-hit != 'true'
uses: actions/checkout@v4
with:
repository: assimp/assimp
path: './dependencies/assimp'
ref: v5.4.3
ref: ${{inputs.version}}

# Revert https://github.com/assimp/assimp/pull/5349
# Revert: https://github.com/assimp/assimp/pull/5349
# Issue: https://github.com/assimp/assimp/issues/5449
# Fix: https://github.com/assimp/assimp/pull/5751
# This impact 5.4.3 and should be fixed in next release (5.5 or 5.4.4)
- name: Patch ASSIMP
if: steps.cache-assimp.outputs.cache-hit != 'true'
if: |
steps.cache-assimp.outputs.cache-hit != 'true' &&
inputs.version == 'v5.4.3'
working-directory: ${{github.workspace}}/dependencies/assimp
shell: bash
run: patch -p1 < $GITHUB_ACTION_PATH/assimp-revert-fbx-bone-anim.patch
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/blosc-install-dep/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ runs:
uses: actions/cache@v4
with:
path: dependencies/blosc_install
key: blosc-1.21.6-${{runner.os}}-${{inputs.cpu}}-0
key: blosc-v1.21.6-${{runner.os}}-${{inputs.cpu}}-0

# Dependents: openvdb vtk
- name: Checkout blosc
Expand Down
34 changes: 33 additions & 1 deletion .github/actions/coverage-ci/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,30 @@ inputs:
description: 'Codecov token, needed for non-forked workflows'
required: false
default: ''
alembic_version:
description: 'Version of alembic to build'
required: true
assimp_version:
description: 'Version of assimp to build'
required: true
draco_version:
description: 'Version of draco to build'
required: true
occt_version:
description: 'Version of occt to build'
required: true
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

runs:
using: "composite"
Expand All @@ -29,6 +53,14 @@ runs:
uses: ./source/.github/actions/generic-dependencies
with:
raytracing_label: raytracing
alembic_version: ${{inputs.alembic_version}}
assimp_version: ${{inputs.assimp_version}}
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
Expand Down Expand Up @@ -101,7 +133,7 @@ runs:
lcov --remove coverage.info "*Test*" -o coverage.info
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
uses: codecov/codecov-action@v5
with:
working-directory: ${{github.workspace}}/source
token: ${{inputs.codecov_token}}
Expand Down
77 changes: 77 additions & 0 deletions .github/actions/default-versions/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: 'Set default versions'
description: 'Set default versions of F3D dependencies to install'
outputs:
alembic_version:
value: ${{ steps.set_default_versions.outputs.alembic_version }}
alembic_min_version:
value: ${{ steps.set_default_versions.outputs.alembic_min_version }}
assimp_version:
value: ${{ steps.set_default_versions.outputs.assimp_version }}
assimp_min_version:
value: ${{ steps.set_default_versions.outputs.assimp_min_version }}
draco_version:
value: ${{ steps.set_default_versions.outputs.draco_version }}
draco_min_version:
value: ${{ steps.set_default_versions.outputs.draco_min_version }}
occt_version:
value: ${{ steps.set_default_versions.outputs.occt_version }}
occt_min_version:
value: ${{ steps.set_default_versions.outputs.occt_min_version }}
openexr_version:
value: ${{ steps.set_default_versions.outputs.openexr_version }}
openexr_min_version:
value: ${{ steps.set_default_versions.outputs.openexr_min_version }}
openvdb_version:
value: ${{ steps.set_default_versions.outputs.openvdb_version }}
openvdb_min_version:
value: ${{ steps.set_default_versions.outputs.openvdb_min_version }}
pybind11_version:
value: ${{ steps.set_default_versions.outputs.pybind11_version }}
pybind11_min_version:
value: ${{ steps.set_default_versions.outputs.pybind11_min_version }}
python_version:
value: ${{ steps.set_default_versions.outputs.python_version }}
python_min_version:
value: ${{ steps.set_default_versions.outputs.python_min_version }}
usd_version:
value: ${{ steps.set_default_versions.outputs.usd_version }}
usd_min_version:
value: ${{ steps.set_default_versions.outputs.usd_min_version }}
java_version:
value: ${{ steps.set_default_versions.outputs.java_version }}
java_min_version:
value: ${{ steps.set_default_versions.outputs.java_min_version }}

runs:
using: "composite"
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
run: |
echo "alembic_version=1.8.8" >> $GITHUB_OUTPUT
echo "alembic_min_version=1.8.5" >> $GITHUB_OUTPUT
echo "assimp_version=v5.4.3" >> $GITHUB_OUTPUT
echo "assimp_min_version=v5.4.0" >> $GITHUB_OUTPUT
echo "draco_version=1.5.7" >> $GITHUB_OUTPUT
echo "draco_min_version=1.5.6" >> $GITHUB_OUTPUT
echo "occt_version=V7_8_1" >> $GITHUB_OUTPUT
echo "occt_min_version=V7_6_3" >> $GITHUB_OUTPUT
echo "openexr_version=v3.3.2" >> $GITHUB_OUTPUT
echo "openexr_min_version=v3.0.1" >> $GITHUB_OUTPUT
echo "openvdb_version=v12.0.0" >> $GITHUB_OUTPUT
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
echo "usd_version=v24.11" >> $GITHUB_OUTPUT
echo "usd_min_version=v24.08" >> $GITHUB_OUTPUT
echo "java_version=21" >> $GITHUB_OUTPUT
echo "java_min_version=17" >> $GITHUB_OUTPUT
12 changes: 10 additions & 2 deletions .github/actions/draco-install-dep/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,33 @@ inputs:
description: 'CPU architecture to build for'
required: false
default: 'x86_64'
version:
description: 'Version of draco to build'
required: true

runs:
using: "composite"
steps:

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

- name: Checkout Draco
if: steps.cache-draco.outputs.cache-hit != 'true'
uses: actions/checkout@v4
with:
repository: google/draco
path: './dependencies/draco'
ref: 1.5.7
ref: ${{inputs.version}}

- name: Setup Draco
if: steps.cache-draco.outputs.cache-hit != 'true'
Expand Down
5 changes: 5 additions & 0 deletions .github/actions/external-build-ci/action.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
name: 'External build CI'
description: 'External build CI'
inputs:
openvdb_version:
description: 'Version of openvdb to build'
required: true

runs:
using: "composite"
Expand All @@ -22,6 +26,7 @@ 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
Expand Down
35 changes: 29 additions & 6 deletions .github/actions/f3d-dependencies/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,31 +5,49 @@ inputs:
description: 'CPU architecture to build for'
required: false
default: 'x86_64'
alembic_version:
description: 'Version of alembic to build'
required: true
assimp_version:
description: 'Version of assimp to build'
required: true
draco_version:
description: 'Version of draco to build'
required: true
occt_version:
description: 'Version of occt to build'
required: true
openexr_version:
description: 'Version of openexr to build'
required: true
pybind11_version:
description: 'Version of pybind11 to build'
required: true
usd_version:
description: 'Version of usd to build'
required: true

runs:
using: "composite"
steps:

- name: Setup JDK
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'

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

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

- name: Install Draco dependency
uses: ./source/.github/actions/draco-install-dep
with:
cpu: ${{inputs.cpu}}
version: ${{inputs.draco_version}}

- name: Install Imath dependency
uses: ./source/.github/actions/imath-install-dep
Expand All @@ -40,16 +58,21 @@ runs:
uses: ./source/.github/actions/openexr-install-dep
with:
cpu: ${{inputs.cpu}}
version: ${{inputs.openexr_version}}

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

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

- name: Install USD dependency
uses: ./source/.github/actions/usd-install-dep
with:
cpu: ${{inputs.cpu}}
version: ${{inputs.usd_version}}
Loading

0 comments on commit d42735f

Please sign in to comment.