Skip to content

..

.. #898

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: Release