Skip to content

Commit 71e038c

Browse files
committed
Merge release v25.08
2 parents 1595c62 + 0815913 commit 71e038c

File tree

3,715 files changed

+157777
-114375
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

3,715 files changed

+157777
-114375
lines changed

.github/workflows/buildusd.yml

Lines changed: 36 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -5,49 +5,35 @@ on:
55
branches:
66
- dev
77
- release
8-
issue_comment:
9-
types: [created]
8+
pull_request:
9+
branches:
10+
- dev
11+
paths:
12+
- '**'
13+
- '!.github/workflows/**'
1014

1115
jobs:
12-
GetUser:
16+
Validation:
1317
runs-on: ubuntu-22.04
14-
timeout-minutes: 5
18+
timeout-minutes: 30
1519
outputs:
16-
require-result: ${{ steps.check.outputs.require-result }}
20+
validation-failed: ${{ steps.changed-workflows.outputs.any_changed }}
1721
steps:
18-
- uses: actions-cool/check-user-permission@v2
19-
id: check
22+
- name: Checkout code
23+
uses: actions/checkout@v4
2024
with:
21-
require: 'write'
22-
username: ${{ github.event.comment.user.login }}
23-
24-
GetGitRef:
25-
runs-on: ubuntu-22.04
26-
timeout-minutes: 5
27-
outputs:
28-
ref: ${{ steps.setter.outputs.ref }}
29-
steps:
30-
- name: Get push ref
31-
if: ${{ github.event_name == 'push' }}
32-
run: |
33-
echo "REF=${{ github.ref }}" >> $GITHUB_ENV
34-
- name: Get PR ref
35-
if: ${{ github.event.issue.pull_request }}
36-
run: |
37-
echo "REF=refs/pull/${{ github.event.issue.number }}/merge" >> $GITHUB_ENV
38-
- name: Print ENV_VAR
39-
run: |
40-
echo "The value of REF is $REF"
41-
- name: Set ENV_VAR
42-
id: setter
43-
run: |
44-
echo "ref=$REF" >> "$GITHUB_OUTPUT"
25+
ref: ${{ github.ref }}
26+
- name: Check workflows directory
27+
id: changed-workflows
28+
uses: tj-actions/changed-files@ed68ef82c095e0d48ec87eccea555d944a631a4c #v46
29+
with:
30+
files: |
31+
.github/workflows/**
4532
4633
Linux:
4734
needs:
48-
- GetUser
49-
- GetGitRef
50-
if: ${{ (github.event.issue.pull_request && contains(github.event.comment.body, '/AzurePipelines run') && needs.GetUser.outputs.require-result == 'true' ) || github.event_name == 'push' }}
35+
- Validation
36+
if: ${{ (github.event_name == 'pull_request' && needs.Validation.outputs.validation-failed != 'true') || github.event_name == 'push' }}
5137
runs-on: ubuntu-22.04
5238
env:
5339
PYTHON_VERSION: "3.9"
@@ -56,7 +42,7 @@ jobs:
5642
- name: Checkout code
5743
uses: actions/checkout@v4
5844
with:
59-
ref: ${{needs.GetGitRef.outputs.ref}}
45+
ref: ${{ github.ref }}
6046
- name: Restore cached artifacts
6147
id: cache-usd-build-dependency
6248
uses: actions/cache/restore@v4
@@ -94,22 +80,21 @@ jobs:
9480
- name: Test USD
9581
working-directory: ./USDgen/build/OpenUSD
9682
run: |
97-
ctest -V -C Release
83+
ctest -V -C Release --exclude-regex "testExecGeomXformable_Perf_Large"
9884
9985
macOS:
10086
needs:
101-
- GetUser
102-
- GetGitRef
103-
if: ${{ (github.event.issue.pull_request && contains(github.event.comment.body, '/AzurePipelines run') && needs.GetUser.outputs.require-result == 'true' ) || github.event_name == 'push' }}
104-
runs-on: macos-13
87+
- Validation
88+
if: ${{ (github.event_name == 'pull_request' && needs.Validation.outputs.validation-failed != 'true') || github.event_name == 'push' }}
89+
runs-on: macos-15
10590
env:
10691
PYTHON_VERSION: "3.11"
10792
timeout-minutes: 120
10893
steps:
10994
- name: Checkout code
11095
uses: actions/checkout@v4
11196
with:
112-
ref: ${{needs.GetGitRef.outputs.ref}}
97+
ref: ${{ github.ref }}
11398
- name: Restore cached artifacts
11499
id: cache-usd-build-dependency
115100
uses: actions/cache/restore@v4
@@ -125,7 +110,7 @@ jobs:
125110
- name: Install dependencies
126111
run: |
127112
export PATH=/Applications/CMake.app/Contents/bin:$PATH
128-
sudo xcode-select -s /Applications/Xcode_14.1.app/Contents/Developer
113+
sudo xcode-select -s /Applications/Xcode_16.app/Contents/Developer
129114
# Set SYSTEM_VERSION_COMPAT while installing Python packages to
130115
# accommodate the macOS version numbering change from 10.x to 11
131116
export SYSTEM_VERSION_COMPAT=1
@@ -152,22 +137,21 @@ jobs:
152137
working-directory: ./USDgen/build/OpenUSD
153138
run: |
154139
export PATH=/Applications/CMake.app/Contents/bin:$PATH
155-
ctest -V -C Release
140+
ctest -V -C Release --exclude-regex "testExecGeomXformable_Perf_Large"
156141
157142
Windows:
158143
needs:
159-
- GetUser
160-
- GetGitRef
161-
if: ${{ (github.event.issue.pull_request && contains(github.event.comment.body, '/AzurePipelines run') && needs.GetUser.outputs.require-result == 'true' ) || github.event_name == 'push' }}
162-
runs-on: windows-2019
144+
- Validation
145+
if: ${{ (github.event_name == 'pull_request' && needs.Validation.outputs.validation-failed != 'true') || github.event_name == 'push' }}
146+
runs-on: windows-2022
163147
env:
164148
PYTHON_VERSION: "3.9"
165149
timeout-minutes: 120
166150
steps:
167151
- name: Checkout code
168152
uses: actions/checkout@v4
169153
with:
170-
ref: ${{needs.GetGitRef.outputs.ref}}
154+
ref: ${{ github.ref }}
171155
- name: Restore cached artifacts
172156
id: cache-usd-build-dependency
173157
uses: actions/cache/restore@v4
@@ -187,7 +171,7 @@ jobs:
187171
- name: Build USD
188172
run: |
189173
# Not using '--tests' to avoid building extra dependencies that are unneeded for headless tests
190-
python build_scripts/build_usd.py --no-materialx --generator "Visual Studio 16 2019" --build USDgen/build --src USDgen/src USDinst --build-args USD,"-DPXR_ENABLE_PRECOMPILED_HEADERS=OFF -DPXR_HEADLESS_TEST_MODE=ON -DPXR_BUILD_TESTS=ON" -v
174+
python build_scripts/build_usd.py --no-materialx --generator "Visual Studio 17 2022" --build USDgen/build --src USDgen/src USDinst --build-args USD,"-DPXR_ENABLE_PRECOMPILED_HEADERS=OFF -DPXR_HEADLESS_TEST_MODE=ON -DPXR_BUILD_TESTS=ON" -v
191175
shell: cmd
192176
- name: Save build artifacts to cache
193177
if: steps.cache-usd-build-dependency.outputs.cache-hit != 'true'
@@ -204,9 +188,9 @@ jobs:
204188
- name: Test USD
205189
working-directory: ./USDgen/build/OpenUSD
206190
run: |
207-
call set PATH=D:\a\OpenUSD\OpenUSD\USDinst\bin;D:\a\OpenUSD\OpenUSD\USDinst\lib;D:\a\OpenUSD\OpenUSD\USDinst\share\usd\examples\plugin;D:\a\OpenUSD\OpenUSD\USDinst\plugin\usd;%PATH%
208-
call set PYTHONPATH=D:\a\OpenUSD\OpenUSD\USDinst\lib\python;%PYTHONPATH%
191+
call set PATH=${{ github.workspace }}\USDinst\bin;${{ github.workspace }}\USDinst\lib;${{ github.workspace }}\USDinst\share\usd\examples\plugin;${{ github.workspace }}\USDinst\plugin\usd;%PATH%
192+
call set PYTHONPATH=${{ github.workspace }}\USDinst\lib\python;%PYTHONPATH%
209193
# Internal ticket USD-8035
210-
ctest -V -C Release --exclude-regex "TfPathUtils"
194+
ctest -V -C Release --exclude-regex "TfPathUtils|testExecGeomXformable_Perf_Large"
211195
shell: cmd
212196

.github/workflows/pypi.yml

Lines changed: 44 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ jobs:
4040
- TAG: cp312
4141
INTERPRETER: /opt/python/cp312-cp312/bin/python
4242
VERSION_SPEC: '3.12'
43+
- TAG: cp313
44+
INTERPRETER: /opt/python/cp313-cp313/bin/python
45+
VERSION_SPEC: '3.13.5'
4346
runs-on: ubuntu-22.04
4447
timeout-minutes: 60
4548
steps:
@@ -54,6 +57,10 @@ jobs:
5457
run: |
5558
docker build -t manylinuxwithcmake build_scripts/pypi/docker
5659
docker run --name usdmanylinux --rm -id -v ./:/opt/USD -v /home/vsts/dist:/opt/USD-dist manylinuxwithcmake
60+
- name: Install Dependencies
61+
run: |
62+
docker exec usdmanylinux ${{ matrix.PYTHON.INTERPRETER }} -m pip install setuptools
63+
docker exec usdmanylinux ${{ matrix.PYTHON.INTERPRETER }} -m pip install wheel
5764
- name: Building USD
5865
run: |
5966
# Terrible, terrible hack. The manylinux Docker image used to build the
@@ -71,7 +78,7 @@ jobs:
7178
# PXR_PY_UNDEFINED_DYNAMIC_LOOKUP flag will ensure that we never try to
7279
# link against this library anyway, so it doesn't matter.
7380
docker exec usdmanylinux ${{ matrix.PYTHON.INTERPRETER }} -c "import pathlib,sysconfig; pathlib.Path(sysconfig.get_config_var('LIBDIR'), sysconfig.get_config_var('LDLIBRARY')).touch()"
74-
docker exec usdmanylinux ${{ matrix.PYTHON.INTERPRETER }} build_scripts/build_usd.py --build-args USD,"-DPXR_PY_UNDEFINED_DYNAMIC_LOOKUP=ON -DPXR_BUILD_USD_TOOLS=OFF -DPXR_INSTALL_LOCATION=../pxr/pluginfo" --no-materialx --no-imaging --no-examples --no-tutorials --build /opt/USD/gen/build --src /opt/USD/gen/src /opt/USD/inst -v
81+
docker exec usdmanylinux ${{ matrix.PYTHON.INTERPRETER }} build_scripts/build_usd.py --build-monolithic --build-args USD,"-DPXR_PY_UNDEFINED_DYNAMIC_LOOKUP=ON -DPXR_BUILD_USD_TOOLS=OFF -DPXR_BUILD_EXEC=OFF -DPXR_INSTALL_LOCATION=../pxr/pluginfo" --no-materialx --no-imaging --no-examples --no-tutorials --build /opt/USD/gen/build --src /opt/USD/gen/src /opt/USD/inst -v
7582
- name: Creating packaging directory
7683
run: |
7784
docker exec usdmanylinux mkdir ./packaging
@@ -115,7 +122,10 @@ jobs:
115122
- VERSION_SPEC: '3.12'
116123
INTERPRETER: python3.12
117124
TAG: cp312
118-
runs-on: macos-13
125+
- VERSION_SPEC: '3.13.5'
126+
INTERPRETER: python3.13
127+
TAG: cp313
128+
runs-on: macos-15
119129
timeout-minutes: 120
120130
steps:
121131
- name: Checkout code
@@ -132,8 +142,8 @@ jobs:
132142
${{ matrix.PYTHON.INTERPRETER }} -m pip install delocate~=0.10.2 wheel
133143
- name: Build USD
134144
run: |
135-
sudo xcode-select -s /Applications/Xcode_14.1.app/Contents/Developer
136-
${{ matrix.PYTHON.INTERPRETER }} build_scripts/build_usd.py --build-args USD,"-DPXR_PY_UNDEFINED_DYNAMIC_LOOKUP=ON -DPXR_BUILD_USD_TOOLS=OFF -DPXR_INSTALL_LOCATION=../pluginfo" --no-materialx --no-imaging --no-examples --no-tutorials --generator Xcode --build-target universal --build $GITHUB_WORKSPACE/USDgen/build --src $GITHUB_WORKSPACE/USDgen/src $GITHUB_WORKSPACE/USDinst -v
145+
sudo xcode-select -s /Applications/Xcode_16.app/Contents/Developer
146+
${{ matrix.PYTHON.INTERPRETER }} build_scripts/build_usd.py --build-monolithic --build-args USD,"-DPXR_PY_UNDEFINED_DYNAMIC_LOOKUP=ON -DPXR_BUILD_USD_TOOLS=OFF -DPXR_BUILD_EXEC=OFF -DPXR_INSTALL_LOCATION=../pluginfo" --no-materialx --no-imaging --no-examples --no-tutorials --generator Xcode --build-target universal --build $GITHUB_WORKSPACE/USDgen/build --src $GITHUB_WORKSPACE/USDgen/src $GITHUB_WORKSPACE/USDinst -v
137147
- name: Packaging USD
138148
run: |
139149
pwd
@@ -185,7 +195,9 @@ jobs:
185195
TAG: cp311
186196
- VERSION_SPEC: '3.12'
187197
TAG: cp312
188-
runs-on: windows-2019
198+
- VERSION_SPEC: '3.13.5'
199+
TAG: cp313
200+
runs-on: windows-2022
189201
timeout-minutes: 60
190202
steps:
191203
- name: Checkout code
@@ -202,10 +214,10 @@ jobs:
202214
shell: cmd
203215
- name: Build USD
204216
run: |
205-
call C:\"Program Files (x86)"\"Microsoft Visual Studio"\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat
217+
call C:\"Program Files (x86)"\"Microsoft Visual Studio"\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat
206218
set BOOST_ROOT=
207219
python --version
208-
python build_scripts/build_usd.py --build-args USD,"-DPXR_ENABLE_PRECOMPILED_HEADERS=OFF -DPXR_PY_UNDEFINED_DYNAMIC_LOOKUP=ON -DPXR_BUILD_USD_TOOLS=OFF -DPXR_INSTALL_LOCATION=../pxr/pluginfo" --no-materialx --no-imaging --no-examples --no-tutorials --build USDgen/build --src USDgen/src USDinst -v
220+
python build_scripts/build_usd.py --build-monolithic --build-args USD,"-DPXR_ENABLE_PRECOMPILED_HEADERS=OFF -DPXR_PY_UNDEFINED_DYNAMIC_LOOKUP=ON -DPXR_BUILD_USD_TOOLS=OFF -DPXR_BUILD_EXEC=OFF -DPXR_INSTALL_LOCATION=../pxr/pluginfo" --no-materialx --no-imaging --no-examples --no-tutorials --build USDgen/build --src USDgen/src USDinst -v
209221
shell: cmd
210222
- name: Packaging USD
211223
run: |
@@ -275,45 +287,57 @@ jobs:
275287
PYTHON_VERSION_SPEC: '3.12'
276288
IMAGE: ubuntu-22.04
277289
PYTHON_INTERPRETER: python3
290+
- NAME: Linux_Python313
291+
PYTHON_VERSION_SPEC: '3.13.5'
292+
IMAGE: ubuntu-22.04
293+
PYTHON_INTERPRETER: python3
278294
- NAME: Mac_Python38
279295
PYTHON_VERSION_SPEC: '3.8'
280-
IMAGE: macos-13
281-
PYTHON_INTERPRETER: python3
296+
IMAGE: macos-15
297+
PYTHON_INTERPRETER: python3
282298
- NAME: Mac_Python39
283299
PYTHON_VERSION_SPEC: '3.9'
284-
IMAGE: macos-13
300+
IMAGE: macos-15
285301
PYTHON_INTERPRETER: python3
286302
- NAME: Mac_Python310
287303
PYTHON_VERSION_SPEC: '3.10'
288-
IMAGE: macos-13
289-
PYTHON_INTERPRETER: python3
304+
IMAGE: macos-15
305+
PYTHON_INTERPRETER: python3
290306
- NAME: Mac_Python311
291307
PYTHON_VERSION_SPEC: '3.11'
292-
IMAGE: macos-13
308+
IMAGE: macos-15
293309
PYTHON_INTERPRETER: python3
294310
- NAME: Mac_Python312
295311
PYTHON_VERSION_SPEC: '3.12'
296-
IMAGE: macos-13
297-
PYTHON_INTERPRETER: python3
312+
IMAGE: macos-15
313+
PYTHON_INTERPRETER: python3
314+
- NAME: Mac_Python313
315+
PYTHON_VERSION_SPEC: '3.13.5'
316+
IMAGE: macos-15
317+
PYTHON_INTERPRETER: python3
298318
- NAME: Windows_Python38
299319
PYTHON_VERSION_SPEC: '3.8'
300-
IMAGE: windows-2019
320+
IMAGE: windows-2022
301321
PYTHON_INTERPRETER: python3
302322
- NAME: Windows_Python39
303323
PYTHON_VERSION_SPEC: '3.9'
304-
IMAGE: windows-2019
324+
IMAGE: windows-2022
305325
PYTHON_INTERPRETER: python3
306326
- NAME: Windows_Python310
307327
PYTHON_VERSION_SPEC: '3.10'
308-
IMAGE: windows-2019
328+
IMAGE: windows-2022
309329
PYTHON_INTERPRETER: python3
310330
- NAME: Windows_Python311
311331
PYTHON_VERSION_SPEC: '3.11'
312-
IMAGE: windows-2019
332+
IMAGE: windows-2022
313333
PYTHON_INTERPRETER: python3
314334
- NAME: Windows_Python312
315335
PYTHON_VERSION_SPEC: '3.12'
316-
IMAGE: windows-2019
336+
IMAGE: windows-2022
337+
PYTHON_INTERPRETER: python3
338+
- NAME: Windows_Python313
339+
PYTHON_VERSION_SPEC: '3.13.5'
340+
IMAGE: windows-2022
317341
PYTHON_INTERPRETER: python3
318342
runs-on: ${{ matrix.BUILD_CONFIG.IMAGE }}
319343
steps:

BUILDING.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -393,6 +393,26 @@ ${CMAKE_BINARY_DIR}/Testing/Failed-Diffs/<ctest_run_timestamp>/${TEST_NAME}/${fi
393393

394394
## Other Build Options
395395

396+
##### Custom Task Management System
397+
398+
USD uses task-based parallelism to improve scalability and performance. This foundation for this is located in the
399+
"work" library in pxr/base/work. By default, this library is implemented using the Intel TBB or oneAPI oneTBB
400+
library.
401+
402+
Users may substitute their own task management system by providing a custom implementation for the work library.
403+
To do so, set the cmake variable `PXR_WORK_IMPL` to the name of the CMake package providing the custom implementation.
404+
USD must be able to locate a package with that name via a call to `find_package(${PXR_WORK_IMPL}` CONFIG)`, which
405+
may require specifying additional CMake variables. The package must provide a library target named
406+
`${PXR_WORK_IMPL}::${PXR_WORK_IMPL}` that specifies interface definitions (include directories, shared libraries,
407+
etc.) needed to use that library. The library must implement the required functions and classes and have a header
408+
named `impl.h` that supplies their declarations (either directly or in header files included in `impl.h`). This
409+
header must be able to be included via `#include <${PXR_WORK_IMPL}/impl.h>`.
410+
411+
For example, a custom work implementation named `workExample` must provide a `workExampleConfig.cmake` file
412+
specifying a library target named `workExample::workExample`. This library must at minimum provide an `impl.h`
413+
header with the required implementations and set up interface include directories so that the header can
414+
be located via an include statement like `#include <workExample/impl.h>`.
415+
396416
##### Plugin Metadata Location
397417

398418
Each library in the USD core generally has an associated file named 'plugInfo.json' that contains metadata about that library,

0 commit comments

Comments
 (0)