Skip to content

Commit 3d06cf8

Browse files
committed
Merge remote-tracking branch 'upstream/main' into _hwy
2 parents 76d7f22 + 3ec0b8a commit 3d06cf8

File tree

127 files changed

+2624
-2051
lines changed

Some content is hidden

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

127 files changed

+2624
-2051
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
2+
3+
4+
------ :scissors: -------------------------------------------------------------------
5+
16
YOU MAY DELETE ALL OF THIS IF YOU ALREADY HAVE A DESCRIPTIVE COMMIT MESSAGE!
27

38
This is just a template and set of reminders about what constitutes a good PR.

.github/workflows/analysis.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ on:
2626
- '!**/scorecard.yml'
2727
- '!**/wheel.yml'
2828
- '!**.properties'
29+
- '!pyproject.toml'
2930
- '!docs/**'
3031
# Run analysis on PRs only if the branch name indicates that the purpose of
3132
# the PR is related to the Sonar analysis. We don't run on every PR because
@@ -51,7 +52,7 @@ jobs:
5152
name: "SonarCloud Analysis"
5253
# Exclude runs on forks, since only the main org has the SonarCloud
5354
# account credentials.
54-
if: github.repository == 'AcademySoftwareFoundation/OpenImageIO'
55+
if: github.event.repository.fork == false
5556
uses: ./.github/workflows/build-steps.yml
5657
# Must let the called steps workflow inherit necessary secrets
5758
secrets:

.github/workflows/ci.yml

Lines changed: 44 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ on:
1616
- '!**/scorecard.yml'
1717
- '!**/wheel.yml'
1818
- '!**.properties'
19+
- '!pyproject.toml'
1920
- '!docs/**'
2021
pull_request:
2122
paths:
@@ -26,7 +27,6 @@ on:
2627
schedule:
2728
# Full nightly build
2829
- cron: "0 8 * * *"
29-
if: github.repository == 'AcademySoftwareFoundation/OpenImageIO'
3030
workflow_dispatch:
3131
# This allows manual triggering of the workflow from the web
3232

@@ -41,7 +41,7 @@ concurrency:
4141
jobs:
4242

4343
aswf-old:
44-
if: ${{ ! contains(github.ref, 'windows-only') && ! contains(github.ref, 'macos-only') }}
44+
if: ${{ (github.event.repository.fork == false || github.event_name != 'schedule') && ! contains(github.ref, 'windows-only') && ! contains(github.ref, 'macos-only') }}
4545
name: "(old) ${{matrix.desc}}"
4646
uses: ./.github/workflows/build-steps.yml
4747
with:
@@ -91,7 +91,7 @@ jobs:
9191
cxx_std: 17
9292
python_ver: 3.9
9393
simd: "avx2,f16c"
94-
fmt_ver: 8.1.1
94+
fmt_ver: 9.0.0
9595
opencolorio_ver: v2.3.0
9696
pybind11_ver: v2.9.0
9797
setenvs: export FREETYPE_VERSION=VER-2-12-0
@@ -123,7 +123,7 @@ jobs:
123123
vfxyear: 2022
124124
old_node: 1
125125
cxx_std: 17
126-
fmt_ver: 7.0.1
126+
fmt_ver: 9.0.0
127127
opencolorio_ver: v2.3.0
128128
openexr_ver: v3.1.0
129129
pybind11_ver: v2.7.0
@@ -145,7 +145,7 @@ jobs:
145145
cc_compiler: clang
146146
cxx_compiler: clang++
147147
cxx_std: 17
148-
fmt_ver: 7.0.1
148+
fmt_ver: 9.0.0
149149
opencolorio_ver: v2.3.0
150150
openexr_ver: v3.1.0
151151
pybind11_ver: v2.7.0
@@ -167,7 +167,7 @@ jobs:
167167
vfxyear: 2022
168168
old_node: 1
169169
cxx_std: 17
170-
fmt_ver: 7.0.1
170+
fmt_ver: 9.0.0
171171
opencolorio_ver: v2.3.0
172172
openexr_ver: v3.1.0
173173
pybind11_ver: v2.7.0
@@ -190,7 +190,7 @@ jobs:
190190
# Linux Tests using ASWF-docker containers
191191
#
192192
linux-aswf:
193-
if: ${{ ! contains(github.ref, 'windows-only') && ! contains(github.ref, 'macos-only') }}
193+
if: ${{ (github.event.repository.fork == false || github.event_name != 'schedule') && ! contains(github.ref, 'windows-only') && ! contains(github.ref, 'macos-only') }}
194194
name: "${{matrix.desc}}"
195195
uses: ./.github/workflows/build-steps.yml
196196
with:
@@ -241,39 +241,6 @@ jobs:
241241
pybind11_ver: v2.10.0
242242
setenvs: export PUGIXML_VERSION=v1.13
243243
optional_deps_append: 'LibRaw;Ptex;Qt6'
244-
- desc: VFX2023 icc/C++17 py3.10 exr3.1 ocio2.3 qt5.15
245-
nametag: linux-vfx2023.icc
246-
runner: ubuntu-latest
247-
container: aswf/ci-osl:2023
248-
opencolorio_ver: v2.3.0
249-
python_ver: "3.10"
250-
# simd: "avx2,f16c"
251-
fmt_ver: 7.1.3
252-
# icc MUST use this older FMT version
253-
pybind11_ver: v2.9.0
254-
setenvs: export USE_ICC=1 USE_OPENVDB=0 USE_OPENCV=0
255-
OIIO_EXTRA_CPP_ARGS="-fp-model=precise"
256-
FREETYPE_VERSION=VER-2-13-0
257-
DISABLE_libuhdr=1
258-
# For icc, use fp-model precise to eliminate needless LSB errors
259-
# that make test results differ from other platforms.
260-
optional_deps_append: "LibRaw;Ptex;Qt6"
261-
- desc: VFX2025 icx/C++17 py3.11 exr3.3 ocio2.4 qt5.15
262-
nametag: linux-vfx2023.icx
263-
runner: ubuntu-latest
264-
container: aswf/ci-oiio:2025
265-
cc_compiler: icx
266-
cxx_compiler: icpx
267-
fmt_ver: 11.2.0
268-
python_ver: "3.11"
269-
pybind11_ver: v2.13.6
270-
simd: "avx2,f16c"
271-
benchmark: 1
272-
setenvs: export USE_OPENVDB=0 USE_OPENCV=0
273-
UHDR_CMAKE_C_COMPILER=gcc
274-
UHDR_CMAKE_CXX_COMPILER=g++
275-
# Building libuhdr with icx results in test failures
276-
optional_deps_append: "LibRaw;Ptex;openjph;Qt6"
277244
- desc: VFX2024 gcc11/C++17 py3.11 exr3.2 ocio2.3
278245
nametag: linux-vfx2024
279246
runner: ubuntu-latest
@@ -316,6 +283,7 @@ jobs:
316283
container: aswf/ci-oiio:2025
317284
cxx_std: 17
318285
build_type: Debug
286+
ctest_test_timeout: "240"
319287
python_ver: "3.11"
320288
simd: "avx2,f16c"
321289
fmt_ver: 11.2.0
@@ -335,6 +303,22 @@ jobs:
335303
# setenvs: export PUGIXML_VERSION=v1.15
336304
# BUILD_SHARED_LIBS=OFF
337305
# optional_deps_append: "openjph;Qt6"
306+
- desc: VFX2025 icx/C++17 py3.11 exr3.3 ocio2.4 qt5.15
307+
nametag: linux-vfx2025.icx
308+
runner: ubuntu-latest
309+
container: aswf/ci-oiio:2025
310+
cc_compiler: icx
311+
cxx_compiler: icpx
312+
fmt_ver: 11.2.0
313+
python_ver: "3.11"
314+
pybind11_ver: v2.13.6
315+
simd: "avx2,f16c"
316+
benchmark: 1
317+
setenvs: export USE_OPENVDB=0 USE_OPENCV=0
318+
UHDR_CMAKE_C_COMPILER=gcc
319+
UHDR_CMAKE_CXX_COMPILER=g++
320+
# Building libuhdr with icx results in test failures
321+
optional_deps_append: "LibRaw;Ptex;openjph;Qt6"
338322
- desc: VFX2026 gcc14/C++20 py3.13 exr3.4 ocio2.4
339323
nametag: linux-vfx2026
340324
runner: ubuntu-latest
@@ -387,7 +371,7 @@ jobs:
387371
# Linux Tests using GHA Ubuntu runners directly
388372
#
389373
linux-ubuntu:
390-
if: ${{ ! contains(github.ref, 'windows-only') && ! contains(github.ref, 'macos-only') }}
374+
if: ${{ (github.event.repository.fork == false || github.event_name != 'schedule') && ! contains(github.ref, 'windows-only') && ! contains(github.ref, 'macos-only') }}
391375
name: "${{matrix.desc}}"
392376
uses: ./.github/workflows/build-steps.yml
393377
with:
@@ -460,13 +444,13 @@ jobs:
460444
simd: avx2,f16c
461445
setenvs: export LIBJPEGTURBO_VERSION=3.1.2
462446
LIBPNG_VERSION=v1.6.50
463-
LIBRAW_VERSION=0.21.4
447+
LIBRAW_VERSION=0.22.0
464448
LIBTIFF_VERSION=v4.7.1
465449
OPENJPEG_VERSION=v2.5.4
466450
PTEX_VERSION=v2.5.0
467451
PUGIXML_VERSION=v1.15
468452
WEBP_VERSION=v1.6.0
469-
FREETYPE_VERSION=VER-2-14-0
453+
FREETYPE_VERSION=VER-2-14-1
470454
USE_OPENVDB=0
471455
# Ensure we are testing all the deps we think we are. We would
472456
# like this test to have minimal missing dependencies.
@@ -481,7 +465,7 @@ jobs:
481465
fmt_ver: master
482466
opencolorio_ver: main
483467
openexr_ver: main
484-
pybind11_ver: master
468+
pybind11_ver: v3.0.1
485469
python_ver: "3.12"
486470
simd: avx2,f16c
487471
benchmark: 1
@@ -493,7 +477,7 @@ jobs:
493477
PTEX_VERSION=main
494478
PUGIXML_VERSION=master
495479
WEBP_VERSION=main
496-
OIIO_CMAKE_FLAGS="-DOIIO_HARDENING=2"
480+
OIIO_HARDENING=2
497481
EXTRA_DEP_PACKAGES="python3.12-dev python3-numpy"
498482
USE_OPENVDB=0
499483
FREETYPE_VERSION=master
@@ -513,10 +497,11 @@ jobs:
513497
simd: avx2,f16c
514498
setenvs: export OpenImageIO_BUILD_LOCAL_DEPS=all
515499
OpenImageIO_DEPENDENCY_BUILD_VERBOSE=ON
516-
LIBRAW_VERSION=0.21.4
500+
LIBRAW_VERSION=0.22.0
517501
PTEX_VERSION=v2.4.2
518502
PUGIXML_VERSION=v1.14
519503
WEBP_VERSION=v1.4.0
504+
OIIO_HARDENING=3
520505
- desc: clang18 C++17 avx2 exr3.1 ocio2.3
521506
nametag: linux-clang18
522507
runner: ubuntu-24.04
@@ -543,13 +528,13 @@ jobs:
543528
python_ver: "3.12"
544529
setenvs: export LIBJPEGTURBO_VERSION=3.1.2
545530
LIBPNG_VERSION=v1.6.50
546-
LIBRAW_VERSION=0.21.4
531+
LIBRAW_VERSION=0.22.0
547532
LIBTIFF_VERSION=v4.7.1
548533
OPENJPEG_VERSION=v2.5.4
549534
PTEX_VERSION=v2.4.3
550535
PUGIXML_VERSION=v1.15
551536
WEBP_VERSION=v1.6.0
552-
FREETYPE_VERSION=VER-2-14-0
537+
FREETYPE_VERSION=VER-2-14-1
553538
USE_OPENVDB=0
554539
- desc: Linux ARM latest releases clang18 C++20 py3.12 exr3.4 ocio2.4
555540
nametag: linux-arm-latest-releases-clang
@@ -564,21 +549,21 @@ jobs:
564549
python_ver: "3.12"
565550
setenvs: export LIBJPEGTURBO_VERSION=3.1.2
566551
LIBPNG_VERSION=v1.6.50
567-
LIBRAW_VERSION=0.21.4
552+
LIBRAW_VERSION=0.22.0
568553
LIBTIFF_VERSION=v4.7.1
569554
OPENJPEG_VERSION=v2.5.4
570555
PTEX_VERSION=v2.4.3
571556
PUGIXML_VERSION=v1.15
572557
WEBP_VERSION=v1.6.0
573-
FREETYPE_VERSION=VER-2-14-0
558+
FREETYPE_VERSION=VER-2-14-1
574559
USE_OPENVDB=0
575560

576561

577562
#
578563
# MacOS Tests
579564
#
580565
macos:
581-
if: ${{ ! contains(github.ref, 'windows-only') && ! contains(github.ref, 'linux-only') }}
566+
if: ${{ (github.event.repository.fork == false || github.event_name != 'schedule') && ! contains(github.ref, 'windows-only') && ! contains(github.ref, 'linux-only') }}
582567
name: "${{matrix.desc}}"
583568
uses: ./.github/workflows/build-steps.yml
584569
with:
@@ -627,6 +612,8 @@ jobs:
627612
simd: sse4.2,avx2
628613
ctest_test_timeout: 1200
629614
setenvs: export MACOSX_DEPLOYMENT_TARGET=12.0
615+
INSTALL_QT=0 INSTALL_OPENCV=0
616+
optional_deps_append: 'OpenCV;Qt5;Qt6'
630617
benchmark: 1
631618
- desc: MacOS-14-ARM aclang15/C++20/py3.13
632619
runner: macos-14
@@ -649,7 +636,7 @@ jobs:
649636
# Windows Tests
650637
#
651638
windows:
652-
if: ${{ ! contains(github.ref, 'linux-only') && ! contains(github.ref, 'macos-only') }}
639+
if: ${{ (github.event.repository.fork == false || github.event_name != 'schedule') && ! contains(github.ref, 'linux-only') && ! contains(github.ref, 'macos-only') }}
653640
name: "${{matrix.desc}}"
654641
uses: ./.github/workflows/build-steps.yml
655642
with:
@@ -683,7 +670,7 @@ jobs:
683670
# built. But we would like to add more dependencies and reduce this list
684671
# of exceptions in the future.
685672
required_deps: ${{ matrix.required_deps || 'all' }}
686-
optional_deps: ${{ matrix.optional_deps || 'CUDAToolkit;DCMTK;FFmpeg;GIF;JXL;Libheif;LibRaw;Nuke;OpenCV;OpenGL;OpenJPEG;openjph;OpenCV;OpenVDB;Ptex;pystring;Qt5;Qt6;TBB;R3DSDK;${{matrix.optional_deps_append}}' }}
673+
optional_deps: ${{ matrix.optional_deps || 'BZip2;CUDAToolkit;DCMTK;FFmpeg;GIF;JXL;Libheif;LibRaw;Nuke;OpenCV;OpenGL;OpenJPEG;openjph;OpenCV;OpenVDB;Ptex;pystring;Qt5;Qt6;TBB;R3DSDK;${{matrix.optional_deps_append}}' }}
687674
strategy:
688675
fail-fast: false
689676
matrix:
@@ -693,13 +680,15 @@ jobs:
693680
nametag: windows-2022
694681
vsver: 2022
695682
generator: "Visual Studio 17 2022"
696-
python_ver: "3.9"
683+
python_ver: "3.12"
684+
ctest_test_timeout: "240"
697685
setenvs: export OPENIMAGEIO_PYTHON_LOAD_DLLS_FROM_PATH=1
698686
- desc: Windows-2025 VS2022
699687
runner: windows-2025
700688
nametag: windows-2025
701689
vsver: 2022
702690
generator: "Visual Studio 17 2022"
703-
python_ver: "3.9"
691+
python_ver: "3.12"
692+
ctest_test_timeout: "240"
704693
setenvs: export OPENIMAGEIO_PYTHON_LOAD_DLLS_FROM_PATH=1
705694
benchmark: 1

.github/workflows/docs.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ on:
2020
- '**/run.py'
2121
- 'src/build-scripts/**'
2222
- './*.md'
23+
- 'pyproject.toml'
2324
pull_request:
2425
paths-ignore:
2526
- '**/ci.yml'
@@ -33,10 +34,10 @@ on:
3334
- '**/run.py'
3435
- 'src/build-scripts/**'
3536
- './*.md'
37+
- 'pyproject.toml'
3638
schedule:
3739
# Full nightly build
3840
- cron: "0 8 * * *"
39-
if: github.repository == 'AcademySoftwareFoundation/OpenImageIO'
4041
workflow_dispatch:
4142
# This allows manual triggering of the workflow from the web
4243

@@ -51,6 +52,7 @@ concurrency:
5152
jobs:
5253
docs:
5354
name: "Docs / ${{matrix.desc}}"
55+
if: ${{ github.event_name != 'schedule' || github.event.repository.fork == false }}
5456
uses: ./.github/workflows/build-steps.yml
5557
with:
5658
nametag: ${{ matrix.nametag || 'unnamed!' }}

.github/workflows/scorecard.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ on:
1010
push:
1111
# Run on pushes to main, but only the official repo, not forks
1212
branches: [ "main" ]
13-
if: github.event.pull_request.head.repo.full_name == github.repository
1413
pull_request:
1514
# Only run on individual PRs if the workflows changed
1615
paths:
@@ -28,7 +27,7 @@ concurrency:
2827
jobs:
2928
analysis:
3029
name: Scorecards analysis
31-
if: github.repository == 'AcademySoftwareFoundation/OpenImageIO'
30+
if: github.event.repository.fork == false
3231
runs-on: ubuntu-latest
3332
permissions:
3433
# Needed to upload the results to code-scanning dashboard.

0 commit comments

Comments
 (0)