Skip to content

Commit 5eedaa5

Browse files
authored
Merge branch 'AcademySoftwareFoundation:main' into uri_for_viewer
2 parents 388c117 + b26de54 commit 5eedaa5

147 files changed

Lines changed: 10537 additions & 13586 deletions

File tree

Some content is hidden

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

.github/workflows/main.yml

Lines changed: 46 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ on:
88
- cron: '30 10 * * *'
99
workflow_dispatch:
1010

11+
permissions:
12+
contents: read
13+
1114
jobs:
1215

1316
build:
@@ -130,7 +133,7 @@ jobs:
130133

131134
steps:
132135
- name: Sync Repository
133-
uses: actions/checkout@v4
136+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
134137
with:
135138
submodules: recursive
136139

@@ -175,12 +178,12 @@ jobs:
175178
- name: Install MDL SDK
176179
if: env.IS_EXTENDED_BUILD == 'true' && matrix.extended_build_mdl_sdk == 'ON' && runner.os == 'Windows'
177180
run: |
178-
C:/vcpkg/vcpkg install mdl-sdk[dds,df-vulkan,openimageio] --triplet=x64-windows-release
181+
C:/vcpkg/vcpkg install mdl-sdk --triplet=x64-windows-release
179182
Add-Content $env:GITHUB_PATH "C:/vcpkg/installed/x64-windows-release/bin"
180183
181184
- name: Install Python ${{ matrix.python }}
182185
if: matrix.python != 'None'
183-
uses: actions/setup-python@v5
186+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
184187
with:
185188
python-version: ${{ matrix.python }}
186189
architecture: ${{ matrix.architecture }}
@@ -224,7 +227,7 @@ jobs:
224227
run: cmake --build build --target install --config Release --parallel 2
225228

226229
- name: CMake Unit Tests
227-
run: ctest -VV --output-on-failure --build-config Release
230+
run: ctest --output-on-failure --build-config Release
228231
working-directory: build
229232

230233
- name: Python Tests
@@ -322,61 +325,71 @@ jobs:
322325

323326
- name: Upload Installed Package
324327
if: matrix.python != 'None'
325-
uses: actions/upload-artifact@v4
328+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
326329
with:
327330
name: MaterialX_${{ matrix.name }}
328331
path: build/installed/
329332

330333
- name: Upload Formatted Source
331334
if: matrix.clang_format == 'ON'
332-
uses: actions/upload-artifact@v4
335+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
333336
with:
334337
name: MaterialX_ClangFormat
335338
path: source
336339

337340
- name: Upload Reference Shaders
338-
uses: actions/upload-artifact@v4
341+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
339342
if: matrix.upload_shaders == 'ON'
340343
with:
341344
name: MaterialX_ReferenceShaders
342345
path: build/bin/reference/
343346

344347
- name: Upload Renders
345-
uses: actions/upload-artifact@v4
348+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
346349
if: matrix.test_render == 'ON'
347350
with:
348351
name: Renders_${{ matrix.name }}
349352
path: build/render/*.png
350353

351354
- name: Upload Resources (MacOS)
352-
uses: actions/upload-artifact@v4
355+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
353356
if: matrix.test_render == 'ON' && runner.os == 'macOS'
354357
with:
355358
name: Resources_${{ matrix.name }}
356359
path: build/bin/resources
357360

358361
- name: Upload Coverage Report
359-
uses: actions/upload-artifact@v4
362+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
360363
if: matrix.coverage_analysis == 'ON'
361364
with:
362365
name: MaterialX_Coverage
363366
path: build/coverage
364367

365368
- name: Upload Perfetto Traces
366-
uses: actions/upload-artifact@v4
369+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
367370
if: matrix.extended_build_perfetto == 'ON' && env.IS_EXTENDED_BUILD == 'true'
368371
with:
369372
name: Traces_${{ matrix.name }}
370373
path: build/**/*.perfetto-trace
371374
if-no-files-found: ignore
372375

376+
- name: Upload Test Logs
377+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
378+
if: always()
379+
with:
380+
name: TestLog_${{ matrix.name }}
381+
path: build/bin/**/*.txt
382+
if-no-files-found: ignore
383+
373384
javascript:
374385
name: JavaScript
375386
runs-on: ubuntu-latest
387+
permissions:
388+
contents: write
376389

377390
steps:
378391
- name: Sync Repository
379-
uses: actions/checkout@v4
392+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
380393

381394
- name: Install Emscripten
382395
run: |
@@ -388,7 +401,7 @@ jobs:
388401
echo "EMSDK=$EMSDK" >> $GITHUB_ENV
389402
390403
- name: Install Node
391-
uses: actions/setup-node@v4
404+
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
392405
with:
393406
node-version: '22.16.0'
394407

@@ -398,29 +411,32 @@ jobs:
398411
- name: JavaScript CMake Build
399412
run: cmake --build javascript/build --target install --config Release --parallel 2
400413

414+
- name: Install JavaScript Dependencies
415+
run: |
416+
npm ci
417+
npx playwright install --with-deps chromium
418+
working-directory: javascript
419+
401420
- name: JavaScript Unit Tests
402421
run: |
403-
npm install
404422
npm run test
405423
npm run test:browser
406424
working-directory: javascript/MaterialXTest
407425

408426
- name: Build Web Viewer
409-
run: |
410-
npm install
411-
npm run build
427+
run: npm run build
412428
working-directory: javascript/MaterialXView
413429

414430
- name: Deploy Web Viewer
415431
if: github.event_name != 'pull_request'
416-
uses: JamesIves/github-pages-deploy-action@6c2d9db40f9296374acc17b90404b6e8864128c8 # v4.7.3
432+
uses: JamesIves/github-pages-deploy-action@d92aa235d04922e8f08b40ce78cc5442fcfbfa2f # v4.8.0
417433
with:
418434
branch: gh-pages
419435
folder: javascript/MaterialXView/dist
420436
single-commit: true
421437

422438
- name: Upload JavaScript Package
423-
uses: actions/upload-artifact@v4
439+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
424440
with:
425441
name: MaterialX_JavaScript
426442
path: javascript/build/installed/JavaScript/MaterialX
@@ -434,10 +450,10 @@ jobs:
434450

435451
steps:
436452
- name: Sync Repository
437-
uses: actions/checkout@v4
453+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
438454

439455
- name: Install Python
440-
uses: actions/setup-python@v5
456+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
441457
with:
442458
python-version: 3.11
443459

@@ -449,7 +465,7 @@ jobs:
449465
echo "filename=$(ls dist)" >> "$GITHUB_OUTPUT"
450466
451467
- name: Upload SDist
452-
uses: actions/upload-artifact@v4
468+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
453469
with:
454470
name: MaterialX_Python_SDist
455471
path: dist/*.tar.gz
@@ -462,38 +478,38 @@ jobs:
462478
strategy:
463479
fail-fast: false
464480
matrix:
465-
python-minor: ['9', '10', '11', '12', '13']
481+
python-minor: ['9', '10', '11', '12', '13', '14']
466482
os: ['ubuntu-24.04', 'windows-2022', 'macos-15']
467483

468484
steps:
469485
- name: Sync Repository
470-
uses: actions/checkout@v4
486+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
471487

472488
- name: Install Python 3.${{ matrix.python-minor }}
473-
uses: actions/setup-python@v5
489+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
474490
with:
475491
python-version: 3.${{ matrix.python-minor }}
476492

477493
- name: Download Sdist
478-
uses: actions/download-artifact@v4
494+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
479495
with:
480496
name: MaterialX_Python_SDist
481497
path: sdist
482498

483499
- name: Install Doxygen (Windows)
484-
uses: ssciwr/doxygen-install@v1
500+
uses: ssciwr/doxygen-install@f13be1686235deee0aeb6cdf56640170691dc96b # v1
485501
if: runner.os == 'Windows'
486502

487503
- name: Build Wheel
488-
uses: pypa/cibuildwheel@v2.23.2
504+
uses: pypa/cibuildwheel@ee02a1537ce3071a004a6b08c41e72f0fdc42d9a # v3.4.0
489505
with:
490506
package-dir: ${{ github.workspace }}/sdist/${{ needs.sdist.outputs.sdist_filename }}
491507
env:
492508
CIBW_BUILD: 'cp3${{ matrix.python-minor }}-*'
493509
CIBW_SKIP: '*musllinux*'
494510
CIBW_ARCHS: 'auto64'
495511
CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_28
496-
CIBW_BEFORE_ALL_LINUX: yum install -y libXt-devel doxygen
512+
CIBW_BEFORE_ALL_LINUX: dnf install -y libXt-devel doxygen
497513
CIBW_BEFORE_ALL_MACOS: brew install doxygen
498514
CIBW_BUILD_VERBOSITY: 1
499515
CIBW_ENVIRONMENT: CMAKE_BUILD_PARALLEL_LEVEL=2
@@ -509,7 +525,7 @@ jobs:
509525
working-directory: python
510526

511527
- name: Upload Wheel
512-
uses: actions/upload-artifact@v4
528+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
513529
with:
514530
name: MaterialX_Python_Wheel_${{ runner.os }}_3_${{ matrix.python-minor }}
515531
path: wheelhouse/*.whl

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121

2222
steps:
2323
- name: Sync Repository
24-
uses: actions/checkout@v4
24+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
2525
with:
2626
submodules: recursive
2727

@@ -34,7 +34,7 @@ jobs:
3434
git archive --prefix ${MATERIALX_ARCHIVE}/ --output ${MATERIALX_ARCHIVE}.tar.gz ${RELEASE_TAG}
3535
3636
- name: Sign and Upload Archives
37-
uses: sigstore/gh-action-sigstore-python@v3.0.0
37+
uses: sigstore/gh-action-sigstore-python@f514d46b907ebcd5bedc05145c03b69c1edd8b46 # v3.0.0
3838
with:
3939
inputs: |
4040
${{ env.MATERIALX_ARCHIVE }}.zip

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
build
22
dist
33
.DS_Store
4+
CMakeUserPresets.json

0 commit comments

Comments
 (0)