Skip to content

Commit f2fef03

Browse files
committed
Merge branch 'main' into issue-area-probe
Signed-off-by: Danielle Imogu <[email protected]>
2 parents af0884f + 4bb092e commit f2fef03

File tree

111 files changed

+8866
-986
lines changed

Some content is hidden

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

111 files changed

+8866
-986
lines changed

.github/workflows/build-steps.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ on:
5050
type: string
5151
abi_check:
5252
type: string
53+
benchmark:
54+
type: string
5355
build_docs:
5456
type: string
5557
clang_format:
@@ -145,6 +147,10 @@ jobs:
145147
if: inputs.skip_tests != '1'
146148
shell: bash
147149
run: src/build-scripts/ci-test.bash
150+
- name: Benchmarks
151+
if: inputs.benchmark == '1'
152+
shell: bash
153+
run: src/build-scripts/ci-benchmark.bash
148154
- name: clang-format
149155
if: inputs.clang_format == '1'
150156
shell: bash
@@ -193,13 +199,14 @@ jobs:
193199
time make sphinx
194200
- name: Upload testsuite debugging artifacts
195201
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
196-
if: ${{ failure() || inputs.build_docs == '1'}}
202+
if: ${{ failure() || inputs.build_docs == '1' || inputs.benchmark == '1' }}
197203
with:
198204
name: oiio-${{github.job}}-${{inputs.nametag}}
199205
path: |
200206
build/cmake-save
201207
build/compat_reports
202208
build/sphinx
209+
build/benchmarks
203210
build/testsuite/*/*.*
204211
!build/testsuite/oiio-images
205212
!build/testsuite/openexr-images

.github/workflows/ci.yml

Lines changed: 61 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,10 @@ jobs:
200200
- name: Testsuite
201201
if: matrix.skip_tests != '1'
202202
run: src/build-scripts/ci-test.bash
203+
- name: Benchmarks
204+
if: matrix.benchmark == '1'
205+
shell: bash
206+
run: src/build-scripts/ci-benchmark.bash
203207
- name: Check out ABI standard
204208
if: matrix.abi_check != ''
205209
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -232,6 +236,7 @@ jobs:
232236
build/cmake-save
233237
build/compat_reports
234238
build/sphinx
239+
build/benchmarks
235240
build/testsuite/*/*.*
236241
!build/testsuite/oiio-images
237242
!build/testsuite/openexr-images
@@ -267,6 +272,7 @@ jobs:
267272
skip_build: ${{ matrix.skip_build }}
268273
skip_tests: ${{ matrix.skip_tests }}
269274
abi_check: ${{ matrix.abi_check }}
275+
benchmark: ${{ matrix.benchmark }}
270276
build_docs: ${{ matrix.build_docs }}
271277
clang_format: ${{ matrix.clang_format }}
272278
generator: ${{ matrix.generator }}
@@ -312,6 +318,7 @@ jobs:
312318
python_ver: "3.10"
313319
pybind11_ver: v2.10.0
314320
simd: "avx2,f16c"
321+
benchmark: 1
315322
setenvs: export USE_OPENVDB=0
316323
xOPENCOLORIO_CXX=g++
317324
UHDR_CMAKE_C_COMPILER=gcc
@@ -326,6 +333,7 @@ jobs:
326333
simd: "avx2,f16c"
327334
fmt_ver: 10.1.1
328335
pybind11_ver: v2.12.0
336+
benchmark: 1
329337
setenvs: PUGIXML_VERSION=v1.14
330338
- desc: VFX2024 clang/C++17 py3.11 exr3.2 ocio2.3
331339
nametag: linux-vfx2024.clang
@@ -337,6 +345,7 @@ jobs:
337345
simd: "avx2,f16c"
338346
fmt_ver: 10.1.1
339347
pybind11_ver: v2.12.0
348+
benchmark: 1
340349
setenvs: PUGIXML_VERSION=v1.14
341350
- desc: VFX2025 gcc11/C++17 py3.11 exr3.3 ocio2.4
342351
nametag: linux-vfx2025
@@ -346,6 +355,7 @@ jobs:
346355
simd: "avx2,f16c"
347356
fmt_ver: 11.1.4
348357
pybind11_ver: v2.13.6
358+
benchmark: 1
349359
setenvs: PUGIXML_VERSION=v1.15
350360
- desc: Sanitizers
351361
nametag: sanitizer
@@ -373,8 +383,8 @@ jobs:
373383
python_ver: "3.11"
374384
simd: "avx2,f16c"
375385
skip_tests: 1
376-
# abi_check: v2.6.2.0
377-
abi_check: b35615200396c4767966446e446b4fe5ad960d2a
386+
# abi_check: v3.1.3.0
387+
abi_check: 488dfb240884fcb58c889f340c869c2226ca2a28
378388
setenvs: export OIIO_CMAKE_FLAGS="-DOIIO_BUILD_TOOLS=0 -DOIIO_BUILD_TESTS=0 -DUSE_PYTHON=0"
379389
USE_OPENCV=0 USE_FFMPEG=0 USE_PYTHON=0 USE_FREETYPE=0
380390

@@ -431,6 +441,7 @@ jobs:
431441
pybind11_ver: master
432442
python_ver: "3.12"
433443
simd: avx2,f16c
444+
benchmark: 1
434445
setenvs: export LIBJPEGTURBO_VERSION=main
435446
LIBRAW_VERSION=master
436447
LIBTIFF_VERSION=master
@@ -501,6 +512,46 @@ jobs:
501512
depcmds: |
502513
sudo rm -rf /usr/local/include/OpenEXR
503514
sudo rm -rf /usr/local/lib64/cmake/{IlmBase,OpenEXR}
515+
- desc: Linux ARM latest releases gcc14 C++20 py3.12 exr3.3 ocio2.4
516+
nametag: linux-arm-latest-releases
517+
runner: ubuntu-24.04-arm
518+
cc_compiler: gcc-14
519+
cxx_compiler: g++-14
520+
cxx_std: 20
521+
fmt_ver: 11.1.4
522+
opencolorio_ver: v2.4.2
523+
openexr_ver: v3.3.3
524+
pybind11_ver: v2.13.6
525+
python_ver: "3.12"
526+
setenvs: export LIBJPEGTURBO_VERSION=3.1.0
527+
LIBRAW_VERSION=0.21.3
528+
LIBTIFF_VERSION=v4.7.0
529+
OPENJPEG_VERSION=v2.5.3
530+
PTEX_VERSION=v2.4.3
531+
PUGIXML_VERSION=v1.15
532+
WEBP_VERSION=v1.5.0
533+
FREETYPE_VERSION=VER-2-13-3
534+
USE_OPENVDB=0
535+
- desc: Linux ARM latest releases clang18 C++20 py3.12 exr3.3 ocio2.4
536+
nametag: linux-arm-latest-releases-clang
537+
runner: ubuntu-24.04-arm
538+
cc_compiler: clang-18
539+
cxx_compiler: clang++-18
540+
cxx_std: 20
541+
fmt_ver: 11.1.4
542+
opencolorio_ver: v2.4.2
543+
openexr_ver: v3.3.3
544+
pybind11_ver: v2.13.6
545+
python_ver: "3.12"
546+
setenvs: export LIBJPEGTURBO_VERSION=3.1.0
547+
LIBRAW_VERSION=0.21.3
548+
LIBTIFF_VERSION=v4.7.0
549+
OPENJPEG_VERSION=v2.5.3
550+
PTEX_VERSION=v2.4.3
551+
PUGIXML_VERSION=v1.15
552+
WEBP_VERSION=v1.5.0
553+
FREETYPE_VERSION=VER-2-13-3
554+
USE_OPENVDB=0
504555

505556

506557
#
@@ -529,6 +580,7 @@ jobs:
529580
simd: ${{ matrix.simd }}
530581
skip_build: ${{ matrix.skip_build }}
531582
skip_tests: ${{ matrix.skip_tests }}
583+
benchmark: ${{ matrix.benchmark }}
532584
abi_check: ${{ matrix.abi_check }}
533585
build_docs: ${{ matrix.build_docs }}
534586
generator: ${{ matrix.generator }}
@@ -550,6 +602,7 @@ jobs:
550602
simd: sse4.2,avx2
551603
ctest_test_timeout: 1200
552604
setenvs: export MACOSX_DEPLOYMENT_TARGET=12.0
605+
benchmark: 1
553606
- desc: MacOS-14-ARM aclang15/C++20/py3.12
554607
runner: macos-14
555608
nametag: macos14-arm-py312
@@ -564,6 +617,7 @@ jobs:
564617
cxx_compiler: clang++
565618
cxx_std: 20
566619
python_ver: "3.13"
620+
benchmark: 1
567621

568622

569623
#
@@ -592,6 +646,7 @@ jobs:
592646
simd: ${{ matrix.simd }}
593647
skip_build: ${{ matrix.skip_build }}
594648
skip_tests: ${{ matrix.skip_tests }}
649+
benchmark: ${{ matrix.benchmark }}
595650
abi_check: ${{ matrix.abi_check }}
596651
build_docs: ${{ matrix.build_docs }}
597652
generator: ${{ matrix.generator }}
@@ -605,19 +660,23 @@ jobs:
605660
include:
606661
- desc: Windows-2019 VS2019
607662
runner: windows-2019
663+
nametag: windows-2019
608664
vsver: 2019
609665
generator: "Visual Studio 16 2019"
610666
python_ver: "3.9"
611667
setenvs: export OPENIMAGEIO_PYTHON_LOAD_DLLS_FROM_PATH=1
612668
- desc: Windows-2022 VS2022
613669
runner: windows-2022
670+
nametag: windows-2022
614671
vsver: 2022
615672
generator: "Visual Studio 17 2022"
616673
python_ver: "3.9"
617674
setenvs: export OPENIMAGEIO_PYTHON_LOAD_DLLS_FROM_PATH=1
618675
- desc: Windows-2025 VS2022
619676
runner: windows-2025
677+
nametag: windows-2025
620678
vsver: 2022
621679
generator: "Visual Studio 17 2022"
622680
python_ver: "3.9"
623681
setenvs: export OPENIMAGEIO_PYTHON_LOAD_DLLS_FROM_PATH=1
682+
benchmark: 1

.github/workflows/wheel.yml

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,16 +150,24 @@ jobs:
150150
python-version: '3.9'
151151

152152
- name: Build wheels
153+
# Note: the version of cibuildwheel should be kept in sync with src/python/stubs/CMakeLists.txt
153154
uses: pypa/cibuildwheel@d4a2945fcc8d13f20a1b99d461b8e844d5fc6e23 # v2.21.1
154155
env:
156+
# pass GITHUB_ACTIONS through to the build container so that custom
157+
# processes can tell they are running in CI.
158+
CIBW_ENVIRONMENT_PASS_LINUX: GITHUB_ACTIONS
155159
CIBW_BUILD: ${{ matrix.python }}
156160
CIBW_ARCHS: ${{ matrix.arch }}
157161
CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.manylinux }}
158162

159163
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
160164
with:
161165
name: cibw-wheels-${{ matrix.python }}-${{ matrix.manylinux }}
162-
path: ./wheelhouse/*.whl
166+
path: |
167+
./wheelhouse/*.whl
168+
./wheelhouse/OpenImageIO/__init__.pyi
169+
# if stub validation fails we want to upload the stubs for users to review
170+
if: success() || failure()
163171

164172
# ---------------------------------------------------------------------------
165173
# Linux ARM Wheels
@@ -221,7 +229,11 @@ jobs:
221229
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
222230
with:
223231
name: cibw-wheels-${{ matrix.python }}-${{ matrix.manylinux }}
224-
path: ./wheelhouse/*.whl
232+
path: |
233+
./wheelhouse/*.whl
234+
./wheelhouse/OpenImageIO/__init__.pyi
235+
# if stub validation fails we want to upload the stubs for users to review
236+
if: success() || failure()
225237

226238
# ---------------------------------------------------------------------------
227239
# macOS Wheels

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ gastest.o
2323
/*.exr
2424
/*.tif
2525
/*.jpg
26+
/*.png
2627
/*.jxl
2728
/*.tx
2829
/*.log

0 commit comments

Comments
 (0)