88 - cron : ' 30 10 * * *'
99 workflow_dispatch :
1010
11+ permissions :
12+ contents : read
13+
1114jobs :
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
0 commit comments