Skip to content

Commit

Permalink
Merge pull request #1469 from danrbailey/gha_update_ci
Browse files Browse the repository at this point in the history
Use Larger GHA instances from ASWF for Linux/Windows
  • Loading branch information
danrbailey authored Oct 7, 2022
2 parents 90f4feb + 667c6d7 commit 365f18e
Show file tree
Hide file tree
Showing 11 changed files with 59 additions and 52 deletions.
14 changes: 7 additions & 7 deletions .github/workflows/ax.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
github.event_name != 'workflow_dispatch' ||
github.event.inputs.type == 'all' ||
github.event.inputs.type == 'linux'
runs-on: ubuntu-latest
runs-on: ubuntu-20.04-8c-32g-300h
name: >
linux-ax:${{ matrix.config.image }}-cxx:${{ matrix.config.cxx }}-${{ matrix.config.build }}
container:
Expand All @@ -61,11 +61,11 @@ jobs:
matrix:
config:
# Unified
- { image: '2021-clang10', cxx: 'clang++', build: 'Release', j: '2', components: 'core,python,bin,axcore,axbin,axtest' }
- { image: '2021-clang10', cxx: 'g++', build: 'Release', j: '1', components: 'core,python,bin,axcore,axbin,axtest' }
- { image: '2022-clang11', cxx: 'clang++', build: 'Debug', j: '2', components: 'core,python,bin,axcore,axbin,axtest' }
- { image: '2022-clang11', cxx: 'clang++', build: 'Release', j: '2', components: 'core,python,bin,axcore,axbin,axtest' }
- { image: '2022-clang11', cxx: 'g++', build: 'Release', j: '1', components: 'core,python,bin,axcore,axbin,axtest' }
- { image: '2021-clang10', cxx: 'clang++', build: 'Release', j: '8', components: 'core,python,bin,axcore,axbin,axtest' }
- { image: '2021-clang10', cxx: 'g++', build: 'Release', j: '8', components: 'core,python,bin,axcore,axbin,axtest' }
- { image: '2022-clang11', cxx: 'clang++', build: 'Debug', j: '8', components: 'core,python,bin,axcore,axbin,axtest' }
- { image: '2022-clang11', cxx: 'clang++', build: 'Release', j: '8', components: 'core,python,bin,axcore,axbin,axtest' }
- { image: '2022-clang11', cxx: 'g++', build: 'Release', j: '8', components: 'core,python,bin,axcore,axbin,axtest' }
fail-fast: false
steps:
- uses: actions/checkout@v3
Expand Down Expand Up @@ -158,7 +158,7 @@ jobs:
if: |
github.event_name == 'workflow_dispatch' &&
github.event.inputs.type == 'grammar'
runs-on: ubuntu-latest
runs-on: ubuntu-20.04-8c-32g-300h
container:
image: aswf/ci-openvdb:2022-clang11
steps:
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ jobs:
github.event_name != 'workflow_dispatch' ||
github.event.inputs.type == 'all' ||
github.event.inputs.type == 'linux'
runs-on: ubuntu-latest
runs-on: ubuntu-20.04-8c-32g-300h
name: >
linux-vfx:${{ matrix.config.image }}-
abi:${{ matrix.config.abi }}-
Expand Down Expand Up @@ -118,7 +118,7 @@ jobs:
github.event_name != 'workflow_dispatch' ||
github.event.inputs.type == 'all' ||
github.event.inputs.type == 'win'
runs-on: windows-2019
runs-on: windows-2022-8c-32g-300h
name: windows-vc:${{ matrix.config.vc }}-type:${{ matrix.config.build }}
env:
VCPKG_DEFAULT_TRIPLET: ${{ matrix.config.vc }}
Expand All @@ -131,10 +131,10 @@ jobs:
# USE_EXPLICIT_INSTANTIATION is disabled for debug static libraries
# due to disk space constraints
# @note Commented out the static debug build due to linker OOM LNK1102
- { vc: 'x64-windows-static', components: 'core,bin,view,render,test', build: 'Release', cmake: '-A x64 -G \"Visual Studio 16 2019\" -DOPENVDB_CORE_SHARED=OFF -DUSE_STATIC_DEPENDENCIES=ON -DBLOSC_USE_EXTERNAL_SOURCES=ON' }
#- { vc: 'x64-windows-static', components: 'core,bin,view,render,test', build: 'Debug', cmake: '-A x64 -G \"Visual Studio 16 2019\" -DOPENVDB_CORE_SHARED=OFF -DUSE_STATIC_DEPENDENCIES=ON -DBLOSC_USE_EXTERNAL_SOURCES=ON -DUSE_EXPLICIT_INSTANTIATION=OFF' }
- { vc: 'x64-windows', components: 'core,bin,view,render,python,test', build: 'Release', cmake: '-A x64 -G \"Visual Studio 16 2019\" -DOPENVDB_CORE_STATIC=OFF' }
- { vc: 'x64-windows', components: 'core,bin,view,render,python,test', build: 'Debug', cmake: '-A x64 -G \"Visual Studio 16 2019\" -DOPENVDB_CORE_STATIC=OFF' }
- { vc: 'x64-windows-static', components: 'core,bin,view,render,test', build: 'Release', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_SHARED=OFF -DUSE_STATIC_DEPENDENCIES=ON -DBLOSC_USE_EXTERNAL_SOURCES=ON' }
#- { vc: 'x64-windows-static', components: 'core,bin,view,render,test', build: 'Debug', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_SHARED=OFF -DUSE_STATIC_DEPENDENCIES=ON -DBLOSC_USE_EXTERNAL_SOURCES=ON -DUSE_EXPLICIT_INSTANTIATION=OFF' }
- { vc: 'x64-windows', components: 'core,bin,view,render,python,test', build: 'Release', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_STATIC=OFF' }
- { vc: 'x64-windows', components: 'core,bin,view,render,python,test', build: 'Debug', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_STATIC=OFF' }
#- { vc: 'x64-windows', build: 'Release', cmake: '-G \"MinGW Makefiles\" -DOPENVDB_CORE_STATIC=OFF' }
fail-fast: false
steps:
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/houdini.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
# Check that valid github secrets have been set. This isn't needed to retrieve
# the cache, but ensures that the job doens't start with an empty cache
name: Verify Houdini Secrets
runs-on: ubuntu-latest
runs-on: ubuntu-20.04-8c-32g-300h
outputs:
HOUDINI_SECRETS: ${{ steps.check.outputs.HOUDINI_SECRETS }}
steps:
Expand All @@ -60,7 +60,7 @@ jobs:
# ${{ needs.checksecret.outputs.HOUDINI_SECRETS == 'true' ||
# github.repository_owner == 'AcademySoftwareFoundation' }}
if: ${{ false }} # disable for now
runs-on: ubuntu-latest
runs-on: ubuntu-20.04-8c-32g-300h
name: hou:${{ matrix.config.hou }}-vfx:${{ matrix.config.image }}-cxx:${{ matrix.config.cxx }}
container:
image: aswf/ci-base:${{ matrix.config.image }}
Expand All @@ -70,11 +70,11 @@ jobs:
strategy:
matrix:
config:
- { cxx: clang++, image: '2021', hou: '19_5', j: '2', build: 'Release', components: 'core,hou,bin,view,render,python,test,axcore,axbin,axtest', disable_checks: 'OFF' }
- { cxx: clang++, image: '2021', hou: '19_5', j: '8', build: 'Release', components: 'core,hou,bin,view,render,python,test,axcore,axbin,axtest', disable_checks: 'OFF' }
# Houdini 19 is technically on VFX 2020, but we need 2021 dependencies for VDB 10
- { cxx: clang++, image: '2021', hou: '19_0', j: '2', build: 'Release', components: 'core,hou,bin,view,render,python,test,axcore,axbin,axtest', disable_checks: 'ON' }
- { cxx: clang++, image: '2021', hou: '19_5', j: '2', build: 'Debug', components: 'core,hou', disable_checks: 'OFF' }
- { cxx: g++, image: '2021', hou: '19_5', j: '1', build: 'Release', components: 'core,hou', disable_checks: 'OFF' }
- { cxx: clang++, image: '2021', hou: '19_0', j: '8', build: 'Release', components: 'core,hou,bin,view,render,python,test,axcore,axbin,axtest', disable_checks: 'ON' }
- { cxx: clang++, image: '2021', hou: '19_5', j: '8', build: 'Debug', components: 'core,hou', disable_checks: 'OFF' }
- { cxx: g++, image: '2021', hou: '19_5', j: '8', build: 'Release', components: 'core,hou', disable_checks: 'OFF' }
fail-fast: false
steps:
- uses: actions/checkout@v3
Expand Down
20 changes: 10 additions & 10 deletions .github/workflows/nanovdb.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
github.event_name != 'workflow_dispatch' ||
github.event.inputs.type == 'all' ||
github.event.inputs.type == 'linux'
runs-on: ubuntu-latest
runs-on: ubuntu-20.04-8c-32g-300h
name: >
linux-nanovdb:cxx:${{ matrix.config.cxx }}-${{ matrix.config.build }}
container:
Expand Down Expand Up @@ -93,21 +93,21 @@ jobs:
github.event_name != 'workflow_dispatch' ||
github.event.inputs.type == 'all' ||
github.event.inputs.type == 'win'
runs-on: windows-2019
runs-on: windows-2022-8c-32g-300h
env:
VCPKG_DEFAULT_TRIPLET: ${{ matrix.config.vc }}
visual_studio: "Visual Studio 16 2019"
cuda: "11.0.3"
visual_studio: "Visual Studio 17 2022"
cuda: "11.6.2"
strategy:
matrix:
config:
# static build of blosc from vcpkg does not build internal sources.
# USE_STATIC_DEPENDENCIES is required for IlmBase/OpenEXR defines and
# Boost as both shared and static libs are installed.
- { vc: 'x64-windows-static', build: 'Release', cmake: '-A x64 -G \"Visual Studio 16 2019\" -DOPENVDB_CORE_SHARED=OFF -DUSE_STATIC_DEPENDENCIES=ON -DBLOSC_USE_EXTERNAL_SOURCES=ON' }
- { vc: 'x64-windows-static', build: 'Debug', cmake: '-A x64 -G \"Visual Studio 16 2019\" -DOPENVDB_CORE_SHARED=OFF -DUSE_STATIC_DEPENDENCIES=ON -DBLOSC_USE_EXTERNAL_SOURCES=ON' }
- { vc: 'x64-windows', build: 'Release', cmake: '-A x64 -G \"Visual Studio 16 2019\" -DOPENVDB_CORE_STATIC=OFF' }
- { vc: 'x64-windows', build: 'Debug', cmake: '-A x64 -G \"Visual Studio 16 2019\" -DOPENVDB_CORE_STATIC=OFF' }
- { vc: 'x64-windows-static', build: 'Release', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_SHARED=OFF -DUSE_STATIC_DEPENDENCIES=ON -DBLOSC_USE_EXTERNAL_SOURCES=ON' }
- { vc: 'x64-windows-static', build: 'Debug', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_SHARED=OFF -DUSE_STATIC_DEPENDENCIES=ON -DBLOSC_USE_EXTERNAL_SOURCES=ON' }
- { vc: 'x64-windows', build: 'Release', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_STATIC=OFF' }
- { vc: 'x64-windows', build: 'Debug', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_STATIC=OFF' }
fail-fast: false
steps:
- uses: actions/checkout@v3
Expand Down Expand Up @@ -175,7 +175,7 @@ jobs:
github.event_name != 'workflow_dispatch' ||
github.event.inputs.type == 'all' ||
github.event.inputs.type == 'linux'
runs-on: ubuntu-latest
runs-on: ubuntu-20.04-8c-32g-300h
steps:
- uses: actions/checkout@v3
- name: install_gtest
Expand All @@ -188,5 +188,5 @@ jobs:
sudo mkdir .build
cd .build
sudo cmake -DUSE_EXPLICIT_INSTANTIATION=OFF -DNANOVDB_BUILD_UNITTESTS=ON ../
sudo make -j2 install
sudo make -j8 install
sudo ctest -V
30 changes: 15 additions & 15 deletions .github/workflows/weekly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
# download Houdini and cache it. The secrets are used in download_houdini.py
checksecret:
name: Verify Houdini Secrets
runs-on: ubuntu-latest
runs-on: ubuntu-20.04-8c-32g-300h
outputs:
HOUDINI_SECRETS: ${{ steps.check.outputs.HOUDINI_SECRETS }}
steps:
Expand All @@ -55,7 +55,7 @@ jobs:
# github.event.inputs.type == 'all' ||
# github.event.inputs.type == 'houdini')
if: ${{ false }} # disable for now
runs-on: ubuntu-latest
runs-on: ubuntu-20.04-8c-32g-300h
name: linux-houdini:${{ matrix.config.houdini_version }}
env:
CXX: clang++
Expand Down Expand Up @@ -109,7 +109,7 @@ jobs:
github.event_name != 'workflow_dispatch' ||
github.event.inputs.type == 'all' ||
github.event.inputs.type == 'extra'
runs-on: ubuntu-latest
runs-on: ubuntu-20.04-8c-32g-300h
name: linux-extra:${{ matrix.config.name }}
container:
# Can bump clang when AX is compatible with LLVM14
Expand Down Expand Up @@ -177,7 +177,7 @@ jobs:
github.event_name != 'workflow_dispatch' ||
github.event.inputs.type == 'all' ||
github.event.inputs.type == 'ax'
runs-on: ubuntu-latest
runs-on: ubuntu-20.04-8c-32g-300h
name: >
linux-ax:${{ matrix.config.image }}-cxx:${{ matrix.config.cxx }}-${{ matrix.config.build }}
container:
Expand All @@ -188,15 +188,15 @@ jobs:
matrix:
config:
# Unified
- { image: '2022-clang14', cxx: 'clang++', build: 'Release', j: '2', components: 'core,bin,axcore,axbin,axtest' }
- { image: '2022-clang14', cxx: 'g++', build: 'Release', j: '1', components: 'core,bin,axcore,axbin,axtest' }
- { image: '2022-clang13', cxx: 'clang++', build: 'Release', j: '2', components: 'core,bin,axcore,axbin,axtest' }
- { image: '2022-clang13', cxx: 'g++', build: 'Release', j: '1', components: 'core,bin,axcore,axbin,axtest' }
- { image: '2022-clang14', cxx: 'clang++', build: 'Release', j: '8', components: 'core,bin,axcore,axbin,axtest' }
- { image: '2022-clang14', cxx: 'g++', build: 'Release', j: '8', components: 'core,bin,axcore,axbin,axtest' }
- { image: '2022-clang13', cxx: 'clang++', build: 'Release', j: '8', components: 'core,bin,axcore,axbin,axtest' }
- { image: '2022-clang13', cxx: 'g++', build: 'Release', j: '8', components: 'core,bin,axcore,axbin,axtest' }
# Standalone
- { image: '2021-clang10', cxx: 'clang++', build: 'Release', j: '2', components: 'core' }
- { image: '2022-clang11', cxx: 'clang++', build: 'Debug', j: '2', components: 'core' }
- { image: '2022-clang11', cxx: 'clang++', build: 'Release', j: '2', components: 'core' }
- { image: '2022-clang11', cxx: 'g++', build: 'Release', j: '1', components: 'core' }
- { image: '2021-clang10', cxx: 'clang++', build: 'Release', j: '8', components: 'core' }
- { image: '2022-clang11', cxx: 'clang++', build: 'Debug', j: '8', components: 'core' }
- { image: '2022-clang11', cxx: 'clang++', build: 'Release', j: '8', components: 'core' }
- { image: '2022-clang11', cxx: 'g++', build: 'Release', j: '8', components: 'core' }
fail-fast: false
steps:
- uses: actions/checkout@v3
Expand Down Expand Up @@ -270,7 +270,7 @@ jobs:
github.event_name != 'workflow_dispatch' ||
github.event.inputs.type == 'all' ||
github.event.inputs.type == 'ax'
runs-on: windows-2019
runs-on: windows-2022-8c-32g-300h
name: windows-vc:${{ matrix.config.vc }}-type:${{ matrix.config.build }}
env:
VCPKG_DEFAULT_TRIPLET: ${{ matrix.config.vc }}
Expand Down Expand Up @@ -307,7 +307,7 @@ jobs:
--config=${{ matrix.config.build }}
--components="${{ matrix.config.components }}"
--cargs=\'
-A x64 -G \"Visual Studio 16 2019\"
-A x64 -G \"Visual Studio 17 2022\"
-DVCPKG_TARGET_TRIPLET=${VCPKG_DEFAULT_TRIPLET}
-DCMAKE_TOOLCHAIN_FILE=\"${VCPKG_INSTALLATION_ROOT}\\scripts\\buildsystems\\vcpkg.cmake\"
-DMSVC_COMPRESS_PDB=ON
Expand Down Expand Up @@ -335,7 +335,7 @@ jobs:
github.event_name != 'workflow_dispatch' ||
github.event.inputs.type == 'all' ||
github.event.inputs.type == 'blosc'
runs-on: ubuntu-latest
runs-on: ubuntu-20.04-8c-32g-300h
name: linux-blosc:${{ matrix.blosc }}
container:
image: aswf/ci-base:2021
Expand Down
6 changes: 3 additions & 3 deletions ci/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@ declare -A PARMS
PARMS[--components]=core,bin
PARMS[--target]=install
PARMS[--build-dir]=build
# github actions runners have 2 threads
# github actions runners have 8 threads
# https://help.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners
PARMS[-j]=2
PARMS[-j]=8

# Available options for --components
declare -A COMPONENTS
Expand Down Expand Up @@ -155,7 +155,7 @@ fi

################################################

# github actions runners have 2 threads
# github actions runners have 8 threads
# https://help.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners
export CMAKE_BUILD_PARALLEL_LEVEL=${PARMS[-j]}
echo "Build using ${CMAKE_BUILD_PARALLEL_LEVEL} threads"
Expand Down
2 changes: 1 addition & 1 deletion ci/install_blosc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,5 @@ cmake \
"${CMAKE_EXTRA[@]}" \
..

make -j4
make -j8
make install
2 changes: 1 addition & 1 deletion ci/install_doxygen.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,5 @@ fi
mkdir build
cd build
cmake ../.
make -j4
make -j8
make install
2 changes: 1 addition & 1 deletion ci/install_gtest.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,5 @@ fi
mkdir build
cd build
cmake ../.
make -j4
make -j8
make install
5 changes: 4 additions & 1 deletion ci/install_windows_cuda.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,13 @@ $CUDA_KNOWN_URLS = @{
"11.2.0" = "https://developer.download.nvidia.com/compute/cuda/11.2.0/network_installers/cuda_11.2.0_win10_network.exe";
"11.2.1" = "https://developer.download.nvidia.com/compute/cuda/11.2.1/network_installers/cuda_11.2.1_win10_network.exe";
"11.2.2" = "https://developer.download.nvidia.com/compute/cuda/11.2.2/network_installers/cuda_11.2.2_win10_network.exe";
"11.3.0" = "https://developer.download.nvidia.com/compute/cuda/11.3.0/network_installers/cuda_11.3.0_win10_network.exe"
"11.3.0" = "https://developer.download.nvidia.com/compute/cuda/11.3.0/network_installers/cuda_11.3.0_win10_network.exe";
"11.6.2" = "https://developer.download.nvidia.com/compute/cuda/11.6.2/network_installers/cuda_11.6.2_windows_network.exe"
}

# @todo - change this to be based on _MSC_VER intead, or invert it to be CUDA keyed instead?
$VISUAL_STUDIO_MIN_CUDA = @{
"2022" = "11.6";
"2019" = "10.1";
"2017" = "10.0"; # Depends on which version of 2017! 9.0 to 10.0 depending on version
"2015" = "8.0"; # might support older, unsure.
Expand All @@ -43,6 +45,7 @@ $CUDA_PACKAGES_IN = @(
"curand_dev";
"nvrtc_dev";
"cudart";
"thrust";
)


Expand Down
6 changes: 5 additions & 1 deletion openvdb_cmd/vdb_render/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,11 @@ target_link_libraries(vdb_render

if(WIN32)
# @note OPENVDB_OPENEXR_STATICLIB is old functionality and should be removed
get_target_property(ILMBASE_LIB_TYPE IlmBase::Half TYPE)
if (TARGET Imath::Imath)
get_target_property(ILMBASE_LIB_TYPE Imath::Imath TYPE)
else()
get_target_property(ILMBASE_LIB_TYPE IlmBase::Half TYPE)
endif()
if(OPENEXR_USE_STATIC_LIBS OR (${ILMBASE_LIB_TYPE} STREQUAL STATIC_LIBRARY))
target_compile_definitions(vdb_render PUBLIC -DOPENVDB_OPENEXR_STATICLIB)
endif()
Expand Down

0 comments on commit 365f18e

Please sign in to comment.