@@ -32,7 +32,7 @@ permissions: read-all
3232
3333jobs :
3434
35- aswf :
35+ aswf-old :
3636 name : " VFX${{matrix.vfxyear}} ${{matrix.desc}}"
3737 strategy :
3838 fail-fast : false
4343 runner : ubuntu-latest
4444 container : aswftesting/ci-osl:2021-clang11
4545 vfxyear : 2021
46+ old_node : 1
4647 cxx_std : 17
4748 openexr_ver : v3.1.3
4849 openimageio_ver : v2.4.13.0
5657 runner : ubuntu-latest
5758 container : aswftesting/ci-osl:2022-clang13
5859 vfxyear : 2022
60+ old_node : 1
5961 cxx_std : 17
6062 openimageio_ver : v2.5.17.0
6163 python_ver : 3.9
6769 runner : ubuntu-latest
6870 container : aswftesting/ci-osl:2022-clang12
6971 vfxyear : 2022
72+ old_node : 1
7073 cxx_std : 17
7174 opencolorio_ver : v2.2.1
7275 openimageio_ver : main
@@ -80,54 +83,140 @@ jobs:
8083 runner : ubuntu-latest
8184 container : aswftesting/ci-osl:2022-clang13
8285 vfxyear : 2022
86+ old_node : 1
8387 cxx_std : 17
8488 openimageio_ver : release
8589 python_ver : 3.9
8690 pybind11_ver : v2.9.0
8791 simd : sse2
8892 batched : b4_SSE2
89- - desc : icc/C++17 llvm14 py3.9 oiio-main avx2
90- nametag : linux-icc
91- runner : ubuntu-latest
92- container : aswftesting/ci-osl:2022-clang14
93- vfxyear : 2022
94- cc_compiler : icc
95- cxx_compiler : icpc
96- cxx_std : 17
97- fmt_ver : 7.1.3
98- opencolorio_ver : v2.3.2
99- openimageio_ver : v2.5.17.0
100- # Changes to OIIO's simd.h starting in commit 68666db9 (from PR
101- # #4187) seem to trigger compiler bugs in icc and generate wrong
102- # SIMD code. It's probably not worth tracking down for just this
103- # obsolete compiler. Just lock down to OIIO 2.5 for icc builds to
104- # avoid the problem.
105- # openimageio_ver: e41ac03c0b21 # works
106- # openimageio_ver: 68666db994d5 # broken
107- python_ver : 3.9
108- pybind11_ver : v2.9.0
109- # simd: avx2,f16c
110- batched : b8_AVX2_noFMA
111- setenvs : export OSL_CMAKE_FLAGS="-DSTOP_ON_WARNING=OFF -DEXTRA_CPP_ARGS=-fp-model=consistent"
112- OPENIMAGEIO_CMAKE_FLAGS=-DBUILD_FMT_VERSION=7.1.3
113- USE_OPENVDB=0 OPENCOLORIO_CXX=g++
114- - desc : icx/C++17 llvm14 py3.9 oiio2.3 avx2
115- nametag : linux-icx
93+ - desc : oldest everything gcc9/C++17 llvm9 py3.7 oiio2.3 no-simd
94+ nametag : linux-oldest
11695 runner : ubuntu-latest
117- container : aswftesting/ci-osl:2022-clang14
118- vfxyear : 2022
119- cc_compiler : icx
120- cxx_compiler : icpx
96+ container : aswftesting/ci-osl:2021-clang11
97+ vfxyear : 2021
98+ old_node : 1
12199 cxx_std : 17
122- fmt_ver : 7.1.3
123- opencolorio_ver : v2.3.2
124- openimageio_ver : main
125- python_ver : 3.9
126- pybind11_ver : v2.9.0
127- simd : avx2,f16c
128- batched : b8_AVX2_noFMA
129- setenvs : export OSL_CMAKE_FLAGS="-DSTOP_ON_WARNING=OFF" USE_OPENVDB=0
130- OPENCOLORIO_CXX=g++
100+ openexr_ver : v3.1.0
101+ openimageio_ver : v2.4.13.0
102+ python_ver : 3.7
103+ pybind11_ver : v2.7.0
104+ simd : 0
105+ setenvs : export PUGIXML_VERSION=v1.8
106+ CMAKE_VERSION=3.15.5
107+ ENABLE_OPENVDB=0
108+
109+
110+ runs-on : ${{matrix.runner}}
111+ container :
112+ image : ${{ matrix.container }}
113+ volumes :
114+ - /node20217:/node20217:rw,rshared
115+ - /node20217:/__e/node20:ro,rshared
116+ env :
117+ CXX : ${{matrix.cxx_compiler}}
118+ CC : ${{matrix.cc_compiler}}
119+ CMAKE_CXX_STANDARD : ${{matrix.cxx_std}}
120+ FMT_VERSION : ${{matrix.fmt_ver}}
121+ OPENCOLORIO_VERSION : ${{matrix.opencolorio_ver}}
122+ OPENEXR_VERSION : ${{matrix.openexr_ver}}
123+ OPENIMAGEIO_VERSION : ${{matrix.openimageio_ver}}
124+ PYBIND11_VERSION : ${{matrix.pybind11_ver}}
125+ PYTHON_VERSION : ${{matrix.python_ver}}
126+ USE_BATCHED : ${{matrix.batched}}
127+ USE_SIMD : ${{matrix.simd}}
128+ ABI_CHECK : ${{matrix.abi_check}}
129+ steps :
130+ # Install nodejs 20 with glibc 2.17, to work around the face that the
131+ # GHA runners are insisting on a node version that is too new for the
132+ # glibc in the ASWF containers prior to 2023.
133+ - name : install nodejs20glibc2.17
134+ if : matrix.old_node == '1'
135+ run : |
136+ curl --silent https://unofficial-builds.nodejs.org/download/release/v20.18.1/node-v20.18.1-linux-x64-glibc-217.tar.xz | tar -xJ --strip-components 1 -C /node20217 -f -
137+ # We would like to use harden-runner, but it flags too many false
138+ # positives, every time we download a dependency. We should use it only
139+ # on CI runs where we are producing artifacts that users might rely on.
140+ # - name: Harden Runner
141+ # uses: step-security/harden-runner@248ae51c2e8cc9622ecf50685c8bf7150c6e8813 # v1.4.3
142+ # with:
143+ # egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs
144+ - uses : actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # v3.0.2
145+ - name : Prepare ccache timestamp
146+ id : ccache_cache_keys
147+ run : echo "::set-output name=date::`date -u +'%Y-%m-%dT%H:%M:%SZ'`"
148+ - name : ccache
149+ id : ccache
150+ uses : actions/cache@c3f1317a9e7b1ef106c153ac8c0f00fed3ddbc0d # v3.0.4
151+ with :
152+ path : /tmp/ccache
153+ key : ${{github.job}}-${{matrix.nametag}}-${{steps.ccache_cache_keys.outputs.date}}
154+ restore-keys : ${{github.job}}-${{matrix.nametag}}-
155+ - name : Build setup
156+ run : |
157+ ${{matrix.setenvs}}
158+ src/build-scripts/ci-startup.bash
159+ - name : Remove existing OpenEXR
160+ if : matrix.openexr_ver != ''
161+ run : |
162+ sudo rm -rf /usr/local/include/OpenEXR
163+ sudo rm -rf /usr/local/lib*/cmake/OpenEXR
164+ sudo rm -rf /usr/local/lib*/libOpenOpenEXR*
165+ sudo rm -rf /usr/local/lib*/python3.9/site-packages/OpenOpenEXR*
166+ - name : Remove existing OIIO
167+ if : matrix.openimageio_ver != ''
168+ run : |
169+ sudo rm -rf /usr/local/include/OpenImageIO
170+ sudo rm -rf /usr/local/lib*/cmake/OpenImageIO
171+ sudo rm -rf /usr/local/lib*/libOpenImageIO*
172+ sudo rm -rf /usr/local/lib*/python3.9/site-packages/OpenImageIO*
173+ - name : Dependencies
174+ run : |
175+ ${{matrix.depcmds}}
176+ src/build-scripts/gh-installdeps.bash
177+ - name : Build
178+ run : |
179+ src/build-scripts/ci-build.bash
180+ - name : Testsuite
181+ if : matrix.skip_tests != '1'
182+ run : src/build-scripts/ci-test.bash
183+ - name : Check out ABI standard
184+ if : matrix.abi_check != ''
185+ uses : actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0
186+ with :
187+ ref : ${{matrix.abi_check}}
188+ path : abi_standard
189+ - name : Build ABI standard
190+ if : matrix.abi_check != ''
191+ run : |
192+ mkdir -p abi_standard/build
193+ pushd abi_standard
194+ export LD_LIBRARY_PATH="${PWD}/build/lib:${LD_LIBRARY_PATH}"
195+ src/build-scripts/ci-build.bash
196+ popd
197+ - name : Check ABI
198+ if : matrix.abi_check != ''
199+ run : |
200+ src/build-scripts/ci-abicheck.bash ./build abi_standard/build \
201+ liboslexec liboslcomp liboslquery liboslnoise
202+ - uses : actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
203+ if : failure()
204+ with :
205+ name : osl-${{github.job}}-${{matrix.nametag}}
206+ path : |
207+ build/cmake-save
208+ build/compat_reports
209+ build/*.cmake
210+ build/CMake*
211+ build/testsuite/*/*.*
212+
213+
214+ aswf :
215+ name : " VFX${{matrix.vfxyear}} ${{matrix.desc}}"
216+ strategy :
217+ fail-fast : false
218+ matrix :
219+ include :
131220 - desc : gcc11/C++17 llvm15 py3.10 oiio-rel avx2
132221 nametag : linux-vfx2023
133222 runner : ubuntu-latest
@@ -164,33 +253,19 @@ jobs:
164253 simd : avx2,f16c
165254 batched : b8_AVX2
166255 # setenvs: export CONAN_PACKAGES="ptex/2.4.2@aswf/vfx2024"
167- - desc : oldest everything gcc9/C++17 llvm9 py3.7 oiio2.3 no-simd
168- nametag : linux-oldest
169- runner : ubuntu-latest
170- container : aswftesting/ci-osl:2021-clang11
171- vfxyear : 2021
172- cxx_std : 17
173- openexr_ver : v3.1.0
174- openimageio_ver : v2.4.13.0
175- python_ver : 3.7
176- pybind11_ver : v2.7.0
177- simd : 0
178- setenvs : export PUGIXML_VERSION=v1.8
179- CMAKE_VERSION=3.15.5
180- ENABLE_OPENVDB=0
181256
182257 # Address and leak sanitizers
183258 - desc : sanitizers
184259 nametag : sanitizer
185260 runner : ubuntu-latest
186- container : aswftesting/ci-osl:2022-clang13
187- vfxyear : 2022
261+ container : aswftesting/ci-osl:2024-clang17
262+ vfxyear : 2024
188263 cc_compiler : clang
189264 cxx_compiler : clang++
190265 cxx_std : 17
191266 openimageio_ver : main
192- python_ver : 3.9
193- pybind11_ver : v2.9.0
267+ python_ver : " 3.11 "
268+ pybind11_ver : v2.11.1
194269 simd : avx2,f16c
195270 batched : b8_AVX2
196271 setenvs : export OSL_CMAKE_FLAGS="-DSANITIZE=address -DOSL_TEST_BIG_TIMEOUT=1200"
@@ -244,6 +319,49 @@ jobs:
244319 OPENIMAGEIO_CMAKE_FLAGS="-DUSE_PYTHON=0"
245320 CMAKE_BUILD_TYPE=RelWithDebInfo
246321
322+ - desc : icc/C++17 llvm14 py3.9 oiio-main avx2
323+ nametag : linux-icc
324+ runner : ubuntu-latest
325+ container : aswftesting/ci-osl:2023-clang15
326+ vfxyear : 2023
327+ cc_compiler : icc
328+ cxx_compiler : icpc
329+ cxx_std : 17
330+ fmt_ver : 7.1.3
331+ opencolorio_ver : v2.3.2
332+ openimageio_ver : v2.5.17.0
333+ # Changes to OIIO's simd.h starting in commit 68666db9 (from PR
334+ # #4187) seem to trigger compiler bugs in icc and generate wrong
335+ # SIMD code. It's probably not worth tracking down for just this
336+ # obsolete compiler. Just lock down to OIIO 2.5 for icc builds to
337+ # avoid the problem.
338+ # openimageio_ver: e41ac03c0b21 # works
339+ # openimageio_ver: 68666db994d5 # broken
340+ python_ver : " 3.10"
341+ pybind11_ver : v2.10.0
342+ # simd: avx2,f16c
343+ batched : b8_AVX2_noFMA
344+ setenvs : export OSL_CMAKE_FLAGS="-DSTOP_ON_WARNING=OFF -DEXTRA_CPP_ARGS=-fp-model=consistent"
345+ OPENIMAGEIO_CMAKE_FLAGS=-DBUILD_FMT_VERSION=7.1.3
346+ USE_OPENVDB=0 OPENCOLORIO_CXX=g++
347+ - desc : icx/C++17 llvm14 py3.9 oiio2.3 avx2
348+ nametag : linux-icx
349+ runner : ubuntu-latest
350+ container : aswftesting/ci-osl:2023-clang15
351+ vfxyear : 2023
352+ cc_compiler : icx
353+ cxx_compiler : icpx
354+ cxx_std : 17
355+ fmt_ver : 7.1.3
356+ opencolorio_ver : v2.3.2
357+ openimageio_ver : main
358+ python_ver : " 3.10"
359+ pybind11_ver : v2.10.0
360+ simd : avx2,f16c
361+ batched : b8_AVX2_noFMA
362+ setenvs : export OSL_CMAKE_FLAGS="-DSTOP_ON_WARNING=OFF" USE_OPENVDB=0
363+ OPENCOLORIO_CXX=g++
364+
247365 runs-on : ${{matrix.runner}}
248366 container :
249367 image : ${{ matrix.container }}
0 commit comments