Skip to content

Commit

Permalink
CI: Addimp assimp v5.0.0 to mindeps
Browse files Browse the repository at this point in the history
  • Loading branch information
mwestphal committed Jan 25, 2025
1 parent 028cb89 commit 265a258
Show file tree
Hide file tree
Showing 6 changed files with 53 additions and 5 deletions.
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
4 changes: 4 additions & 0 deletions .github/actions/f3d-dependencies/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ inputs:
alembic_version:
description: 'Version of alembic to build'
required: true
assimp_version:
description: 'Version of assimp to build'
required: true

runs:
using: "composite"
Expand All @@ -28,6 +31,7 @@ runs:
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
Expand Down
4 changes: 4 additions & 0 deletions .github/actions/generic-ci/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@ inputs:
alembic_version:
description: 'Version of alembic to build'
required: true
assimp_version:
description: 'Version of assimp to build'
required: true

runs:
using: "composite"
Expand All @@ -66,6 +69,7 @@ runs:
cpu: ${{inputs.cpu}}
raytracing_label: ${{inputs.raytracing_label}}
alembic_version: ${{inputs.alembic_version}}
assimp_version: ${{inputs.assimp_version}}

- name: Install VTK dependency
uses: ./source/.github/actions/vtk-install-dep
Expand Down
5 changes: 5 additions & 0 deletions .github/actions/generic-dependencies/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ inputs:
alembic_version:
description: 'Version of alembic to build'
required: true
assimp_version:
description: 'Version of assimp to build'
required: true

runs:
using: "composite"
Expand All @@ -25,6 +28,7 @@ runs:
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; }
- name: Dependencies Dir
shell: bash
Expand All @@ -51,3 +55,4 @@ runs:
with:
cpu: ${{inputs.cpu}}
alembic_version: ${{inputs.alembic_version}}
assimp_version: ${{inputs.assimp_version}}
22 changes: 22 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ jobs:
outputs:
alembic_version: ${{ steps.set_default_versions.outputs.alembic_version }}
alembic_min_version: ${{ steps.set_default_versions.outputs.alembic_min_version }}
assimp_version: ${{ steps.set_default_versions.outputs.assimp_version }}
assimp_min_version: ${{ steps.set_default_versions.outputs.assimp_min_version }}
steps:

# Alembic is part of VFX reference platform (CY2025: 1.8.x)
Expand All @@ -31,6 +33,8 @@ jobs:
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.0.0" >> $GITHUB_OUTPUT
#----------------------------------------------------------------------------
# Cache LFS: Checkout LFS data and update the cache to limit LFS bandwidth
Expand Down Expand Up @@ -71,10 +75,12 @@ jobs:
- os: macos-14
cpu: arm64
- alembic_version: ${{needs.default_versions.outputs.alembic_version}}
- assimp_version: ${{needs.default_versions.outputs.assimp_version}}
- build_type: mindeps
os: ubuntu-22.04
cpu: x86_64
alembic_version: ${{needs.default_versions.outputs.alembic_min_version}}
assimp_version: ${{needs.default_versions.outputs.assimp_min_version}}

runs-on: ${{matrix.os}}
container: ${{ matrix.os == 'ubuntu-22.04' && 'ghcr.io/f3d-app/f3d-ci' || null }}
Expand All @@ -93,6 +99,7 @@ jobs:
raytracing_label: raytracing
cpu: ${{matrix.cpu}}
alembic_version: ${{matrix.alembic_version}}
assimp_version: ${{matrix.assimp_version}}

#----------------------------------------------------------------------------
# Windows CI: Build and test, cross-vtk build matrix
Expand Down Expand Up @@ -128,6 +135,7 @@ jobs:
static_label: ${{matrix.static_label}}
lfs_sha: ${{ needs.cache_lfs.outputs.lfs_sha}}
alembic_version: ${{needs.default_versions.outputs.alembic_version}}
assimp_version: ${{needs.default_versions.outputs.assimp_version}}

#----------------------------------------------------------------------------
# Linux CI: Build and test, cross-vtk build matrix
Expand All @@ -148,6 +156,7 @@ jobs:
- rendering_backend: auto
- static_label: no-static
- alembic_version: ${{needs.default_versions.outputs.alembic_version}}
- assimp_version: ${{needs.default_versions.outputs.assimp_version}}
- build_type: egl
vtk_version: commit
raytracing_label: raytracing
Expand All @@ -156,6 +165,7 @@ jobs:
rendering_backend: egl
static_label: no-static
alembic_version: ${{needs.default_versions.outputs.alembic_version}}
assimp_version: ${{needs.default_versions.outputs.assimp_version}}
- build_type: osmesa
vtk_version: commit
raytracing_label: raytracing
Expand All @@ -164,6 +174,7 @@ jobs:
rendering_backend: osmesa
static_label: no-static
alembic_version: ${{needs.default_versions.outputs.alembic_version}}
assimp_version: ${{needs.default_versions.outputs.assimp_version}}
- build_type: exclude_deprecated
vtk_version: commit
raytracing_label: raytracing
Expand All @@ -172,6 +183,7 @@ jobs:
rendering_backend: auto
static_label: no-static
alembic_version: ${{needs.default_versions.outputs.alembic_version}}
assimp_version: ${{needs.default_versions.outputs.assimp_version}}
- build_type: no_optional_deps
vtk_version: commit
raytracing_label: no-raytracing
Expand All @@ -180,6 +192,7 @@ jobs:
rendering_backend: auto
static_label: no-static
alembic_version: ${{needs.default_versions.outputs.alembic_version}}
assimp_version: ${{needs.default_versions.outputs.assimp_version}}
- build_type: static_libs
vtk_version: commit
raytracing_label: no-raytracing
Expand All @@ -188,6 +201,7 @@ jobs:
rendering_backend: auto
static_label: static
alembic_version: ${{needs.default_versions.outputs.alembic_version}}
assimp_version: ${{needs.default_versions.outputs.assimp_version}}
- build_type: mindeps
vtk_version: commit
raytracing_label: raytracing
Expand All @@ -196,6 +210,7 @@ jobs:
rendering_backend: auto
static_label: no-static
alembic_version: ${{needs.default_versions.outputs.alembic_min_version}}
assimp_version: ${{needs.default_versions.outputs.assimp_min_version}}

runs-on: ubuntu-22.04
container: ghcr.io/f3d-app/f3d-ci
Expand Down Expand Up @@ -223,6 +238,7 @@ jobs:
static_label: ${{matrix.static_label}}
lfs_sha: ${{ needs.cache_lfs.outputs.lfs_sha}}
alembic_version: ${{matrix.alembic_version}}
assimp_version: ${{matrix.assimp_version}}

#----------------------------------------------------------------------------
# MacOS CI: Build and test, cross-vtk build matrix
Expand Down Expand Up @@ -253,6 +269,7 @@ jobs:
cpu: x86_64
lfs_sha: ${{ needs.cache_lfs.outputs.lfs_sha}}
alembic_version: ${{needs.default_versions.outputs.alembic_version}}
assimp_version: ${{needs.default_versions.outputs.assimp_version}}

#----------------------------------------------------------------------------
# MacOS ARM CI: Build and test, cross-vtk build matrix with a few optional builds
Expand Down Expand Up @@ -295,6 +312,7 @@ jobs:
cpu: arm64
lfs_sha: ${{ needs.cache_lfs.outputs.lfs_sha}}
alembic_version: ${{needs.default_versions.outputs.alembic_version}}
assimp_version: ${{needs.default_versions.outputs.assimp_version}}

#----------------------------------------------------------------------------
# Python packaging: Build and test the Python wheel
Expand Down Expand Up @@ -341,6 +359,7 @@ jobs:
lfs_sha: ${{ needs.cache_lfs.outputs.lfs_sha}}
python_version: ${{matrix.python_version}}
alembic_version: ${{needs.default_versions.outputs.alembic_version}}
assimp_version: ${{needs.default_versions.outputs.assimp_version}}

#----------------------------------------------------------------------------
# Coverage: Build and test on linux with last VTK with coverage option
Expand Down Expand Up @@ -372,6 +391,7 @@ jobs:
lfs_sha: ${{ needs.cache_lfs.outputs.lfs_sha}}
codecov_token: ${{secrets.CODECOV_TOKEN}}
alembic_version: ${{needs.default_versions.outputs.alembic_version}}
assimp_version: ${{needs.default_versions.outputs.assimp_version}}

#----------------------------------------------------------------------------
# Sanitizer: Build and test on linux with last VTK with sanitizer options
Expand Down Expand Up @@ -412,6 +432,7 @@ jobs:
sanitizer_type: ${{matrix.sanitizer_type}}
lfs_sha: ${{ needs.cache_lfs.outputs.lfs_sha}}
alembic_version: ${{needs.default_versions.outputs.alembic_version}}
assimp_version: ${{needs.default_versions.outputs.assimp_version}}

#----------------------------------------------------------------------------
# static-analysis: Run static analysis on linux
Expand Down Expand Up @@ -444,6 +465,7 @@ jobs:
with:
lfs_sha: ${{ needs.cache_lfs.outputs.lfs_sha}}
alembic_version: ${{needs.default_versions.outputs.alembic_version}}
assimp_version: ${{needs.default_versions.outputs.assimp_version}}

#----------------------------------------------------------------------------
# external-build: Check build of F3D as sub-project
Expand Down
2 changes: 1 addition & 1 deletion plugins/assimp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ else()
include(f3dPlugin)
endif()

find_package(assimp 5.0 REQUIRED)
find_package(assimp 5.0.0 REQUIRED)

set(F3D_ASSIMP_VERSION "${assimp_VERSION}" CACHE INTERNAL "")
message(STATUS "Plugin: assimp ${assimp_VERSION} found")
Expand Down

0 comments on commit 265a258

Please sign in to comment.