Skip to content

Commit

Permalink
CI: Adding occt V7_6_3 to mindeps
Browse files Browse the repository at this point in the history
  • Loading branch information
mwestphal committed Jan 25, 2025
1 parent 13145b7 commit e511ae8
Show file tree
Hide file tree
Showing 9 changed files with 102 additions and 7 deletions.
4 changes: 4 additions & 0 deletions .github/actions/coverage-ci/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ inputs:
draco_version:
description: 'Version of draco to build'
required: true
occt_version:
description: 'Version of occt to build'
required: true

runs:
using: "composite"
Expand All @@ -41,6 +44,7 @@ runs:
alembic_version: ${{inputs.alembic_version}}
assimp_version: ${{inputs.assimp_version}}
draco_version: ${{inputs.draco_version}}
occt_version: ${{inputs.occt_version}}

- name: Install VTK dependency
uses: ./source/.github/actions/vtk-install-dep
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 @@ -14,6 +14,9 @@ inputs:
draco_version:
description: 'Version of draco to build'
required: true
occt_version:
description: 'Version of occt to build'
required: true

runs:
using: "composite"
Expand All @@ -29,6 +32,7 @@ runs:
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
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 @@ -49,6 +49,9 @@ inputs:
draco_version:
description: 'Version of draco to build'
required: true
occt_version:
description: 'Version of occt to build'
required: true

runs:
using: "composite"
Expand All @@ -74,6 +77,7 @@ runs:
alembic_version: ${{inputs.alembic_version}}
assimp_version: ${{inputs.assimp_version}}
draco_version: ${{inputs.draco_version}}
occt_version: ${{inputs.occt_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 @@ -22,6 +22,9 @@ inputs:
draco_version:
description: 'Version of draco to build'
required: true
occt_version:
description: 'Version of occt to build'
required: true

runs:
using: "composite"
Expand All @@ -33,6 +36,7 @@ runs:
[[ "${{ 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; }
- name: Dependencies Dir
shell: bash
Expand Down Expand Up @@ -61,3 +65,4 @@ runs:
alembic_version: ${{inputs.alembic_version}}
assimp_version: ${{inputs.assimp_version}}
draco_version: ${{inputs.draco_version}}
occt_version: ${{inputs.occt_version}}
58 changes: 51 additions & 7 deletions .github/actions/occt-install-dep/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,25 @@ inputs:
description: 'CPU architecture to build for'
required: false
default: 'x86_64'
version:
description: 'Version of occt 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 OCCT
id: cache-occt
uses: actions/cache@v4
with:
path: dependencies/occt_install
key: occt-V7_8_1-${{runner.os}}-${{inputs.cpu}}-3
key: occt-${{inputs.version}}-${{runner.os}}-${{inputs.cpu}}-3

- name: Checkout OCCT
if: steps.cache-occt.outputs.cache-hit != 'true'
Expand All @@ -24,27 +32,36 @@ runs:
repository: Open-Cascade-SAS/OCCT
submodules: true
path: './dependencies/occt'
ref: V7_8_1
ref: ${{inputs.version}}

- name: Patch OCCT
- name: Patch OCCT all versions
if: steps.cache-occt.outputs.cache-hit != 'true'
working-directory: ${{github.workspace}}/dependencies/occt
shell: bash
run: patch -p1 < $GITHUB_ACTION_PATH/0001-Adding-INSTALL_RPATH-Linux.patch

- name: Patch OCCT current version
if: |
steps.cache-occt.outputs.cache-hit != 'true' &&
inputs.version != 'V7_6_3'
working-directory: ${{github.workspace}}/dependencies/occt
shell: bash
run: |
patch -p1 < $GITHUB_ACTION_PATH/0001-Adding-INSTALL_RPATH-Linux.patch
patch -p1 < $GITHUB_ACTION_PATH/occt-remove-unneeded-includes.patch
patch -p1 < $GITHUB_ACTION_PATH/occt-remove-unneeded-quotes-warning-msvc.patch
- name: Setup OCCT
if: steps.cache-occt.outputs.cache-hit != 'true'
working-directory: ${{github.workspace}}/dependencies
shell: bash
run: |
run:
mkdir occt_build
mkdir occt_install

- name: Configure OCCT
if: steps.cache-occt.outputs.cache-hit != 'true'
- name: Configure OCCT current version
if: |
steps.cache-occt.outputs.cache-hit != 'true' &&
inputs.version != 'V7_6_3'
working-directory: ${{github.workspace}}/dependencies/occt_build
shell: bash
run: >
Expand All @@ -68,6 +85,33 @@ runs:
${{ runner.os == 'macOS' && '-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON -DCMAKE_OSX_DEPLOYMENT_TARGET=12.0' || null }}
${{ runner.os == 'Windows' && '-Ax64 -DCMAKE_POLICY_DEFAULT_CMP0091=NEW -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL' || null }}
- name: Configure OCCT min version
if: |
steps.cache-occt.outputs.cache-hit != 'true' &&
inputs.version == 'V7_6_3'
working-directory: ${{github.workspace}}/dependencies/occt_build
shell: bash
run: >
cmake ../occt
-DBUILD_ADDITIONAL_TOOLKITS="TKSTEP;TKIGES;TKMesh;TKXDESTEP;TKXDEIGES"
-DBUILD_DOC_Overview=OFF
-DBUILD_LIBRARY_TYPE=Shared
-DBUILD_MODULE_ApplicationFramework=OFF
-DBUILD_MODULE_DataExchange=OFF
-DBUILD_MODULE_Draw=OFF
-DBUILD_MODULE_FoundationClasses=OFF
-DBUILD_MODULE_ModelingAlgorithms=OFF
-DBUILD_MODULE_ModelingData=OFF
-DBUILD_MODULE_Visualization=OFF
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX:PATH=../occt_install
-DCMAKE_INSTALL_NAME_DIR:PATH=${{github.workspace}}/dependencies/install/lib
-DINSTALL_DIR_BIN:PATH=bin
-DUSE_FREETYPE=OFF
-DCMAKE_OSX_ARCHITECTURES=${{ inputs.cpu }}
${{ runner.os == 'macOS' && '-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON -DCMAKE_OSX_DEPLOYMENT_TARGET=10.15' || null }}
${{ runner.os == 'Windows' && '-Ax64 -DCMAKE_POLICY_DEFAULT_CMP0091=NEW -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL' || null }}
- name: Build OCCT
if: steps.cache-occt.outputs.cache-hit != 'true'
working-directory: ${{github.workspace}}/dependencies/occt_build
Expand Down
4 changes: 4 additions & 0 deletions .github/actions/python-ci/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ inputs:
draco_version:
description: 'Version of draco to build'
required: true
occt_version:
description: 'Version of occt to build'
required: true

runs:
using: "composite"
Expand All @@ -39,6 +42,7 @@ runs:
alembic_version: ${{inputs.alembic_version}}
assimp_version: ${{inputs.assimp_version}}
draco_version: ${{inputs.draco_version}}
occt_version: ${{inputs.occt_version}}

- name: Install VTK dependency
uses: ./source/.github/actions/vtk-install-dep
Expand Down
4 changes: 4 additions & 0 deletions .github/actions/sanitizer-ci/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ inputs:
draco_version:
description: 'Version of draco to build'
required: true
occt_version:
description: 'Version of occt to build'
required: true

runs:
using: "composite"
Expand All @@ -44,6 +47,7 @@ runs:
alembic_version: ${{inputs.alembic_version}}
assimp_version: ${{inputs.assimp_version}}
draco_version: ${{inputs.draco_version}}
occt_version: ${{inputs.occt_version}}

- name: Install VTK dependency
uses: ./source/.github/actions/vtk-install-dep
Expand Down
4 changes: 4 additions & 0 deletions .github/actions/static-analysis-ci/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ inputs:
draco_version:
description: 'Version of draco to build'
required: true
occt_version:
description: 'Version of occt to build'
required: true

runs:
using: "composite"
Expand All @@ -37,6 +40,7 @@ runs:
alembic_version: ${{inputs.alembic_version}}
assimp_version: ${{inputs.assimp_version}}
draco_version: ${{inputs.draco_version}}
occt_version: ${{inputs.occt_version}}

- name: Install VTK dependency
uses: ./source/.github/actions/vtk-install-dep
Expand Down
22 changes: 22 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ jobs:
assimp_min_version: ${{ steps.set_default_versions.outputs.assimp_min_version }}
draco_version: ${{ steps.set_default_versions.outputs.draco_version }}
draco_min_version: ${{ steps.set_default_versions.outputs.draco_min_version }}
occt_version: ${{ steps.set_default_versions.outputs.occt_version }}
occt_min_version: ${{ steps.set_default_versions.outputs.occt_min_version }}
steps:

# Alembic is part of VFX reference platform (CY2025: 1.8.x)
Expand All @@ -39,6 +41,8 @@ jobs:
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
#----------------------------------------------------------------------------
# Cache LFS: Checkout LFS data and update the cache to limit LFS bandwidth
Expand Down Expand Up @@ -81,12 +85,14 @@ jobs:
- 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}}
- 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}}
draco_version: ${{needs.default_versions.outputs.draco_min_version}}
occt_version: ${{needs.default_versions.outputs.occt_min_version}}

runs-on: ${{matrix.os}}
container: ${{ matrix.os == 'ubuntu-22.04' && 'ghcr.io/f3d-app/f3d-ci' || null }}
Expand All @@ -107,6 +113,7 @@ jobs:
alembic_version: ${{matrix.alembic_version}}
assimp_version: ${{matrix.assimp_version}}
draco_version: ${{matrix.draco_version}}
occt_version: ${{matrix.occt_version}}

#----------------------------------------------------------------------------
# Windows CI: Build and test, cross-vtk build matrix
Expand Down Expand Up @@ -144,6 +151,7 @@ jobs:
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}}

#----------------------------------------------------------------------------
# Linux CI: Build and test, cross-vtk build matrix
Expand All @@ -166,6 +174,7 @@ jobs:
- 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}}
- build_type: egl
vtk_version: commit
raytracing_label: raytracing
Expand All @@ -176,6 +185,7 @@ jobs:
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}}
- build_type: osmesa
vtk_version: commit
raytracing_label: raytracing
Expand All @@ -186,6 +196,7 @@ jobs:
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}}
- build_type: exclude_deprecated
vtk_version: commit
raytracing_label: raytracing
Expand All @@ -196,6 +207,7 @@ jobs:
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}}
- build_type: no_optional_deps
vtk_version: commit
raytracing_label: no-raytracing
Expand All @@ -206,6 +218,7 @@ jobs:
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}}
- build_type: static_libs
vtk_version: commit
raytracing_label: no-raytracing
Expand All @@ -216,6 +229,7 @@ jobs:
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}}
- build_type: mindeps
vtk_version: commit
raytracing_label: raytracing
Expand All @@ -226,6 +240,7 @@ jobs:
alembic_version: ${{needs.default_versions.outputs.alembic_min_version}}
assimp_version: ${{needs.default_versions.outputs.assimp_min_version}}
draco_version: ${{needs.default_versions.outputs.draco_min_version}}
occt_version: ${{needs.default_versions.outputs.occt_min_version}}

runs-on: ubuntu-22.04
container: ghcr.io/f3d-app/f3d-ci
Expand Down Expand Up @@ -255,6 +270,7 @@ jobs:
alembic_version: ${{matrix.alembic_version}}
assimp_version: ${{matrix.assimp_version}}
draco_version: ${{matrix.draco_version}}
occt_version: ${{matrix.occt_version}}

#----------------------------------------------------------------------------
# MacOS CI: Build and test, cross-vtk build matrix
Expand Down Expand Up @@ -287,6 +303,7 @@ jobs:
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}}

#----------------------------------------------------------------------------
# MacOS ARM CI: Build and test, cross-vtk build matrix with a few optional builds
Expand Down Expand Up @@ -331,6 +348,7 @@ jobs:
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}}

#----------------------------------------------------------------------------
# Python packaging: Build and test the Python wheel
Expand Down Expand Up @@ -379,6 +397,7 @@ jobs:
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}}

#----------------------------------------------------------------------------
# Coverage: Build and test on linux with last VTK with coverage option
Expand Down Expand Up @@ -412,6 +431,7 @@ jobs:
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}}

#----------------------------------------------------------------------------
# Sanitizer: Build and test on linux with last VTK with sanitizer options
Expand Down Expand Up @@ -454,6 +474,7 @@ jobs:
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}}

#----------------------------------------------------------------------------
# static-analysis: Run static analysis on linux
Expand Down Expand Up @@ -488,6 +509,7 @@ jobs:
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}}

#----------------------------------------------------------------------------
# external-build: Check build of F3D as sub-project
Expand Down

0 comments on commit e511ae8

Please sign in to comment.