usdcat doesn't support --version flag. It requires input files and
exits with error "inputFiles is required" when run without arguments.
Changed all verification steps to use `usdcat --help` which properly
displays the help text and exits with success.
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.
Update the OpenUSD binary download pattern to match the actual release
artifact naming:
- Old: openusd-*-minsizerel-win64.zip
- New: openusd-*-minsizerel-windows-x86_64.zip
This matches the naming convention used in openusd-bin releases where
platform names follow GitHub Actions standard identifiers
(windows-x86_64, linux-x86_64, etc).
Fixes the "no assets match the file pattern" error in Windows CI.
Despite TBB being included in the OpenUSD binary package, the system
still requires libtbb12 to be installed for proper library resolution.
This ensures usdcat and other OpenUSD binaries can find libtbb.so.12.
Fixes failure in workflow run #20869757118.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Fix ARM64 binary pattern: change aarch64 to arm64 to match actual release filename
- Add libtbb12 installation for x86_64 build to resolve missing libtbb.so.12 error
These changes fix the failures in workflow run #20866500999 where:
1. ARM64 build failed with "no assets match the file pattern"
2. x86_64 build failed with "error while loading shared libraries: libtbb.so.12"
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Downloads prebuilt OpenUSD binaries from lighttransport/openusd-bin
and tests TinyUSDZ output compatibility with official OpenUSD tools.
Validates that TinyUSDZ-generated USDA files can be read by OpenUSD's
usdcat. Tests run on Linux (x64/ARM64), macOS ARM64, and Windows x64.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Revert to running tusdcat directly without debuggers. The ARM64 pointer
sign-extension bug has been fixed in the previous commit.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Build with Debug mode for better stack traces
- Install gdb for gcc build, lldb-21 for clang build
- Run tusdcat under debugger to capture backtrace on crash
- Clean up duplicate steps from earlier merge
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Build with AddressSanitizer enabled on ARM64 runner to help identify
the root cause of segmentation faults in timesamples USDC file parsing.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add explicit tusdcat tests for USDC timesamples files that have shown
parsing issues on ARM64 runners. Also upload ARM64 tusdcat binaries as
artifacts for testing in other environments (e.g., QEMU).
Run order: artifact upload -> tusdcat tests -> ctest, so that artifacts
are available even if subsequent tests fail.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add explicit tusdcat tests for USDC timesamples files that have shown
parsing issues on ARM64 runners. Also upload ARM64 tusdcat binaries as
artifacts for testing in other environments (e.g., QEMU).
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Update ARM64 runners from ubuntu-22.04-arm to ubuntu-24.04-arm
- Update LLVM apt repository from jammy to noble for Ubuntu 24.04
- Remove clang default from bootstrap-cmake-linux.sh; now uses
system default compiler unless CC/CXX are explicitly set
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Split build-arm64 into build-arm64-gcc and build-arm64-clang
- build-arm64-gcc: Uses system GCC on Ubuntu 22.04 ARM
- build-arm64-clang: Installs Clang 21 from LLVM apt repository
(previously used system Clang 14 which is outdated)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>