Skip to content

testing

testing #894

Workflow file for this run

# SPDX-License-Identifier: BSD-3-Clause
# Copyright (c) Contributors to the OpenEXR Project.
# The CI workflow uses steps defined in ci_steps.yml, via the "uses:"
# directive. Linux, macOS, and Windows all share a common set of
# configure/build/validate steps.
name: CI
# Run on all changes except:
# - markdown/doc changes
# - changes to the website, *except* for "website/src", since that
# code needs validation. The website has a separate workflow
# - changes to the bazel config, since it has its own workflow
# - changes to the python bindings
# - changes to workflows other than this one
on:
push:
paths:
- '**'
- '!**.md'
- '!website/**'
- 'website/src/**'
- '!bazel/**'
- '!src/wrappers/**'
- '!.github/workflows/**'
- '.github/workflows/ci_workflow.yml'
- '.github/workflows/ci_steps.yml'
pull_request:
paths:
- '**'
- '!**.md'
- '!website/**'
- 'website/src/**'
- '!bazel/**'
- '!src/wrappers/**'
- '!.github/workflows/**'
- '.github/workflows/ci_workflow.yml'
- '.github/workflows/ci_steps.yml'
permissions:
contents: read
jobs:
linux:
name: 'Linux.${{ matrix.build}}: ${{ matrix.label }}'
uses: ./.github/workflows/ci_steps.yml
with:
# Set values for the "inputs:" as defined in ci_steps.yml
# Note the defaults provided here for the builds that don't specify
# values.
os: ubuntu-latest
container: 'aswf/ci-openexr:${{ matrix.vfx-cy }}'
vfx-cy: ${{ matrix.vfx-cy || '2024' }}
compiler-desc: ${{ matrix.compiler-desc || 'gcc11.2.1' }}
cxx-compiler: ${{ matrix.cxx-compiler || 'g++' }}
cc-compiler: ${{ matrix.cc-compiler || 'gcc' }}
cxx-standard: ${{ matrix.cxx-standard || '17' }}
build-type: ${{ matrix.build-type || 'Release' }}
BUILD_SHARED_LIBS: ${{ matrix.BUILD_SHARED_LIBS || 'ON' }}
OPENEXR_ENABLE_THREADING: ${{ matrix.OPENEXR_ENABLE_THREADING || 'ON' }}
OPENEXR_INSTALL_PKG_CONFIG: ${{ matrix.OPENEXR_INSTALL_PKG_CONFIG || 'ON' }}
OPENEXR_INSTALL_DOCS: ${{ matrix.OPENEXR_INSTALL_DOCS || 'ON' }}
OPENEXR_BUILD_EXAMPLES: ${{ matrix.OPENEXR_BUILD_EXAMPLES || 'ON' }}
OPENEXR_BUILD_TOOLS: ${{ matrix.OPENEXR_BUILD_TOOLS || 'ON' }}
OPENEXR_BUILD_PYTHON: ${{ matrix.OPENEXR_BUILD_PYTHON || 'OFF' }}
OPENEXR_FORCE_INTERNAL_IMATH: ${{ matrix.OPENEXR_FORCE_INTERNAL_IMATH || 'OFF' }}
OPENEXR_FORCE_INTERNAL_DEFLATE: ${{ matrix.OPENEXR_FORCE_INTERNAL_DEFLATE || 'OFF' }}
BUILD_TESTING: ${{ matrix.BUILD_TESTING || 'ON' }}
strategy:
matrix:
include:
- build: 1
label: Debug
build-type: Debug
- build: 2
label: Release
- build: 3
label: Static
BUILD_SHARED_LIBS: 'OFF'
- build: 4
label: threads=OFF
OPENEXR_ENABLE_THREADING: 'OFF'
- build: 5
label: pkgconfig=OFF, examples=OFF, tools=OFF, docs=OFF, internal deflate
OPENEXR_INSTALL_PKG_CONFIG: 'OFF'
OPENEXR_INSTALL_DOCS: 'OFF'
OPENEXR_BUILD_EXAMPLES: 'OFF'
OPENEXR_BUILD_TOOLS: 'OFF'
OPENEXR_FORCE_INTERNAL_IMATH: 'ON'
OPENEXR_FORCE_INTERNAL_DEFLATE: 'ON'
BUILD_TESTING: 'OFF'
- build: 6
label: clang15.0
compiler-desc: clang15.0
cxx-compiler: clang++
cc-compiler: clang
- build: 7
label: clang14.0
compiler-desc: clang14.0
cxx-compiler: clang++
cc-compiler: clang
- build: 8
label: vfx2023
vfx-cy: 2023
- build: 9
label: vfx2022
vfx-cy: 2022
compiler-desc: gcc9.3.1
- build: 10
label: vfx2021
vfx-cy: 2021
compiler-desc: gcc9.3.1
macOS:
name: 'macOS.${{ matrix.build}}: ${{ matrix.label }}'
uses: ./.github/workflows/ci_steps.yml
with:
# Set values for the "inputs:" as defined in ci_steps.yml
# Note the defaults provided here for the builds that don't specify
# values.
os: ${{ matrix.os || 'macos-14' }}
vfx-cy: ${{ matrix.vfx-cy || '2024' }}
compiler-desc: ${{ matrix.compiler-desc || 'AppleClang11.0' }}
cxx-compiler: ${{ matrix.cxx-compiler || 'clang++' }}
cc-compiler: ${{ matrix.cc-compiler || 'clang' }}
cxx-standard: ${{ matrix.cxx-standard || '17' }}
build-type: ${{ matrix.build-type || 'Release' }}
BUILD_SHARED_LIBS: ${{ matrix.BUILD_SHARED_LIBS || 'ON' }}
OPENEXR_ENABLE_THREADING: ${{ matrix.OPENEXR_ENABLE_THREADING || 'ON' }}
OPENEXR_INSTALL_PKG_CONFIG: ${{ matrix.OPENEXR_INSTALL_PKG_CONFIG || 'ON' }}
OPENEXR_INSTALL_DOCS: ${{ matrix.OPENEXR_INSTALL_DOCS || 'ON' }}
OPENEXR_BUILD_EXAMPLES: ${{ matrix.OPENEXR_BUILD_EXAMPLES || 'ON' }}
OPENEXR_BUILD_TOOLS: ${{ matrix.OPENEXR_BUILD_TOOLS || 'ON' }}
OPENEXR_BUILD_PYTHON: ${{ matrix.OPENEXR_BUILD_PYTHON || 'OFF' }}
OPENEXR_FORCE_INTERNAL_IMATH: ${{ matrix.OPENEXR_FORCE_INTERNAL_IMATH || 'OFF' }}
OPENEXR_FORCE_INTERNAL_DEFLATE: ${{ matrix.OPENEXR_FORCE_INTERNAL_DEFLATE || 'OFF' }}
BUILD_TESTING: ${{ matrix.BUILD_TESTING || 'ON' }}
strategy:
matrix:
include:
- build: 1
label: Debug
build-type: Debug
- build: 2
label: Release
- build: 3
label: Static
BUILD_SHARED_LIBS: 'OFF'
- build: 4
label: threads=OFF
OPENEXR_ENABLE_THREADING: 'OFF'
- build: 5
label: pkgconfig=OFF, examples=OFF, tools=OFF, docs=OFF, internal imath+deflate
OPENEXR_INSTALL_PKG_CONFIG: 'OFF'
OPENEXR_INSTALL_DOCS: 'OFF'
OPENEXR_BUILD_EXAMPLES: 'OFF'
OPENEXR_BUILD_TOOLS: 'OFF'
OPENEXR_FORCE_INTERNAL_IMATH: 'ON'
OPENEXR_FORCE_INTERNAL_DEFLATE: 'ON'
BUILD_TESTING: 'OFF'
- build: 6
label: macos-13
os: macos-13
- build: 7
label: macos-12
os: macos-12
windows:
name: 'Windows.${{ matrix.build}}: ${{ matrix.label }}'
uses: ./.github/workflows/ci_steps.yml
with:
# Set values for the "inputs:" as defined in ci_steps.yml
# Note the defaults provided here for the builds that don't specify
# values.
os: windows-2022
vfx-cy: ${{ matrix.vfx-cy || '2024' }}
compiler-desc: ${{ matrix.compiler-desc || 'msvc17.5' }}
cxx-compiler: ${{ matrix.cxx-compiler }}
cc-compiler: ${{ matrix.cc-compiler }}
cxx-standard: ${{ matrix.cxx-standard || '17' }}
build-type: ${{ matrix.build-type || 'Release' }}
BUILD_SHARED_LIBS: ${{ matrix.BUILD_SHARED_LIBS || 'ON' }}
OPENEXR_ENABLE_THREADING: ${{ matrix.OPENEXR_ENABLE_THREADING || 'ON' }}
OPENEXR_INSTALL_PKG_CONFIG: ${{ matrix.OPENEXR_INSTALL_PKG_CONFIG || 'ON' }}
OPENEXR_INSTALL_DOCS: ${{ matrix.OPENEXR_INSTALL_DOCS || 'OFF' }}
OPENEXR_BUILD_EXAMPLES: ${{ matrix.OPENEXR_BUILD_EXAMPLES || 'ON' }}
OPENEXR_BUILD_TOOLS: ${{ matrix.OPENEXR_BUILD_TOOLS || 'ON' }}
OPENEXR_BUILD_PYTHON: ${{ matrix.OPENEXR_BUILD_PYTHON || 'OFF' }}
OPENEXR_FORCE_INTERNAL_IMATH: ${{ matrix.OPENEXR_FORCE_INTERNAL_IMATH || 'OFF' }}
OPENEXR_FORCE_INTERNAL_DEFLATE: ${{ matrix.OPENEXR_FORCE_INTERNAL_DEFLATE || 'OFF' }}
BUILD_TESTING: ${{ matrix.BUILD_TESTING || 'ON' }}
strategy:
matrix:
include:
- build: 1
label: Debug
build-type: Debug
- build: 2
label: Release
- build: 3
label: pkgconfig=OFF, examples=OFF, tools=OFF, docs=OFF, internal imath+deflate
OPENEXR_INSTALL_PKG_CONFIG: 'OFF'
OPENEXR_INSTALL_DOCS: 'OFF'
OPENEXR_BUILD_EXAMPLES: 'OFF'
OPENEXR_BUILD_TOOLS: 'OFF'
OPENEXR_FORCE_INTERNAL_IMATH: 'ON'
OPENEXR_FORCE_INTERNAL_DEFLATE: 'ON'
BUILD_TESTING: 'OFF'