@@ -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
4949 python_ver : 2.7
5050 pybind11_ver : v2.4.2
5151 setenvs : export CMAKE_VERSION=3.15.5
52- - desc : clang9/C++14 llvm9 oiio-release boost1.66 avx2 exr2.4 py2.7
52+ - desc : clang9/C++14 llvm9 oiio-2.5 boost1.66 avx2 exr2.4 py2.7
5353 nametag : linux-clang9-llvm9
5454 runner : ubuntu-20.04
5555 container : aswftesting/ci-osl:2019-clang9
5858 cxx_compiler : clang++
5959 cxx_std : 14
6060 openexr_ver : v2.4.3
61- openimageio_ver : release
61+ openimageio_ver : v2.5.17.0
6262 python_ver : 2.7
6363 # pybind11_ver: v2.9.0
6464 simd : avx
@@ -151,42 +151,6 @@ jobs:
151151 batched : b8_AVX2_noFMA
152152 setenvs : export OSL_CMAKE_FLAGS="-DSTOP_ON_WARNING=OFF" USE_OPENVDB=0
153153 OPENCOLORIO_CXX=g++
154- - desc : gcc11/C++17 llvm15 py3.10 oiio-rel avx2
155- nametag : linux-vfx2023
156- runner : ubuntu-latest
157- container : aswftesting/ci-osl:2023-clang15
158- vfxyear : 2023
159- cxx_std : 17
160- openimageio_ver : release
161- python_ver : " 3.10"
162- pybind11_ver : v2.9.0
163- simd : avx2,f16c
164- batched : b8_AVX2
165- - desc : GPU Cuda11 gcc11/C++17 llvm15 py3.10 boost1.80 exr3.1 OIIO-main avx2
166- nametag : linux-optix7-2023
167- runner : ubuntu-latest
168- container : aswftesting/ci-osl:2023-clang15
169- vfxyear : 2023
170- cxx_std : 17
171- openimageio_ver : main
172- python_ver : " 3.10"
173- pybind11_ver : v2.10.0
174- simd : avx2,f16c
175- skip_tests : 1
176- setenvs : export OSL_CMAKE_FLAGS="-DOSL_USE_OPTIX=1" OPTIX_VERSION=7.0
177- OPENIMAGEIO_CMAKE_FLAGS=-DBUILD_FMT_VERSION=9.1.0
178- - desc : gcc11/C++17 llvm17 py3.11 boost1.82 oiio-rel avx2
179- nametag : linux-vfx2024
180- runner : ubuntu-latest
181- container : aswftesting/ci-osl:2024-clang17
182- vfxyear : 2024
183- cxx_std : 17
184- openimageio_ver : release
185- python_ver : " 3.11"
186- pybind11_ver : v2.11.1
187- simd : avx2,f16c
188- batched : b8_AVX2
189- # setenvs: export CONAN_PACKAGES="ptex/2.4.2@aswf/vfx2024"
190154 - desc : oldest everything gcc6/C++14 llvm9 py2.7 boost1.66 oiio2.3 no-simd exr2.4
191155 nametag : linux-oldest
192156 runner : ubuntu-latest
@@ -242,6 +206,147 @@ jobs:
242206 # texture system adequately and is able to ignore the benign
243207 # "leaks."
244208
209+ runs-on : ${{matrix.runner}}
210+ container :
211+ image : ${{ matrix.container }}
212+ volumes :
213+ - /node20217:/node20217:rw,rshared
214+ - /node20217:/__e/node20:ro,rshared
215+ env :
216+ CXX : ${{matrix.cxx_compiler}}
217+ CC : ${{matrix.cc_compiler}}
218+ CMAKE_CXX_STANDARD : ${{matrix.cxx_std}}
219+ FMT_VERSION : ${{matrix.fmt_ver}}
220+ OPENCOLORIO_VERSION : ${{matrix.opencolorio_ver}}
221+ OPENEXR_VERSION : ${{matrix.openexr_ver}}
222+ OPENIMAGEIO_VERSION : ${{matrix.openimageio_ver}}
223+ PYBIND11_VERSION : ${{matrix.pybind11_ver}}
224+ PYTHON_VERSION : ${{matrix.python_ver}}
225+ USE_BATCHED : ${{matrix.batched}}
226+ USE_SIMD : ${{matrix.simd}}
227+ ABI_CHECK : ${{matrix.abi_check}}
228+ ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION : node16
229+ ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION : true
230+ steps :
231+ # Install nodejs 20 with glibc 2.17, to work around the face that the
232+ # GHA runners are insisting on a node version that is too new for the
233+ # glibc in the ASWF containers prior to 2023.
234+ - name : install nodejs20glibc2.17
235+ run : |
236+ 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 -
237+ # We would like to use harden-runner, but it flags too many false
238+ # positives, every time we download a dependency. We should use it only
239+ # on CI runs where we are producing artifacts that users might rely on.
240+ # - name: Harden Runner
241+ # uses: step-security/harden-runner@248ae51c2e8cc9622ecf50685c8bf7150c6e8813 # v1.4.3
242+ # with:
243+ # egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs
244+ - uses : actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # v3.0.2
245+ - name : Prepare ccache timestamp
246+ id : ccache_cache_keys
247+ run : echo "::set-output name=date::`date -u +'%Y-%m-%dT%H:%M:%SZ'`"
248+ - name : ccache
249+ id : ccache
250+ uses : actions/cache@c3f1317a9e7b1ef106c153ac8c0f00fed3ddbc0d # v3.0.4
251+ with :
252+ path : /tmp/ccache
253+ key : ${{github.job}}-${{matrix.nametag}}-${{steps.ccache_cache_keys.outputs.date}}
254+ restore-keys : ${{github.job}}-${{matrix.nametag}}-
255+ - name : Build setup
256+ run : |
257+ ${{matrix.setenvs}}
258+ src/build-scripts/ci-startup.bash
259+ - name : Remove existing OIIO
260+ if : matrix.openimageio_ver != ''
261+ run : |
262+ sudo rm -rf /usr/local/include/OpenImageIO
263+ sudo rm -rf /usr/local/lib*/cmake/OpenImageIO
264+ sudo rm -rf /usr/local/lib*/libOpenImageIO*
265+ sudo rm -rf /usr/local/lib*/python3.9/site-packages/OpenImageIO*
266+ - name : Dependencies
267+ run : |
268+ ${{matrix.depcmds}}
269+ src/build-scripts/gh-installdeps.bash
270+ - name : Build
271+ run : |
272+ src/build-scripts/ci-build.bash
273+ - name : Testsuite
274+ if : matrix.skip_tests != '1'
275+ run : src/build-scripts/ci-test.bash
276+ - name : Check out ABI standard
277+ if : matrix.abi_check != ''
278+ uses : actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0
279+ with :
280+ ref : ${{matrix.abi_check}}
281+ path : abi_standard
282+ - name : Build ABI standard
283+ if : matrix.abi_check != ''
284+ run : |
285+ mkdir -p abi_standard/build
286+ pushd abi_standard
287+ export LD_LIBRARY_PATH="${PWD}/build/lib:${LD_LIBRARY_PATH}"
288+ src/build-scripts/ci-build.bash
289+ popd
290+ - name : Check ABI
291+ if : matrix.abi_check != ''
292+ run : |
293+ src/build-scripts/ci-abicheck.bash ./build abi_standard/build \
294+ liboslexec liboslcomp liboslquery liboslnoise
295+ - uses : actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 # v3.1.0
296+ if : failure()
297+ with :
298+ name : osl-${{github.job}}-${{matrix.nametag}}
299+ path : |
300+ build/cmake-save
301+ build/compat_reports
302+ build/*.cmake
303+ build/CMake*
304+ build/testsuite/*/*.*
305+
306+
307+ aswf :
308+ name : " VFX${{matrix.vfxyear}} ${{matrix.desc}}"
309+ strategy :
310+ fail-fast : false
311+ matrix :
312+ include :
313+ - desc : gcc11/C++17 llvm15 py3.10 oiio-rel avx2
314+ nametag : linux-vfx2023
315+ runner : ubuntu-latest
316+ container : aswftesting/ci-osl:2023-clang15
317+ vfxyear : 2023
318+ cxx_std : 17
319+ openimageio_ver : release
320+ python_ver : " 3.10"
321+ pybind11_ver : v2.9.0
322+ simd : avx2,f16c
323+ batched : b8_AVX2
324+ - desc : GPU Cuda11 gcc11/C++17 llvm15 py3.10 boost1.80 exr3.1 OIIO-main avx2
325+ nametag : linux-optix7-2023
326+ runner : ubuntu-latest
327+ container : aswftesting/ci-osl:2023-clang15
328+ vfxyear : 2023
329+ cxx_std : 17
330+ openimageio_ver : main
331+ python_ver : " 3.10"
332+ pybind11_ver : v2.10.0
333+ simd : avx2,f16c
334+ skip_tests : 1
335+ setenvs : export OSL_CMAKE_FLAGS="-DOSL_USE_OPTIX=1" OPTIX_VERSION=7.0
336+ OPENIMAGEIO_CMAKE_FLAGS=-DBUILD_FMT_VERSION=9.1.0
337+ - desc : gcc11/C++17 llvm17 py3.11 boost1.82 oiio-rel avx2
338+ nametag : linux-vfx2024
339+ runner : ubuntu-latest
340+ container : aswftesting/ci-osl:2024-clang17
341+ vfxyear : 2024
342+ cxx_std : 17
343+ openimageio_ver : release
344+ python_ver : " 3.11"
345+ pybind11_ver : v2.11.1
346+ simd : avx2,f16c
347+ batched : b8_AVX2
348+ # setenvs: export CONAN_PACKAGES="ptex/2.4.2@aswf/vfx2024"
349+
245350 # Test ABI stability. `abi_check` is the version or commit that we
246351 # believe is the current standard against which we don't want to
247352 # break the ABI. Basically, we will build that version as well as
0 commit comments