Skip to content

Commit

Permalink
Simplify
Browse files Browse the repository at this point in the history
Signed-off-by: Larry Gritz <[email protected]>
  • Loading branch information
lgritz committed Nov 29, 2024
1 parent c73f2bb commit 43d0d8d
Show file tree
Hide file tree
Showing 2 changed files with 159 additions and 17 deletions.
3 changes: 1 addition & 2 deletions .github/workflows/ci-oldcontainers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ jobs:
# because the ones on GHA runners now are incompatible with the glibc
# version in the old ASWF containers.
old_aswf:
if: 0
name: "OLD VFX${{matrix.vfxyear}} ${{matrix.desc}}"
strategy:
fail-fast: false
Expand Down Expand Up @@ -197,8 +198,6 @@ jobs:
PYBIND11_VERSION: ${{matrix.pybind11_ver}}
PYTHON_VERSION: ${{matrix.python_ver}}
ABI_CHECK: ${{matrix.abi_check}}
ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION: node16
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
steps:
- name: install nodejs20glibc2.17
if: matrix.old_node == '1'
Expand Down
173 changes: 158 additions & 15 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,117 @@ jobs:
fail-fast: false
matrix:
include:
- desc: gcc9/C++17 py3.7 exr3.1 ocio2.0
nametag: linux-vfx2021
runner: ubuntu-latest
container: aswf/ci-osl:2021
vfxyear: 2021
old_node: 1
cxx_std: 17
openexr_ver: v3.1.13
python_ver: 3.7
simd: "avx2,f16c"
fmt_ver: 7.1.0
pybind11_ver: v2.7.0
setenvs: export PUGIXML_VERSION=v1.9 WEBP_VERSION=v1.1.0 USE_OPENVDB=0
FREETYPE_VERSION=VER-2-10-0
- desc: clang10/C++17 avx2 exr3.1 ocio2.0
nametag: linux-clang10-cpp14
runner: ubuntu-latest
container: aswf/ci-osl:2021-clang10
vfxyear: 2021
old_node: 1
cc_compiler: clang
cxx_compiler: clang++
cxx_std: 17
openexr_ver: v3.1.13
pybind11_ver: v2.7.0
python_ver: 3.7
simd: "avx2,f16c"
fmt_ver: 8.1.1
setenvs: export USE_OPENVDB=0
FREETYPE_VERSION=VER-2-11-0
- desc: gcc9/C++17 py39 exr3.1 ocio2.1
nametag: linux-vfx2022
runner: ubuntu-latest
container: aswf/ci-osl:2022-clang11
vfxyear: 2022
old_node: 1
cxx_std: 17
python_ver: 3.9
simd: "avx2,f16c"
fmt_ver: 8.1.1
pybind11_ver: v2.9.0
setenvs: export FREETYPE_VERSION=VER-2-12-0
- desc: clang13/C++17 py39 avx2 exr3.1 ocio2.1
nametag: linux-vfx2022-clang13
runner: ubuntu-latest
container: aswf/ci-osl:2022-clang13
vfxyear: 2022
old_node: 1
cc_compiler: clang
cxx_compiler: clang++
cxx_std: 17
python_ver: 3.9
simd: "avx2,f16c"
fmt_ver: 9.1.0
pybind11_ver: v2.8.1
setenvs: export FREETYPE_VERSION=VER-2-12-0
- desc: icc/C++17 py3.9 exr3.1 ocio2.1 qt5.15
nametag: linux-vfx2022-icc
runner: ubuntu-latest
container: aswf/ci-osl:2022
vfxyear: 2022
old_node: 1
cxx_std: 17
opencolorio_ver: v2.2.1
python_ver: 3.9
# simd: "avx2,f16c"
fmt_ver: 7.1.3
# icc MUST use this older FMT version
pybind11_ver: v2.9.0
setenvs: export USE_ICC=1 USE_OPENVDB=0
OIIO_EXTRA_CPP_ARGS="-fp-model=precise"
FREETYPE_VERSION=VER-2-13-0
DISABLE_libuhdr=1
# For icc, use fp-model precise to eliminate needless LSB errors
# that make test results differ from other platforms.
- desc: icx/C++17 py3.9 exr3.1 ocio2.2 qt5.15
nametag: linux-vfx2022-icx
runner: ubuntu-latest
container: aswf/ci-osl:2022
vfxyear: 2022
old_node: 1
cc_compiler: icx
cxx_compiler: icpx
cxx_std: 17
opencolorio_ver: v2.3.2
python_ver: 3.9
pybind11_ver: v2.9.0
simd: "avx2,f16c"
setenvs: export USE_OPENVDB=0
OPENCOLORIO_CXX=g++
UHDR_CMAKE_C_COMPILER=gcc
UHDR_CMAKE_CXX_COMPILER=g++
# OCIO doesn't build with icx, so we have to force the ocio build
# to use g++.
# Building libuhdr with icx results in test failures
# so we force using gcc/g++.
- desc: sanitizers
nametag: sanitizer
runner: ubuntu-latest
container: aswf/ci-osl:2024-clang17
vfxyear: 2024
cc_compiler: clang
cxx_compiler: clang++
cxx_std: 17
opencolorio_ver: v2.3.2
python_ver: "3.11"
setenvs: export SANITIZE=address,undefined
OIIO_CMAKE_FLAGS="-DSANITIZE=address,undefined -DUSE_PYTHON=0"
CMAKE_BUILD_TYPE=Debug
CTEST_TEST_TIMEOUT=1200
CTEST_EXCLUSIONS="broken|png-damaged"
- desc: gcc11/C++17 py3.10 exr3.1 ocio2.2
nametag: linux-vfx2023
runner: ubuntu-latest
Expand All @@ -57,21 +168,48 @@ jobs:
simd: "avx2,f16c"
fmt_ver: 10.1.1
pybind11_ver: v2.12.0
- desc: sanitizers
nametag: sanitizer
- desc: oldest gcc9.3/C++17 py3.7 exr-3.1
# Oldest versions of the dependencies that we support.
nametag: linux-oldest
runner: ubuntu-latest
container: aswf/ci-osl:2024-clang17
vfxyear: 2024
cc_compiler: clang
cxx_compiler: clang++
container: aswf/ci-osl:2021
vfxyear: 2021
old_node: 1
cxx_std: 17
opencolorio_ver: v2.3.2
python_ver: "3.11"
setenvs: export SANITIZE=address,undefined
OIIO_CMAKE_FLAGS="-DSANITIZE=address,undefined -DUSE_PYTHON=0"
CMAKE_BUILD_TYPE=Debug
CTEST_TEST_TIMEOUT=1200
CTEST_EXCLUSIONS="broken|png-damaged"
fmt_ver: 7.0.1
opencolorio_ver: v2.2.1
openexr_ver: v3.1.0
pybind11_ver: v2.7.0
python_ver: 3.7
setenvs: export CMAKE_VERSION=3.18.2
PTEX_VERSION=v2.3.2
WEBP_VERSION=v1.1.0
depcmds: sudo rm -rf /usr/local/include/OpenEXR
- desc: hobbled gcc9.3/C++17 py3.7 exr-3.1 no-sse
# Use the oldest supported versions of required dependencies, and
# disable most optional dependencies and features (no SSE or
# OpenCV, don't embed plugins).
nametag: linux-disabled
runner: ubuntu-latest
container: aswf/ci-osl:2021
vfxyear: 2021
old_node: 1
cxx_std: 17
fmt_ver: 7.0.1
opencolorio_ver: v2.2.1
openexr_ver: v3.1.0
pybind11_ver: v2.4.2
python_ver: 3.7
simd: 0
setenvs: export EMBEDPLUGINS=0
CMAKE_VERSION=3.18.2
PTEX_VERSION=v2.3.2
WEBP_VERSION=v1.1.0
USE_JPEGTURBO=0
USE_OPENCV=0
FREETYPE_VERSION=VER-2-10-0
depcmds: sudo rm -rf /usr/local/include/OpenEXR

# Test ABI stability. `abi_check` is the version or commit that we
# believe is the current standard against which we don't want to
# break the ABI. Basically, we will build that version as well as
Expand All @@ -96,6 +234,9 @@ jobs:
runs-on: ${{ matrix.runner }}
container:
image: ${{ matrix.container }}
volumes:
- /node20217:/node20217:rw,rshared
- /node20217:/__e/node20:ro,rshared
env:
CXX: ${{matrix.cxx_compiler}}
CC: ${{matrix.cc_compiler}}
Expand All @@ -107,9 +248,11 @@ jobs:
PYBIND11_VERSION: ${{matrix.pybind11_ver}}
PYTHON_VERSION: ${{matrix.python_ver}}
ABI_CHECK: ${{matrix.abi_check}}
ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION: node16
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
steps:
- name: install nodejs20glibc2.17
if: matrix.old_node == '1'
run: |
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 -
# We would like to use harden-runner, but it flags too many false
# positives, every time we download a dependency. We should use it only
# on CI runs where we are producing artifacts that users might rely on.
Expand Down

0 comments on commit 43d0d8d

Please sign in to comment.