Skip to content

Commit db3b88c

Browse files
Merge branch 'master' into openexr-luminance-chroma
2 parents 001bc46 + 96ed6ee commit db3b88c

File tree

120 files changed

+2212
-665
lines changed

Some content is hidden

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

120 files changed

+2212
-665
lines changed

.clang-format

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ SpacesInContainerLiterals: true
121121
SpacesInCStyleCastParentheses: false
122122
SpacesInParentheses: false
123123
SpacesInSquareBrackets: false
124-
Standard: c++14
124+
Standard: c++17
125125
StatementMacros:
126126
- Q_UNUSED
127127
- QT_REQUIRE_VERSION

.github/workflows/analysis.yml

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -43,30 +43,28 @@ jobs:
4343
- desc: sonar gcc9/C++14 py39 boost1.76 exr3.1 ocio2.2
4444
nametag: static-analysis-sonar
4545
os: ubuntu-latest
46-
vfxyear: 2022
47-
vfxsuffix: -clang11
48-
cxx_std: 14
49-
python_ver: 3.9
46+
container: aswf/ci-osl:2023-clang15
47+
vfxyear: 2023
48+
cxx_std: 17
49+
python_ver: "3.10"
5050
simd: "avx2,f16c"
51-
fmt_ver: 8.1.1
52-
pybind11_ver: v2.9.0
51+
fmt_ver: 10.1.1
52+
pybind11_ver: v2.10.0
5353
coverage: 1
5454
# skip_tests: 1
5555
sonar: 1
56-
setenvs: export SONAR_SCANNER_VERSION=4.7.0.2747
57-
SONAR_SERVER_URL="https://sonarcloud.io"
58-
BUILD_WRAPPER_OUT_DIR=bw_output
59-
OIIO_CMAKE_BUILD_WRAPPER="build-wrapper-linux-x86-64 --out-dir bw_output"
56+
setenvs: export SONAR_SERVER_URL="https://sonarcloud.io"
57+
BUILD_WRAPPER_OUT_DIR=/__w/OpenImageIO/OpenImageIO/bw_output
58+
OIIO_CMAKE_BUILD_WRAPPER="build-wrapper-linux-x86-64 --out-dir /__w/OpenImageIO/OpenImageIO/bw_output"
6059
CMAKE_BUILD_TYPE=Debug
6160
CMAKE_UNITY_BUILD=OFF
6261
CODECOV=1
6362
CTEST_TEST_TIMEOUT=1200
6463
OIIO_CMAKE_FLAGS="-DOIIO_TEX_IMPLEMENT_VARYINGREF=OFF"
65-
OPENCOLORIO_VERSION=v2.2.0
6664

6765
runs-on: ${{ matrix.os }}
6866
container:
69-
image: aswf/ci-osl:${{matrix.vfxyear}}${{matrix.vfxsuffix}}
67+
image: ${{ matrix.container }}
7068
env:
7169
CXX: ${{matrix.cxx_compiler}}
7270
CC: ${{matrix.cc_compiler}}
@@ -106,6 +104,9 @@ jobs:
106104
run: |
107105
${{matrix.depcmds}}
108106
src/build-scripts/gh-installdeps.bash
107+
- name: Install sonar-scanner and build-wrapper
108+
if: matrix.sonar == '1'
109+
uses: sonarsource/sonarcloud-github-c-cpp@e4882e1621ad2fb48dddfa48287411bed34789b1 # v2.0.2
109110
- name: Build
110111
run: src/build-scripts/ci-build.bash
111112
- name: Testsuite
@@ -120,7 +121,14 @@ jobs:
120121
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
121122
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
122123
run: |
123-
sonar-scanner --define sonar.host.url="${{ env.SONAR_SERVER_URL }}" --define sonar.cfamily.build-wrapper-output="build/bw_output" --define sonar.cfamily.gcov.reportsPath="_coverage"
124+
which sonar-scanner
125+
ls -l /__w/OpenImageIO/OpenImageIO/bw_output
126+
echo "BUILD_OUTPUT_DIR is " "${{ env.BUILD_WRAPPER_OUT_DIR }}"
127+
find . -name "*.gcov" -print
128+
# sonar-scanner --define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}"
129+
sonar-scanner --define sonar.host.url="${{ env.SONAR_SERVER_URL }}" --define sonar.cfamily.build-wrapper-output="$BUILD_WRAPPER_OUT_DIR" --define sonar.cfamily.gcov.reportsPath="_coverage" --define sonar.cfamily.threads="$PARALLEL"
130+
# Consult https://docs.sonarcloud.io/advanced-setup/ci-based-analysis/sonarscanner-cli/ for more information and options
131+
124132
# - uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 # v3.1.0
125133
# if: failure()
126134
# with:

.github/workflows/ci.yml

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ on:
1010
paths-ignore:
1111
- '**.md'
1212
- '**.rst'
13+
- '**.analysis.yml'
14+
- '**.properties'
1315
pull_request:
1416
paths-ignore:
1517
- '**.md'
@@ -171,21 +173,6 @@ jobs:
171173
USE_OPENCV=0
172174
depcmds: sudo rm -rf /usr/local/include/OpenEXR
173175

174-
# Test formatting. This test entry doesn't do a full build, it
175-
# just runs clang-format on everything, and passes if nothing is
176-
# misformatted. Upon failure, the build artifact will be the full
177-
# source code with the formatting fixed (diffs will also appear in
178-
# the console output).
179-
- desc: "clang-format"
180-
nametag: clang-format
181-
runner: ubuntu-latest
182-
container: aswf/ci-osl:2022-clang12
183-
vfxyear: 2022
184-
cxx_std: 17
185-
skip_tests: 1
186-
setenvs: export BUILDTARGET=clang-format
187-
OIIO_CMAKE_FLAGS=-DUSE_PYTHON=0
188-
189176
# Test ABI stability. `abi_check` is the version or commit that we
190177
# believe is the current standard against which we don't want to
191178
# break the ABI. Basically, we will build that version as well as
@@ -387,6 +374,22 @@ jobs:
387374
depcmds: |
388375
sudo rm -rf /usr/local/include/OpenEXR
389376
sudo rm -rf /usr/local/lib64/cmake/{IlmBase,OpenEXR}
377+
# Test formatting. This test entry doesn't do a full build, it
378+
# just runs clang-format on everything, and passes if nothing is
379+
# misformatted. Upon failure, the build artifact will be the full
380+
# source code with the formatting fixed (diffs will also appear in
381+
# the console output).
382+
- desc: "clang-format"
383+
nametag: clang-format
384+
runner: ubuntu-latest
385+
cxx_std: 17
386+
extra_artifacts: "src/*.*"
387+
python_ver: "3.10"
388+
skip_tests: 1
389+
setenvs: export BUILDTARGET=clang-format
390+
OIIO_CMAKE_FLAGS=-DUSE_PYTHON=0
391+
LLVM_VERSION=17.0.6 LLVM_DISTRO_NAME=ubuntu-22.04
392+
SKIP_SYSTEM_DEPS_INSTALL=1 QT_VERSION=0
390393

391394
runs-on: ${{ matrix.runner }}
392395
env:
@@ -437,6 +440,7 @@ jobs:
437440
path: |
438441
build/cmake-save
439442
build/testsuite/*/*.*
443+
${{ matrix.extra_artifacts }}
440444
!build/testsuite/oiio-images
441445
!build/testsuite/openexr-images
442446
!build/testsuite/fits-images

.github/workflows/macarm.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ on:
2525
- 'release'
2626
# Run for pull requests whose branch name includes "macarm" (this allows
2727
# us to test specific PRs that we think need ARM verification).
28-
pull_request:
29-
if: contains(github.head_ref, 'macarm')
28+
pull_request: {}
3029
# Run monthly on the 27th (a few days before patch releases) to make sure we
3130
# haven't broken anything among the many PRs that didn't test on ARM.
3231
schedule:
@@ -42,7 +41,9 @@ jobs:
4241
macos-arm:
4342
name: "${{matrix.os}} appleclang${{matrix.aclang}}/C++${{matrix.cxx_std}} py${{matrix.python_ver}} ${{matrix.desc}} boost1.76 exr3.1 ocio2.1"
4443
# Needs special runners, only run on the main repo,
45-
if: github.repository == 'AcademySoftwareFoundation/OpenImageIO'
44+
if: github.repository == 'AcademySoftwareFoundation/OpenImageIO' &&
45+
((github.event_name == 'pull_request' && contains(github.head_ref, 'macarm')) ||
46+
(github.event_name == 'push' || github.event_name == 'schedule'))
4647
strategy:
4748
fail-fast: false
4849
matrix:

.github/workflows/release-notice.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,8 @@ jobs:
1919
- name: Notify Slack
2020
id: slack
2121
with:
22-
slack_webhook_url: ${{ secrets.SLACK_WEBHOOK_RELEASES_URL }}
23-
uses: fedecalendino/slack-release-notifier@8329c1c2d20055ff874ce3eaed7021735d17069d # v2.1.0
22+
project_name: "OpenImageIO"
23+
slack_bot_token: ${{ secrets.SLACK_BOT_TOKEN }}
24+
slack_channel: "#release-announcements"
25+
project_logo: "https://artwork.aswf.io/projects/openimageio/icon/color/openimageio-icon-color.png"
26+
uses: jmertic/slack-release-notifier@main

.mailmap

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,71 @@
1+
# This file establishes email equivalences so we can resolve what look like
2+
# multiple authors, but actually are the same author who has used multiple
3+
# emails over the course of their involvement with the project.
4+
#
5+
# The format is any of the following:
6+
# <CANONICAL-EMAIL> <alternate-email>
7+
# CANONICAL-NAME <CANONICAL-EMAIL> <alternate-email>
8+
# CANONICAL-NAME <CANONICAL-EMAIL> alternate-name <alternate-email>
9+
#
10+
# You can check for duplicates with this command:
11+
# git shortlog -sne --all
12+
# That command (and others) will use this file to collapse the duplicates.
13+
#
14+
# If you see any duplicates we don't account for here, or if you look at your
15+
# own entry here and want a different name or email to be your canonical one
16+
# (we may not have guessed correctly and matched your preferences), please
17+
# file a PR with the edits to this file.
18+
19+
Alejandro Conty <[email protected]> aconty <[email protected]>
20+
Alejandro Conty <[email protected]> Alejandro Conty <[email protected]>
21+
Anton Dukhovnikov <[email protected]> Anton Dukhovnikov <[email protected]>
22+
23+
Brecht Van Lommel <[email protected]> Brecht Van Lommel <[email protected]>
24+
25+
26+
27+
Chris Kulla <[email protected]> Christopher Kulla <[email protected]>
28+
Chris Kulla <[email protected]> fpsunflower <[email protected]>
129
30+
Clément Champetier <[email protected]> Clement Champetier <[email protected]>
31+
Clifford Stein <[email protected]> Cliff Stein <[email protected]>
32+
Clifford Stein <[email protected]> cmstein <[email protected]>
33+
Dan Wexler <[email protected]> Dan Wexler <[email protected]>
34+
Dan Wexler <[email protected]> Dan Wexler <[email protected]>
35+
Edgar Velazquez-Armendariz <[email protected]> Edgar Velázquez-Armendáriz <[email protected]>
36+
Fabien Castan <[email protected]> Fabien Castan <[email protected]>
37+
Fabien Servant <[email protected]> Fabien Servant @ TCS <[email protected]>
38+
Frédéric Devernay <[email protected]> Frédéric Devernay <[email protected]>
39+
Harry Mallon <[email protected]> Harry Mallon <[email protected]>
40+
Henri Fousse <[email protected]> darkhorse64 <[email protected]>
41+
Jesse Yurkovich <[email protected]> Jesse Y <[email protected]>
42+
43+
Larry Gritz <[email protected]> lgritz <[email protected]>
44+
Leszek Godlewski <[email protected]> Leszek Godlewski <[email protected]>
45+
46+
Mark Boorer <[email protected]> Mark Boorer <[email protected]>
47+
Mark Boorer <[email protected]> Shootfast <[email protected]>
48+
Mark Visser <[email protected]> Mark Visser <[email protected]>
49+
Matteo F. Vescovi <[email protected]> Matteo F. Vescovi <[email protected]>
50+
Matteo F. Vescovi <[email protected]> Matteo F. Vescovi <[email protected]>
51+
Mikael Sundell <[email protected]> Mikael Sundell <[email protected]>
52+
Nathan Rusch <[email protected]> Nathan Rusch <[email protected]>
53+
Nick Black <[email protected]> nick black <[email protected]>
54+
Nick Black <[email protected]> Nick Black <[email protected]>
55+
Pascal Lecocq <[email protected]> Pascal Lecocq <[email protected]>
56+
Ramon Montoya <[email protected]> Ramon Montoya Vozmediano <[email protected]>
57+
58+
Ray Molenkamp <[email protected]> Ray Molenkamp <[email protected]>
59+
Richard M. Shaw <[email protected]> Richard <[email protected]>
60+
Richard M. Shaw <[email protected]> Richard Shaw <[email protected]>
61+
Robert Matusewicz <[email protected]> matekm <[email protected]>
62+
Robert Matusewicz <[email protected]> Robert <[email protected]>
63+
Roman Zulak <[email protected]> marsupial <[email protected]>
64+
Sam Richards <[email protected]> Sam Richards <[email protected]>
65+
Shane Ambler <[email protected]> sambler <[email protected]>
66+
Shane Ambler <[email protected]> SAmbler <[email protected]>
67+
Simon Boorer <[email protected]> Simon Boorer <[email protected]>
68+
Thiago Ize <[email protected]> Thiago Ize <[email protected]>
69+
Vlad (Kuzmin) Erium <[email protected]> Vlad (Kuzmin) Erium <[email protected]>
70+
Will Rosecrans <[email protected]> Will <[email protected]>
71+
Yang Yang <[email protected]> YangYangTL <[email protected]>

0 commit comments

Comments
 (0)