Fix OpenUSD binary extraction and environment setup in CI workflows

The OpenUSD release archives extract files directly to the current
directory (./bin/, ./lib/, etc.) rather than creating a top-level
directory. This fixes extraction and environment setup for all platforms:

**Changes:**
1. Extract archives into a named 'openusd' directory
2. Manually set all required environment variables:
   - PATH: Add bin, lib (Windows), and tbb/bin directories
   - LD_LIBRARY_PATH/DYLD_LIBRARY_PATH: Add lib and tbb/lib directories
   - PYTHONPATH: Add lib/python directory
   - PXR_PLUGINPATH_NAME: Set to lib/usd

**Fixes:**
- Windows: usdcat not found in PATH (bin directory not added)
- macOS: libtbb.12.dylib not found (DYLD_LIBRARY_PATH missing tbb/lib)
- Linux: Ensure TBB libraries are in LD_LIBRARY_PATH

All platforms now properly configure the environment to use the bundled
TBB libraries included in the release packages.
This commit is contained in:
Syoyo Fujita
2026-01-10 23:39:22 +09:00
parent e8ac8e5bd5
commit ad5ff9d263
3 changed files with 33 additions and 34 deletions

View File

@@ -132,16 +132,14 @@ jobs:
- name: Extract and setup OpenUSD
run: |
tar -xzf openusd-*-minsizerel-linux-x86_64.tar.gz
USD_DIR=$(find . -maxdepth 1 -type d -name "openusd-*" | head -n 1)
echo "USD_DIR=$USD_DIR" >> $GITHUB_ENV
echo "USD_INSTALL_ROOT=$(pwd)/$USD_DIR" >> $GITHUB_ENV
echo "$(pwd)/$USD_DIR/bin" >> $GITHUB_PATH
echo "LD_LIBRARY_PATH=$(pwd)/$USD_DIR/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV
if [ -f "setup-usd-env.sh" ]; then
source setup-usd-env.sh
echo "PYTHONPATH=$PYTHONPATH" >> $GITHUB_ENV
fi
mkdir -p openusd
tar -xzf openusd-*-minsizerel-linux-x86_64.tar.gz -C openusd
USD_ROOT="$(pwd)/openusd"
echo "USD_INSTALL_ROOT=$USD_ROOT" >> $GITHUB_ENV
echo "$USD_ROOT/bin" >> $GITHUB_PATH
echo "LD_LIBRARY_PATH=$USD_ROOT/lib:$USD_ROOT/tbb/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV
echo "PYTHONPATH=$USD_ROOT/lib/python:$PYTHONPATH" >> $GITHUB_ENV
echo "PXR_PLUGINPATH_NAME=$USD_ROOT/lib/usd" >> $GITHUB_ENV
- name: Verify OpenUSD installation
run: |
@@ -299,16 +297,14 @@ jobs:
- name: Extract and setup OpenUSD (ARM64)
run: |
tar -xzf openusd-*-minsizerel-linux-arm64.tar.gz
USD_DIR=$(find . -maxdepth 1 -type d -name "openusd-*" | head -n 1)
echo "USD_DIR=$USD_DIR" >> $GITHUB_ENV
echo "USD_INSTALL_ROOT=$(pwd)/$USD_DIR" >> $GITHUB_ENV
echo "$(pwd)/$USD_DIR/bin" >> $GITHUB_PATH
echo "LD_LIBRARY_PATH=$(pwd)/$USD_DIR/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV
if [ -f "setup-usd-env.sh" ]; then
source setup-usd-env.sh
echo "PYTHONPATH=$PYTHONPATH" >> $GITHUB_ENV
fi
mkdir -p openusd
tar -xzf openusd-*-minsizerel-linux-arm64.tar.gz -C openusd
USD_ROOT="$(pwd)/openusd"
echo "USD_INSTALL_ROOT=$USD_ROOT" >> $GITHUB_ENV
echo "$USD_ROOT/bin" >> $GITHUB_PATH
echo "LD_LIBRARY_PATH=$USD_ROOT/lib:$USD_ROOT/tbb/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV
echo "PYTHONPATH=$USD_ROOT/lib/python:$PYTHONPATH" >> $GITHUB_ENV
echo "PXR_PLUGINPATH_NAME=$USD_ROOT/lib/usd" >> $GITHUB_ENV
- name: Verify OpenUSD installation (ARM64)
run: |

View File

@@ -39,16 +39,14 @@ jobs:
- name: Extract and setup OpenUSD (macOS ARM64)
run: |
tar -xzf openusd-*-minsizerel-macos-arm64.tar.gz
USD_DIR=$(find . -maxdepth 1 -type d -name "openusd-*" | head -n 1)
echo "USD_DIR=$USD_DIR" >> $GITHUB_ENV
echo "USD_INSTALL_ROOT=$(pwd)/$USD_DIR" >> $GITHUB_ENV
echo "$(pwd)/$USD_DIR/bin" >> $GITHUB_PATH
echo "DYLD_LIBRARY_PATH=$(pwd)/$USD_DIR/lib:$DYLD_LIBRARY_PATH" >> $GITHUB_ENV
if [ -f "setup-usd-env.sh" ]; then
source setup-usd-env.sh
echo "PYTHONPATH=$PYTHONPATH" >> $GITHUB_ENV
fi
mkdir -p openusd
tar -xzf openusd-*-minsizerel-macos-arm64.tar.gz -C openusd
USD_ROOT="$(pwd)/openusd"
echo "USD_INSTALL_ROOT=$USD_ROOT" >> $GITHUB_ENV
echo "$USD_ROOT/bin" >> $GITHUB_PATH
echo "DYLD_LIBRARY_PATH=$USD_ROOT/lib:$USD_ROOT/tbb/lib:$DYLD_LIBRARY_PATH" >> $GITHUB_ENV
echo "PYTHONPATH=$USD_ROOT/lib/python:$PYTHONPATH" >> $GITHUB_ENV
echo "PXR_PLUGINPATH_NAME=$USD_ROOT/lib/usd" >> $GITHUB_ENV
- name: Verify OpenUSD installation (macOS ARM64)
run: |

View File

@@ -47,10 +47,15 @@ jobs:
- name: Extract and setup OpenUSD (Windows x64)
run: |
$archive = Get-ChildItem -Filter "openusd-*-minsizerel-windows-x86_64.zip" | Select-Object -First 1
Expand-Archive -Path $archive.FullName -DestinationPath . -Force
$usdDir = Get-ChildItem -Directory -Filter "openusd-*" | Select-Object -First 1
echo "USD_INSTALL_ROOT=$($usdDir.FullName)" >> $env:GITHUB_ENV
echo "$($usdDir.FullName)\bin" >> $env:GITHUB_PATH
New-Item -ItemType Directory -Name openusd -Force | Out-Null
Expand-Archive -Path $archive.FullName -DestinationPath openusd -Force
$usdRoot = Resolve-Path openusd
echo "USD_INSTALL_ROOT=$usdRoot" >> $env:GITHUB_ENV
echo "$usdRoot\bin" >> $env:GITHUB_PATH
echo "$usdRoot\lib" >> $env:GITHUB_PATH
echo "$usdRoot\tbb\bin" >> $env:GITHUB_PATH
echo "PYTHONPATH=$usdRoot\lib\python;$env:PYTHONPATH" >> $env:GITHUB_ENV
echo "PXR_PLUGINPATH_NAME=$usdRoot\lib\usd" >> $env:GITHUB_ENV
- name: Verify OpenUSD installation (Windows x64)
run: |