Skip to content

Commit

Permalink
vars
Browse files Browse the repository at this point in the history
Signed-off-by: Cary Phillips <[email protected]>
  • Loading branch information
cary-ilm committed Nov 18, 2024
1 parent 296d1f0 commit 414ca81
Show file tree
Hide file tree
Showing 24 changed files with 388 additions and 293 deletions.
43 changes: 33 additions & 10 deletions .github/workflows/ci_steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,13 @@

# These are the steps for all CI jobs. Linux, macOS, and Windows all
# share a common set of configure/build/validate steps. The input
# variables control all variations of the validation jobs.
# variables control all variations of the jobs.
#
# Each job validates that the proper files are installed by comparing
# the install_manifest.txt to a reference for that job. This requires
# that each job have a corresponding reference, and that thes
# references are updated when any change is made to the installation
# headers/libraries/cmake/etc.

name: CI Steps

Expand Down Expand Up @@ -57,14 +63,19 @@ jobs:
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0

- name: Install Imath
# Pre-install Imath so the builds validate finding the external installation
if: ${{ inputs.OPENEXR_FORCE_INTERNAL_IMATH == 'OFF' }}
run: share/ci/scripts/install_imath.sh main

- name: Install libdeflate
# Pre-install libdeflate so the builds validate finding the external installation
if: ${{ inputs.OPENEXR_FORCE_INTERNAL_DEFLATE == 'OFF' }}
run: share/ci/scripts/install_libdeflate.sh master

- name: Install help2man
# TODO: this could go in the ASWF Linux docker
# container. Also, it doesn't currently work for Windows, so
# the windows builds have docs disabled.
if: ${{ inputs.OPENEXR_INSTALL_DOCS == 'ON' }}
run: share/ci/scripts/install_help2man.sh

Expand All @@ -74,6 +85,9 @@ jobs:

- name: Construct CMake command
run: |
# Construct the cmake command as a variable, so the
# Configure step below can execute it, but also so we can store
# in in the install_manifest as a debugging reference
CMAKE_COMMAND="cmake -B . -S .. \
-DCMAKE_INSTALL_PREFIX=../_install \
-DCMAKE_BUILD_TYPE=${{ inputs.build-type }} \
Expand All @@ -87,44 +101,53 @@ jobs:
-DOPENEXR_FORCE_INTERNAL_IMATH=${{ inputs.OPENEXR_FORCE_INTERNAL_IMATH }} \
-DOPENEXR_FORCE_INTERNAL_DEFLATE=${{ inputs.OPENEXR_FORCE_INTERNAL_DEFLATE }} \
-DBUILD_TESTING=${{ inputs.BUILD_TESTING }} \
-DOPENEXR_RUN_FUZZ_TESTS='OFF' \
-DCMAKE_VERBOSE_MAKEFILE='ON'"
-DOPENEXR_RUN_FUZZ_TESTS=OFF \
-DCMAKE_VERBOSE_MAKEFILE=ON"
echo "CMAKE_COMMAND=$CMAKE_COMMAND" >> $GITHUB_ENV
# Remove the os version from the manifest name, so it only
# contains "ubuntu", "macos", or "windows", so the name is,
# e.g. install_manifest.macos.1.txt
echo "INSTALL_MANIFEST=$(echo 'install_manifest.${{ inputs.os }}' | cut -d'-' -f1).${{ inputs.build }}.txt" >> $GITHUB_ENV
echo
working-directory: _build
shell: bash

- name: Configure
run: $CMAKE_COMMAND
run: |
$CMAKE_COMMAND
working-directory: _build
shell: bash

- name: Build
run: |
cmake --build . \
--target install \
--config ${{ inputs.build-type }}
cmake --build . --target install --config ${{ inputs.build-type }}
working-directory: _build
shell: bash

- name: Prepare install_manifest
# Store the cmake command as the first line of the manifest,
# and remove the path prefix, so the manifest contains only
# the local filenames.
run: |
echo "# $CMAKE_COMMAND" > "_build/$INSTALL_MANIFEST"
sort _build/install_manifest.txt | sed -e "s:^.*/_install/::" -e ":lib64/:lib/:" >> "_build/$INSTALL_MANIFEST"
sort _build/install_manifest.txt | sed -e "s:^.*/_install/::" >> "_build/$INSTALL_MANIFEST"
shell: bash

- name: Upload install_manifest.txt
# Upload the manifest to make it possible to download for inspection and debugging
uses: actions/upload-artifact@v3
with:
name: install_manifest
path: ${{ env.INSTALL_MANIFEST }}

- name: Validate install
run: share/ci/scripts/validate_install.py "_build/$INSTALL_MANIFEST" "share/ci/install_manifest/$INSTALL_MANIFEST"
# Validate that the build has installed the proper files by comparing against the appropriate reference manifest
run: |
share/ci/scripts/validate_install.py "_build/$INSTALL_MANIFEST" "share/ci/install_manifest/$INSTALL_MANIFEST"
shell: bash

- name: Set PATH for Imath/libdeflate DLLs
# When building against external Imath/libdeflate shared objects, the tests need PATH to include the dll's.
if: contains(inputs.os, 'windows')
run: |
echo "$PATH;C:/Program Files (x86)/Imath/bin;C:/Program Files (x86)/Imath/lib;C:/Program Files (x86)/libdeflate/bin;C:/Program Files (x86)/libdeflate/lib" >> $GITHUB_PATH
Expand Down
30 changes: 15 additions & 15 deletions share/ci/install_manifest/install_manifest.macos.1.txt
Original file line number Diff line number Diff line change
Expand Up @@ -160,25 +160,25 @@ lib/cmake/OpenEXR/OpenEXRConfig.cmake
lib/cmake/OpenEXR/OpenEXRConfigVersion.cmake
lib/cmake/OpenEXR/OpenEXRTargets-release.cmake
lib/cmake/OpenEXR/OpenEXRTargets.cmake
lib/libIex-3_4.99.3.4.0.dylib
lib/libIex-3_4.99.dylib
lib/libIex-3_4.dylib
lib/libIex-$MAJOR_$MINOR.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libIex-$MAJOR_$MINOR.$SOVERSION.dylib
lib/libIex-$MAJOR_$MINOR.dylib
lib/libIex.dylib
lib/libIlmThread-3_4.99.3.4.0.dylib
lib/libIlmThread-3_4.99.dylib
lib/libIlmThread-3_4.dylib
lib/libIlmThread-$MAJOR_$MINOR.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libIlmThread-$MAJOR_$MINOR.$SOVERSION.dylib
lib/libIlmThread-$MAJOR_$MINOR.dylib
lib/libIlmThread.dylib
lib/libOpenEXR-3_4.99.3.4.0.dylib
lib/libOpenEXR-3_4.99.dylib
lib/libOpenEXR-3_4.dylib
lib/libOpenEXR-$MAJOR_$MINOR.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libOpenEXR-$MAJOR_$MINOR.$SOVERSION.dylib
lib/libOpenEXR-$MAJOR_$MINOR.dylib
lib/libOpenEXR.dylib
lib/libOpenEXRCore-3_4.99.3.4.0.dylib
lib/libOpenEXRCore-3_4.99.dylib
lib/libOpenEXRCore-3_4.dylib
lib/libOpenEXRCore-$MAJOR_$MINOR.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libOpenEXRCore-$MAJOR_$MINOR.$SOVERSION.dylib
lib/libOpenEXRCore-$MAJOR_$MINOR.dylib
lib/libOpenEXRCore.dylib
lib/libOpenEXRUtil-3_4.99.3.4.0.dylib
lib/libOpenEXRUtil-3_4.99.dylib
lib/libOpenEXRUtil-3_4.dylib
lib/libOpenEXRUtil-$MAJOR_$MINOR.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libOpenEXRUtil-$MAJOR_$MINOR.$SOVERSION.dylib
lib/libOpenEXRUtil-$MAJOR_$MINOR.dylib
lib/libOpenEXRUtil.dylib
lib/pkgconfig/OpenEXR.pc
share/doc/OpenEXR/examples/deepExamples.cpp
Expand Down
30 changes: 15 additions & 15 deletions share/ci/install_manifest/install_manifest.macos.2.txt
Original file line number Diff line number Diff line change
Expand Up @@ -160,24 +160,24 @@ lib/cmake/OpenEXR/OpenEXRConfig.cmake
lib/cmake/OpenEXR/OpenEXRConfigVersion.cmake
lib/cmake/OpenEXR/OpenEXRTargets-debug.cmake
lib/cmake/OpenEXR/OpenEXRTargets.cmake
lib/libIex-3_4_d.99.3.4.0.dylib
lib/libIex-3_4_d.99.dylib
lib/libIex-3_4_d.dylib
lib/libIex-$MAJOR_$MINOR_d.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libIex-$MAJOR_$MINOR_d.$SOVERSION.dylib
lib/libIex-$MAJOR_$MINOR_d.dylib
lib/libIex_d.dylib
lib/libIlmThread-3_4_d.99.3.4.0.dylib
lib/libIlmThread-3_4_d.99.dylib
lib/libIlmThread-3_4_d.dylib
lib/libIlmThread-$MAJOR_$MINOR_d.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libIlmThread-$MAJOR_$MINOR_d.$SOVERSION.dylib
lib/libIlmThread-$MAJOR_$MINOR_d.dylib
lib/libIlmThread_d.dylib
lib/libOpenEXR-3_4_d.99.3.4.0.dylib
lib/libOpenEXR-3_4_d.99.dylib
lib/libOpenEXR-3_4_d.dylib
lib/libOpenEXRCore-3_4_d.99.3.4.0.dylib
lib/libOpenEXRCore-3_4_d.99.dylib
lib/libOpenEXRCore-3_4_d.dylib
lib/libOpenEXR-$MAJOR_$MINOR_d.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libOpenEXR-$MAJOR_$MINOR_d.$SOVERSION.dylib
lib/libOpenEXR-$MAJOR_$MINOR_d.dylib
lib/libOpenEXRCore-$MAJOR_$MINOR_d.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libOpenEXRCore-$MAJOR_$MINOR_d.$SOVERSION.dylib
lib/libOpenEXRCore-$MAJOR_$MINOR_d.dylib
lib/libOpenEXRCore_d.dylib
lib/libOpenEXRUtil-3_4_d.99.3.4.0.dylib
lib/libOpenEXRUtil-3_4_d.99.dylib
lib/libOpenEXRUtil-3_4_d.dylib
lib/libOpenEXRUtil-$MAJOR_$MINOR_d.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libOpenEXRUtil-$MAJOR_$MINOR_d.$SOVERSION.dylib
lib/libOpenEXRUtil-$MAJOR_$MINOR_d.dylib
lib/libOpenEXRUtil_d.dylib
lib/libOpenEXR_d.dylib
lib/pkgconfig/OpenEXR.pc
Expand Down
10 changes: 5 additions & 5 deletions share/ci/install_manifest/install_manifest.macos.3.txt
Original file line number Diff line number Diff line change
Expand Up @@ -160,11 +160,11 @@ lib/cmake/OpenEXR/OpenEXRConfig.cmake
lib/cmake/OpenEXR/OpenEXRConfigVersion.cmake
lib/cmake/OpenEXR/OpenEXRTargets-release.cmake
lib/cmake/OpenEXR/OpenEXRTargets.cmake
lib/libIex-3_4.a
lib/libIlmThread-3_4.a
lib/libOpenEXR-3_4.a
lib/libOpenEXRCore-3_4.a
lib/libOpenEXRUtil-3_4.a
lib/libIex-$MAJOR_$MINOR.a
lib/libIlmThread-$MAJOR_$MINOR.a
lib/libOpenEXR-$MAJOR_$MINOR.a
lib/libOpenEXRCore-$MAJOR_$MINOR.a
lib/libOpenEXRUtil-$MAJOR_$MINOR.a
lib/pkgconfig/OpenEXR.pc
share/doc/OpenEXR/examples/deepExamples.cpp
share/doc/OpenEXR/examples/deepExamples.h
Expand Down
30 changes: 15 additions & 15 deletions share/ci/install_manifest/install_manifest.macos.4.txt
Original file line number Diff line number Diff line change
Expand Up @@ -160,25 +160,25 @@ lib/cmake/OpenEXR/OpenEXRConfig.cmake
lib/cmake/OpenEXR/OpenEXRConfigVersion.cmake
lib/cmake/OpenEXR/OpenEXRTargets-release.cmake
lib/cmake/OpenEXR/OpenEXRTargets.cmake
lib/libIex-3_4.99.3.4.0.dylib
lib/libIex-3_4.99.dylib
lib/libIex-3_4.dylib
lib/libIex-$MAJOR_$MINOR.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libIex-$MAJOR_$MINOR.$SOVERSION.dylib
lib/libIex-$MAJOR_$MINOR.dylib
lib/libIex.dylib
lib/libIlmThread-3_4.99.3.4.0.dylib
lib/libIlmThread-3_4.99.dylib
lib/libIlmThread-3_4.dylib
lib/libIlmThread-$MAJOR_$MINOR.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libIlmThread-$MAJOR_$MINOR.$SOVERSION.dylib
lib/libIlmThread-$MAJOR_$MINOR.dylib
lib/libIlmThread.dylib
lib/libOpenEXR-3_4.99.3.4.0.dylib
lib/libOpenEXR-3_4.99.dylib
lib/libOpenEXR-3_4.dylib
lib/libOpenEXR-$MAJOR_$MINOR.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libOpenEXR-$MAJOR_$MINOR.$SOVERSION.dylib
lib/libOpenEXR-$MAJOR_$MINOR.dylib
lib/libOpenEXR.dylib
lib/libOpenEXRCore-3_4.99.3.4.0.dylib
lib/libOpenEXRCore-3_4.99.dylib
lib/libOpenEXRCore-3_4.dylib
lib/libOpenEXRCore-$MAJOR_$MINOR.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libOpenEXRCore-$MAJOR_$MINOR.$SOVERSION.dylib
lib/libOpenEXRCore-$MAJOR_$MINOR.dylib
lib/libOpenEXRCore.dylib
lib/libOpenEXRUtil-3_4.99.3.4.0.dylib
lib/libOpenEXRUtil-3_4.99.dylib
lib/libOpenEXRUtil-3_4.dylib
lib/libOpenEXRUtil-$MAJOR_$MINOR.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libOpenEXRUtil-$MAJOR_$MINOR.$SOVERSION.dylib
lib/libOpenEXRUtil-$MAJOR_$MINOR.dylib
lib/libOpenEXRUtil.dylib
lib/pkgconfig/OpenEXR.pc
share/doc/OpenEXR/examples/deepExamples.cpp
Expand Down
30 changes: 15 additions & 15 deletions share/ci/install_manifest/install_manifest.macos.5.txt
Original file line number Diff line number Diff line change
Expand Up @@ -188,28 +188,28 @@ lib/cmake/OpenEXR/OpenEXRConfig.cmake
lib/cmake/OpenEXR/OpenEXRConfigVersion.cmake
lib/cmake/OpenEXR/OpenEXRTargets-release.cmake
lib/cmake/OpenEXR/OpenEXRTargets.cmake
lib/libIex-3_4.99.3.4.0.dylib
lib/libIex-3_4.99.dylib
lib/libIex-3_4.dylib
lib/libIex-$MAJOR_$MINOR.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libIex-$MAJOR_$MINOR.$SOVERSION.dylib
lib/libIex-$MAJOR_$MINOR.dylib
lib/libIex.dylib
lib/libIlmThread-3_4.99.3.4.0.dylib
lib/libIlmThread-3_4.99.dylib
lib/libIlmThread-3_4.dylib
lib/libIlmThread-$MAJOR_$MINOR.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libIlmThread-$MAJOR_$MINOR.$SOVERSION.dylib
lib/libIlmThread-$MAJOR_$MINOR.dylib
lib/libIlmThread.dylib
lib/libImath-3_2.30.3.2.0.dylib
lib/libImath-3_2.30.dylib
lib/libImath-3_2.dylib
lib/libImath.dylib
lib/libOpenEXR-3_4.99.3.4.0.dylib
lib/libOpenEXR-3_4.99.dylib
lib/libOpenEXR-3_4.dylib
lib/libOpenEXR-$MAJOR_$MINOR.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libOpenEXR-$MAJOR_$MINOR.$SOVERSION.dylib
lib/libOpenEXR-$MAJOR_$MINOR.dylib
lib/libOpenEXR.dylib
lib/libOpenEXRCore-3_4.99.3.4.0.dylib
lib/libOpenEXRCore-3_4.99.dylib
lib/libOpenEXRCore-3_4.dylib
lib/libOpenEXRCore-$MAJOR_$MINOR.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libOpenEXRCore-$MAJOR_$MINOR.$SOVERSION.dylib
lib/libOpenEXRCore-$MAJOR_$MINOR.dylib
lib/libOpenEXRCore.dylib
lib/libOpenEXRUtil-3_4.99.3.4.0.dylib
lib/libOpenEXRUtil-3_4.99.dylib
lib/libOpenEXRUtil-3_4.dylib
lib/libOpenEXRUtil-$MAJOR_$MINOR.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libOpenEXRUtil-$MAJOR_$MINOR.$SOVERSION.dylib
lib/libOpenEXRUtil-$MAJOR_$MINOR.dylib
lib/libOpenEXRUtil.dylib
lib/pkgconfig/Imath.pc
30 changes: 15 additions & 15 deletions share/ci/install_manifest/install_manifest.macos.6.txt
Original file line number Diff line number Diff line change
Expand Up @@ -160,25 +160,25 @@ lib/cmake/OpenEXR/OpenEXRConfig.cmake
lib/cmake/OpenEXR/OpenEXRConfigVersion.cmake
lib/cmake/OpenEXR/OpenEXRTargets-release.cmake
lib/cmake/OpenEXR/OpenEXRTargets.cmake
lib/libIex-3_4.99.3.4.0.dylib
lib/libIex-3_4.99.dylib
lib/libIex-3_4.dylib
lib/libIex-$MAJOR_$MINOR.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libIex-$MAJOR_$MINOR.$SOVERSION.dylib
lib/libIex-$MAJOR_$MINOR.dylib
lib/libIex.dylib
lib/libIlmThread-3_4.99.3.4.0.dylib
lib/libIlmThread-3_4.99.dylib
lib/libIlmThread-3_4.dylib
lib/libIlmThread-$MAJOR_$MINOR.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libIlmThread-$MAJOR_$MINOR.$SOVERSION.dylib
lib/libIlmThread-$MAJOR_$MINOR.dylib
lib/libIlmThread.dylib
lib/libOpenEXR-3_4.99.3.4.0.dylib
lib/libOpenEXR-3_4.99.dylib
lib/libOpenEXR-3_4.dylib
lib/libOpenEXR-$MAJOR_$MINOR.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libOpenEXR-$MAJOR_$MINOR.$SOVERSION.dylib
lib/libOpenEXR-$MAJOR_$MINOR.dylib
lib/libOpenEXR.dylib
lib/libOpenEXRCore-3_4.99.3.4.0.dylib
lib/libOpenEXRCore-3_4.99.dylib
lib/libOpenEXRCore-3_4.dylib
lib/libOpenEXRCore-$MAJOR_$MINOR.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libOpenEXRCore-$MAJOR_$MINOR.$SOVERSION.dylib
lib/libOpenEXRCore-$MAJOR_$MINOR.dylib
lib/libOpenEXRCore.dylib
lib/libOpenEXRUtil-3_4.99.3.4.0.dylib
lib/libOpenEXRUtil-3_4.99.dylib
lib/libOpenEXRUtil-3_4.dylib
lib/libOpenEXRUtil-$MAJOR_$MINOR.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libOpenEXRUtil-$MAJOR_$MINOR.$SOVERSION.dylib
lib/libOpenEXRUtil-$MAJOR_$MINOR.dylib
lib/libOpenEXRUtil.dylib
lib/pkgconfig/OpenEXR.pc
share/doc/OpenEXR/examples/deepExamples.cpp
Expand Down
30 changes: 15 additions & 15 deletions share/ci/install_manifest/install_manifest.macos.7.txt
Original file line number Diff line number Diff line change
Expand Up @@ -160,25 +160,25 @@ lib/cmake/OpenEXR/OpenEXRConfig.cmake
lib/cmake/OpenEXR/OpenEXRConfigVersion.cmake
lib/cmake/OpenEXR/OpenEXRTargets-release.cmake
lib/cmake/OpenEXR/OpenEXRTargets.cmake
lib/libIex-3_4.99.3.4.0.dylib
lib/libIex-3_4.99.dylib
lib/libIex-3_4.dylib
lib/libIex-$MAJOR_$MINOR.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libIex-$MAJOR_$MINOR.$SOVERSION.dylib
lib/libIex-$MAJOR_$MINOR.dylib
lib/libIex.dylib
lib/libIlmThread-3_4.99.3.4.0.dylib
lib/libIlmThread-3_4.99.dylib
lib/libIlmThread-3_4.dylib
lib/libIlmThread-$MAJOR_$MINOR.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libIlmThread-$MAJOR_$MINOR.$SOVERSION.dylib
lib/libIlmThread-$MAJOR_$MINOR.dylib
lib/libIlmThread.dylib
lib/libOpenEXR-3_4.99.3.4.0.dylib
lib/libOpenEXR-3_4.99.dylib
lib/libOpenEXR-3_4.dylib
lib/libOpenEXR-$MAJOR_$MINOR.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libOpenEXR-$MAJOR_$MINOR.$SOVERSION.dylib
lib/libOpenEXR-$MAJOR_$MINOR.dylib
lib/libOpenEXR.dylib
lib/libOpenEXRCore-3_4.99.3.4.0.dylib
lib/libOpenEXRCore-3_4.99.dylib
lib/libOpenEXRCore-3_4.dylib
lib/libOpenEXRCore-$MAJOR_$MINOR.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libOpenEXRCore-$MAJOR_$MINOR.$SOVERSION.dylib
lib/libOpenEXRCore-$MAJOR_$MINOR.dylib
lib/libOpenEXRCore.dylib
lib/libOpenEXRUtil-3_4.99.3.4.0.dylib
lib/libOpenEXRUtil-3_4.99.dylib
lib/libOpenEXRUtil-3_4.dylib
lib/libOpenEXRUtil-$MAJOR_$MINOR.$SOVERSION.$MAJOR.$MINOR.0.dylib
lib/libOpenEXRUtil-$MAJOR_$MINOR.$SOVERSION.dylib
lib/libOpenEXRUtil-$MAJOR_$MINOR.dylib
lib/libOpenEXRUtil.dylib
lib/pkgconfig/OpenEXR.pc
share/doc/OpenEXR/examples/deepExamples.cpp
Expand Down
Loading

0 comments on commit 414ca81

Please sign in to comment.