Skip to content

Commit c3eaefb

Browse files
authored
Merge branch 'AcademySoftwareFoundation:main' into R3D
2 parents 931148f + 399ad82 commit c3eaefb

Some content is hidden

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

64 files changed

+1657
-417
lines changed

.gitattributes

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Copyright Contributors to the OpenImageIO project.
2+
# SPDX-License-Identifier: Apache-2.0
3+
# https://github.com/AcademySoftwareFoundation/OpenImageIO
4+
5+
# Helpful documentation:
6+
# - https://github.com/github-linguist/linguist/blob/main/docs/overrides.md
7+
# - https://github.com/github-linguist/linguist/blob/main/docs/troubleshooting.md
8+
9+
10+
*.h linguist-language=C++
11+
src/libOpenImageIO/bluenoise.inc -linguist-detectable

.github/workflows/analysis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ on:
2424
- '!**/ci.yml'
2525
- '!**/docs.yml'
2626
- '!**/scorecard.yml'
27+
- '!**/wheel.yml'
2728
- '!**.properties'
2829
- '!docs/**'
2930
# Run analysis on PRs only if the branch name indicates that the purpose of

.github/workflows/build-steps.yml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ on:
5252
type: string
5353
build_docs:
5454
type: string
55+
clang_format:
56+
type: string
5557
generator:
5658
type: string
5759
ctest_args:
@@ -100,7 +102,8 @@ jobs:
100102
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
101103

102104
steps:
103-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
105+
- name: Checkout repo
106+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
104107
with:
105108
fetch-depth: '0'
106109
- name: Prepare ccache timestamp
@@ -144,6 +147,10 @@ jobs:
144147
if: inputs.skip_tests != '1'
145148
shell: bash
146149
run: src/build-scripts/ci-test.bash
150+
- name: clang-format
151+
if: inputs.clang_format == '1'
152+
shell: bash
153+
run: src/build-scripts/run-clang-format.bash
147154
- name: Code coverage
148155
if: inputs.coverage == '1'
149156
run: src/build-scripts/ci-coverage.bash
@@ -186,7 +193,8 @@ jobs:
186193
cd src/doc
187194
time make doxygen
188195
time make sphinx
189-
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
196+
- name: Upload testsuite debugging artifacts
197+
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
190198
if: ${{ failure() || inputs.build_docs == '1'}}
191199
with:
192200
name: oiio-${{github.job}}-${{inputs.nametag}}

.github/workflows/ci.yml

Lines changed: 30 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ on:
1414
- '!**/analysis.yml'
1515
- '!**/docs.yml'
1616
- '!**/scorecard.yml'
17+
- '!**/wheel.yml'
1718
- '!**.properties'
1819
- '!docs/**'
1920
pull_request:
@@ -56,7 +57,7 @@ jobs:
5657
setenvs: export PUGIXML_VERSION=v1.9 WEBP_VERSION=v1.1.0 USE_OPENVDB=0
5758
FREETYPE_VERSION=VER-2-10-0
5859
- desc: VP2021 clang10/C++17 avx2 exr3.1 ocio2.0
59-
nametag: linux-clang10-cpp14
60+
nametag: linux-vfx2021.clang10.cpp14
6061
runner: ubuntu-latest
6162
container: aswf/ci-osl:2021-clang10
6263
vfxyear: 2021
@@ -84,7 +85,7 @@ jobs:
8485
pybind11_ver: v2.9.0
8586
setenvs: export FREETYPE_VERSION=VER-2-12-0
8687
- desc: VP2022 clang13/C++17 py39 avx2 exr3.1 ocio2.1
87-
nametag: linux-vfx2022-clang13
88+
nametag: linux-vfx2022.clang13
8889
runner: ubuntu-latest
8990
container: aswf/ci-osl:2022-clang13
9091
vfxyear: 2022
@@ -173,7 +174,8 @@ jobs:
173174
# uses: step-security/harden-runner@248ae51c2e8cc9622ecf50685c8bf7150c6e8813 # v1.4.3
174175
# with:
175176
# egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs
176-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
177+
- name: Checkout repo
178+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
177179
with:
178180
fetch-depth: '0'
179181
- name: Prepare ccache timestamp
@@ -223,7 +225,8 @@ jobs:
223225
cd src/doc
224226
time make doxygen
225227
time make sphinx
226-
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
228+
- name: Upload testsuite debugging artifacts
229+
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
227230
if: ${{ failure() || matrix.build_docs == '1'}}
228231
with:
229232
name: oiio-${{github.job}}-${{matrix.nametag}}
@@ -267,6 +270,7 @@ jobs:
267270
skip_tests: ${{ matrix.skip_tests }}
268271
abi_check: ${{ matrix.abi_check }}
269272
build_docs: ${{ matrix.build_docs }}
273+
clang_format: ${{ matrix.clang_format }}
270274
generator: ${{ matrix.generator }}
271275
ctest_args: ${{ matrix.ctest_args }}
272276
ctest_test_timeout: ${{ matrix.ctest_test_timeout }}
@@ -286,7 +290,7 @@ jobs:
286290
pybind11_ver: v2.10.0
287291
setenvs: PUGIXML_VERSION=v1.13
288292
- desc: VFX2023 icc/C++17 py3.10 exr3.1 ocio2.1 qt5.15
289-
nametag: linux-vfx2023-icc
293+
nametag: linux-vfx2023.icc
290294
runner: ubuntu-latest
291295
container: aswf/ci-osl:2023
292296
opencolorio_ver: v2.2.1
@@ -302,7 +306,7 @@ jobs:
302306
# For icc, use fp-model precise to eliminate needless LSB errors
303307
# that make test results differ from other platforms.
304308
- desc: VFX2023 icx/C++17 py3.10 exr3.1 ocio2.2 qt5.15
305-
nametag: linux-vfx2023-icx
309+
nametag: linux-vfx2023.icx
306310
runner: ubuntu-latest
307311
container: aswf/ci-osl:2023
308312
cc_compiler: icx
@@ -326,7 +330,7 @@ jobs:
326330
pybind11_ver: v2.12.0
327331
setenvs: PUGIXML_VERSION=v1.14
328332
- desc: VFX2024 clang/C++17 py3.11 exr3.2 ocio2.3
329-
nametag: linux-vfx2024
333+
nametag: linux-vfx2024.clang
330334
runner: ubuntu-latest
331335
container: aswftesting/ci-osl:2024-clang17
332336
cc_compiler: clang
@@ -367,24 +371,25 @@ jobs:
367371
setenvs: export OIIO_CMAKE_FLAGS="-DOIIO_BUILD_TOOLS=0 -DOIIO_BUILD_TESTS=0 -DUSE_PYTHON=0"
368372
USE_OPENCV=0 USE_FFMPEG=0 USE_PYTHON=0 USE_FREETYPE=0
369373

370-
# Test formatting. This test entry doesn't do a full build, it
374+
# Test formatting. This test entry doesn't build at all, it
371375
# just runs clang-format on everything, and passes if nothing is
372376
# misformatted. Upon failure, the build artifact will be the full
373377
# source code with the formatting fixed (diffs will also appear in
374378
# the console output).
375379
- desc: "clang-format"
376380
nametag: clang-format
377-
runner: ubuntu-latest
381+
runner: ubuntu-24.04
378382
cxx_std: 17
379383
extra_artifacts: "src/*.*"
380-
openexr_ver: v3.1.13
381384
python_ver: "3.10"
385+
pybind11_ver: "0"
386+
clang_format: 1
387+
skip_build: 1
382388
skip_tests: 1
383-
setenvs: export BUILDTARGET=clang-format
384-
OIIO_CMAKE_FLAGS=-DUSE_PYTHON=0
385-
LLVM_VERSION=17.0.6 LLVM_DISTRO_NAME=ubuntu-22.04
386-
SKIP_SYSTEM_DEPS_INSTALL=1 QT_VERSION=0
387-
OpenImageIO_OPTIONAL_DEPS=ALL
389+
setenvs: export SKIP_SYSTEM_DEPS_INSTALL=1 SKIP_APT_GET_UPDATE=1
390+
INSTALL_OPENCV=0 QT_VERSION=0 USE_LIBHEIF=0
391+
EXTRA_DEP_PACKAGES="clang-format-17"
392+
CLANG_FORMAT_EXE=clang-format-17
388393

389394
- desc: latest releases gcc13 C++20 py3.12 avx2 exr3.3 ocio2.4
390395
nametag: linux-latest-releases
@@ -453,40 +458,37 @@ jobs:
453458
PUGIXML_VERSION=v1.14
454459
WEBP_VERSION=v1.4.0
455460

456-
- desc: clang14 C++20 avx2 exr3.1 ocio2.1
461+
- desc: clang15 C++17 avx2 exr3.1 ocio2.2
457462
nametag: linux-clang14
458-
runner: ubuntu-20.04
459-
cxx_compiler: clang++
460-
cc_compiler: clang
461-
cxx_std: 20
463+
runner: ubuntu-22.04
464+
cxx_compiler: clang++-15
465+
cc_compiler: clang-15
466+
cxx_std: 17
462467
fmt_ver: 10.1.1
463468
opencolorio_ver: v2.2.1
464469
openexr_ver: v3.1.13
465470
pybind11_ver: v2.12.0
466-
python_ver: 3.8
471+
python_ver: "3.10"
467472
simd: avx2,f16c
468-
setenvs: export LLVM_VERSION=14.0.0
469-
USE_OPENVDB=0
470-
# The installed OpenVDB has a TLS conflict with Python 3.8
471473
- desc: debug gcc9/C++17, sse4.2, exr3.1
472474
nametag: linux-gcc9-cpp17-debug
473-
runner: ubuntu-20.04
475+
runner: ubuntu-22.04
474476
cxx_compiler: g++-9
475477
cxx_std: 17
476478
build_type: Debug
477-
python_ver: 3.8
479+
python_ver: "3.10"
478480
simd: sse4.2
479481
openexr_ver: v3.1.13
480482
pybind11_ver: v2.7.0
481483
ctest_test_timeout: 1200
482484
setenvs: export PUGIXML_VERSION=v1.9
483485
- desc: static libs gcc9 C++17 exr3.1
484486
nametag: linux-static
485-
runner: ubuntu-20.04
487+
runner: ubuntu-22.04
486488
cxx_compiler: g++-9
487489
cxx_std: 17
488490
openexr_ver: v3.1.13
489-
python_ver: 3.8
491+
python_ver: "3.10"
490492
pybind11_ver: v2.7.0
491493
setenvs: export BUILD_SHARED_LIBS=OFF
492494
depcmds: |

.github/workflows/docs.yml

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ on:
1212
- '**/ci.yml'
1313
- '**/analysis.yml'
1414
- '**/scorecard.yml'
15+
- '**/wheel.yml'
1516
- '**.properties'
1617
- 'src/**.cpp'
1718
- '**.cmake'
@@ -22,6 +23,7 @@ on:
2223
- '**/ci.yml'
2324
- '**/analysis.yml'
2425
- '**/scorecard.yml'
26+
- '**/wheel.yml'
2527
- '**.properties'
2628
- 'src/**.cpp'
2729
- '**.cmake'
@@ -56,10 +58,6 @@ jobs:
5658
build_type: ${{ matrix.build_type || 'Release' }}
5759
depcmds: ${{ matrix.depcmds }}
5860
extra_artifacts: ${{ matrix.extra_artifacts }}
59-
fmt_ver: ${{ matrix.fmt_ver }}
60-
opencolorio_ver: ${{ matrix.opencolorio_ver }}
61-
openexr_ver: ${{ matrix.openexr_ver }}
62-
pybind11_ver: ${{ matrix.pybind11_ver }}
6361
python_ver: ${{ matrix.python_ver }}
6462
setenvs: ${{ matrix.setenvs }}
6563
simd: ${{ matrix.simd }}
@@ -68,10 +66,6 @@ jobs:
6866
abi_check: ${{ matrix.abi_check }}
6967
build_docs: ${{ matrix.build_docs }}
7068
generator: ${{ matrix.generator }}
71-
ctest_args: ${{ matrix.ctest_args }}
72-
ctest_test_timeout: ${{ matrix.ctest_test_timeout }}
73-
coverage: ${{ matrix.coverage || '0' }}
74-
sonar: ${{ matrix.sonar || '0' }}
7569

7670
strategy:
7771
fail-fast: false
@@ -80,12 +74,13 @@ jobs:
8074
- desc: docs
8175
nametag: docslinux
8276
runner: ubuntu-latest
83-
container: aswftesting/ci-openexr:2024
84-
vfxyear: 2024
8577
cxx_std: 17
8678
python_ver: "3.11"
8779
build_docs: 1
8880
skip_build: 1
8981
skip_tests: 1
9082
setenvs: export EXTRA_DEP_PACKAGES="doxygen sphinx-doc"
91-
PIP_INSTALLS="sphinx breathe sphinx-tabs furo"
83+
PIP_INSTALLS="sphinx breathe==4.34.0 sphinx-tabs furo==2022.6.21"
84+
SKIP_SYSTEM_DEPS_INSTALL=1
85+
USE_OPENCV=0 USE_FFMPEG=0 USE_FREETYPE=0
86+
USE_LIBHEIF=0 QT_VERSION=0 PYBIND11_VERSION=0

.github/workflows/wheel.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,7 @@ jobs:
268268
env:
269269
CIBW_BUILD: ${{ matrix.python }}
270270
CIBW_ARCHS: ${{ matrix.arch }}
271+
CMAKE_GENERATOR: "Unix Makefiles"
271272
# TODO: Re-enable HEIF when we provide a build recipe that does
272273
# not include GPL-licensed dynamic libraries.
273274
USE_Libheif: 'OFF'
@@ -327,6 +328,7 @@ jobs:
327328
env:
328329
CIBW_BUILD: ${{ matrix.python }}
329330
CIBW_ARCHS: ${{ matrix.arch }}
331+
CMAKE_GENERATOR: "Unix Makefiles"
330332

331333
- uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
332334
with:

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ wheelhouse/
88
_coverage/
99
.python-version
1010
.idea
11+
.vs
1112
.vscode
1213
.cproject
1314
.project

INSTALL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ NEW or CHANGED MINIMUM dependencies since the last major release are **bold**.
4040
* **pybind11 >= 2.7** (tested through 2.12)
4141
* NumPy
4242
* If you want support for PNG files:
43-
* **libPNG >= 1.6.0** (tested though 1.6.43)
43+
* **libPNG >= 1.6.0** (tested though 1.6.47)
4444
* If you want support for camera "RAW" formats:
4545
* **LibRaw >= 0.20** (tested though 0.21.3 and master)
4646
* If you want support for a wide variety of video formats:

pyproject.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ classifiers = [
2929
"Topic :: Software Development :: Libraries :: Python Modules",
3030
]
3131
requires-python = ">= 3.8"
32+
dependencies = [
33+
"numpy>=1.19",
34+
]
3235

3336
[project.urls]
3437
Homepage = "https://openimageio.org/"

src/build-scripts/build_libpng.bash

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
set -ex
1111

1212
# Repo and branch/tag/commit of libpng to download if we don't have it yet
13-
LIBPNG_REPO=${LIBPNG_REPO:=https://github.com/glennrp/libpng.git}
14-
LIBPNG_VERSION=${LIBPNG_VERSION:=v1.6.35}
13+
LIBPNG_REPO=${LIBPNG_REPO:=https://github.com/pnggroup/libpng.git}
14+
LIBPNG_VERSION=${LIBPNG_VERSION:=v1.6.47}
1515

1616
# Where to put libpng repo source (default to the ext area)
1717
LIBPNG_SRC_DIR=${LIBPNG_SRC_DIR:=${PWD}/ext/libpng}

0 commit comments

Comments
 (0)