Skip to content

Commit

Permalink
Add Linux clang build
Browse files Browse the repository at this point in the history
Signed-off-by: Cary Phillips <[email protected]>
  • Loading branch information
cary-ilm committed Dec 2, 2024
1 parent ccd3587 commit ac6b58b
Show file tree
Hide file tree
Showing 3 changed files with 241 additions and 21 deletions.
13 changes: 8 additions & 5 deletions .github/workflows/ci_steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ on:
type: string
cxx-standard:
type: string
cxx-compiler:
type: string
cc-compiler:
type: string
build-type:
type: string
BUILD_SHARED_LIBS:
Expand All @@ -51,13 +55,15 @@ on:
type: string

jobs:
ci_steps:
steps:
runs-on: ${{ inputs.os }}

container:
image: ${{ inputs.container }}

env:
CXX: ${{ inputs.cxx-compiler }}
CC: ${{ inputs.cc-compiler }}
ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION: node16
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true

Expand Down Expand Up @@ -107,7 +113,6 @@ jobs:
-DBUILD_TESTING=${{ inputs.BUILD_TESTING }} \
-DOPENEXR_RUN_FUZZ_TESTS=OFF \
-DCMAKE_VERBOSE_MAKEFILE=ON"
echo "namespace: " ${{ inputs.namespace }}
if [ -n "${{ inputs.namespace }}" ]; then
CMAKE_COMMAND="$CMAKE_COMMAND \
-DOPENEXR_IMF_NAMESPACE=${{ inputs.namespace }} \
Expand Down Expand Up @@ -136,7 +141,6 @@ jobs:
shell: bash

- name: Prepare install_manifest
if: ${{ inputs.validate_install != 'OFF' }}
# Store the cmake command as the first line of the manifest,
# and remove the path prefix, so the manifest contains only
# the local filenames.
Expand All @@ -146,15 +150,14 @@ jobs:
shell: bash

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

- name: Validate install
if: ${{ inputs.validate_install != 'OFF' }}
if: ${{ inputs.validate_install == 'ON' }}
# 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"
Expand Down
217 changes: 217 additions & 0 deletions share/ci/install_manifest/install_manifest.ubuntu.10.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,217 @@
# cmake -B . -S .. -DCMAKE_INSTALL_PREFIX=../_install -DCMAKE_BUILD_TYPE=Release -DOPENEXR_CXX_STANDARD=17 -DBUILD_SHARED_LIBS=ON -DOPENEXR_ENABLE_THREADING=ON -DOPENEXR_INSTALL_PKG_CONFIG=ON -DOPENEXR_INSTALL_DOCS=ON -DOPENEXR_BUILD_EXAMPLES=ON -DOPENEXR_BUILD_TOOLS=ON -DOPENEXR_FORCE_INTERNAL_IMATH=OFF -DOPENEXR_FORCE_INTERNAL_DEFLATE=OFF -DBUILD_TESTING=ON -DOPENEXR_RUN_FUZZ_TESTS='OFF' -DCMAKE_VERBOSE_MAKEFILE='ON'
bin/exr2aces
bin/exrenvmap
bin/exrheader
bin/exrinfo
bin/exrmakepreview
bin/exrmaketiled
bin/exrmanifest
bin/exrmetrics
bin/exrmultipart
bin/exrmultiview
bin/exrstdattr
include/OpenEXR/Iex.h
include/OpenEXR/IexBaseExc.h
include/OpenEXR/IexConfig.h
include/OpenEXR/IexErrnoExc.h
include/OpenEXR/IexExport.h
include/OpenEXR/IexForward.h
include/OpenEXR/IexMacros.h
include/OpenEXR/IexMathExc.h
include/OpenEXR/IexMathFloatExc.h
include/OpenEXR/IexMathIeeeExc.h
include/OpenEXR/IexNamespace.h
include/OpenEXR/IexThrowErrnoExc.h
include/OpenEXR/IlmThread.h
include/OpenEXR/IlmThreadConfig.h
include/OpenEXR/IlmThreadExport.h
include/OpenEXR/IlmThreadForward.h
include/OpenEXR/IlmThreadMutex.h
include/OpenEXR/IlmThreadNamespace.h
include/OpenEXR/IlmThreadPool.h
include/OpenEXR/IlmThreadProcessGroup.h
include/OpenEXR/IlmThreadSemaphore.h
include/OpenEXR/ImfAcesFile.h
include/OpenEXR/ImfArray.h
include/OpenEXR/ImfAttribute.h
include/OpenEXR/ImfBoxAttribute.h
include/OpenEXR/ImfCRgbaFile.h
include/OpenEXR/ImfChannelList.h
include/OpenEXR/ImfChannelListAttribute.h
include/OpenEXR/ImfCheckFile.h
include/OpenEXR/ImfChromaticities.h
include/OpenEXR/ImfChromaticitiesAttribute.h
include/OpenEXR/ImfCompositeDeepScanLine.h
include/OpenEXR/ImfCompression.h
include/OpenEXR/ImfCompressionAttribute.h
include/OpenEXR/ImfCompressor.h
include/OpenEXR/ImfContext.h
include/OpenEXR/ImfContextInit.h
include/OpenEXR/ImfConvert.h
include/OpenEXR/ImfDeepCompositing.h
include/OpenEXR/ImfDeepFrameBuffer.h
include/OpenEXR/ImfDeepImage.h
include/OpenEXR/ImfDeepImageChannel.h
include/OpenEXR/ImfDeepImageIO.h
include/OpenEXR/ImfDeepImageLevel.h
include/OpenEXR/ImfDeepImageState.h
include/OpenEXR/ImfDeepImageStateAttribute.h
include/OpenEXR/ImfDeepScanLineInputFile.h
include/OpenEXR/ImfDeepScanLineInputPart.h
include/OpenEXR/ImfDeepScanLineOutputFile.h
include/OpenEXR/ImfDeepScanLineOutputPart.h
include/OpenEXR/ImfDeepTiledInputFile.h
include/OpenEXR/ImfDeepTiledInputPart.h
include/OpenEXR/ImfDeepTiledOutputFile.h
include/OpenEXR/ImfDeepTiledOutputPart.h
include/OpenEXR/ImfDoubleAttribute.h
include/OpenEXR/ImfEnvmap.h
include/OpenEXR/ImfEnvmapAttribute.h
include/OpenEXR/ImfExport.h
include/OpenEXR/ImfFlatImage.h
include/OpenEXR/ImfFlatImageChannel.h
include/OpenEXR/ImfFlatImageIO.h
include/OpenEXR/ImfFlatImageLevel.h
include/OpenEXR/ImfFloatAttribute.h
include/OpenEXR/ImfFloatVectorAttribute.h
include/OpenEXR/ImfForward.h
include/OpenEXR/ImfFrameBuffer.h
include/OpenEXR/ImfFramesPerSecond.h
include/OpenEXR/ImfGenericInputFile.h
include/OpenEXR/ImfGenericOutputFile.h
include/OpenEXR/ImfHeader.h
include/OpenEXR/ImfHuf.h
include/OpenEXR/ImfIDManifest.h
include/OpenEXR/ImfIDManifestAttribute.h
include/OpenEXR/ImfIO.h
include/OpenEXR/ImfImage.h
include/OpenEXR/ImfImageChannel.h
include/OpenEXR/ImfImageChannelRenaming.h
include/OpenEXR/ImfImageDataWindow.h
include/OpenEXR/ImfImageIO.h
include/OpenEXR/ImfImageLevel.h
include/OpenEXR/ImfInputFile.h
include/OpenEXR/ImfInputPart.h
include/OpenEXR/ImfInt64.h
include/OpenEXR/ImfIntAttribute.h
include/OpenEXR/ImfKeyCode.h
include/OpenEXR/ImfKeyCodeAttribute.h
include/OpenEXR/ImfLineOrder.h
include/OpenEXR/ImfLineOrderAttribute.h
include/OpenEXR/ImfLut.h
include/OpenEXR/ImfMatrixAttribute.h
include/OpenEXR/ImfMisc.h
include/OpenEXR/ImfMultiPartInputFile.h
include/OpenEXR/ImfMultiPartOutputFile.h
include/OpenEXR/ImfMultiView.h
include/OpenEXR/ImfName.h
include/OpenEXR/ImfNamespace.h
include/OpenEXR/ImfOpaqueAttribute.h
include/OpenEXR/ImfOutputFile.h
include/OpenEXR/ImfOutputPart.h
include/OpenEXR/ImfPartHelper.h
include/OpenEXR/ImfPartType.h
include/OpenEXR/ImfPixelType.h
include/OpenEXR/ImfPreviewImage.h
include/OpenEXR/ImfPreviewImageAttribute.h
include/OpenEXR/ImfRational.h
include/OpenEXR/ImfRationalAttribute.h
include/OpenEXR/ImfRgba.h
include/OpenEXR/ImfRgbaFile.h
include/OpenEXR/ImfRgbaYca.h
include/OpenEXR/ImfSampleCountChannel.h
include/OpenEXR/ImfStandardAttributes.h
include/OpenEXR/ImfStdIO.h
include/OpenEXR/ImfStringAttribute.h
include/OpenEXR/ImfStringVectorAttribute.h
include/OpenEXR/ImfTestFile.h
include/OpenEXR/ImfThreading.h
include/OpenEXR/ImfTileDescription.h
include/OpenEXR/ImfTileDescriptionAttribute.h
include/OpenEXR/ImfTiledInputFile.h
include/OpenEXR/ImfTiledInputPart.h
include/OpenEXR/ImfTiledOutputFile.h
include/OpenEXR/ImfTiledOutputPart.h
include/OpenEXR/ImfTiledRgbaFile.h
include/OpenEXR/ImfTimeCode.h
include/OpenEXR/ImfTimeCodeAttribute.h
include/OpenEXR/ImfUtilExport.h
include/OpenEXR/ImfVecAttribute.h
include/OpenEXR/ImfVersion.h
include/OpenEXR/ImfWav.h
include/OpenEXR/ImfXdr.h
include/OpenEXR/OpenEXRConfig.h
include/OpenEXR/openexr.h
include/OpenEXR/openexr_attr.h
include/OpenEXR/openexr_base.h
include/OpenEXR/openexr_chunkio.h
include/OpenEXR/openexr_coding.h
include/OpenEXR/openexr_compression.h
include/OpenEXR/openexr_config.h
include/OpenEXR/openexr_context.h
include/OpenEXR/openexr_debug.h
include/OpenEXR/openexr_decode.h
include/OpenEXR/openexr_encode.h
include/OpenEXR/openexr_errors.h
include/OpenEXR/openexr_part.h
include/OpenEXR/openexr_std_attr.h
include/OpenEXR/openexr_version.h
lib64/cmake/OpenEXR/OpenEXRConfig.cmake
lib64/cmake/OpenEXR/OpenEXRConfigVersion.cmake
lib64/cmake/OpenEXR/OpenEXRTargets-release.cmake
lib64/cmake/OpenEXR/OpenEXRTargets.cmake
lib64/libIex-$MAJOR_$MINOR.so
lib64/libIex-$MAJOR_$MINOR.so.$SOVERSION
lib64/libIex-$MAJOR_$MINOR.so.$SOVERSION.$MAJOR.$MINOR.0
lib64/libIex.so
lib64/libIlmThread-$MAJOR_$MINOR.so
lib64/libIlmThread-$MAJOR_$MINOR.so.$SOVERSION
lib64/libIlmThread-$MAJOR_$MINOR.so.$SOVERSION.$MAJOR.$MINOR.0
lib64/libIlmThread.so
lib64/libOpenEXR-$MAJOR_$MINOR.so
lib64/libOpenEXR-$MAJOR_$MINOR.so.$SOVERSION
lib64/libOpenEXR-$MAJOR_$MINOR.so.$SOVERSION.$MAJOR.$MINOR.0
lib64/libOpenEXR.so
lib64/libOpenEXRCore-$MAJOR_$MINOR.so
lib64/libOpenEXRCore-$MAJOR_$MINOR.so.$SOVERSION
lib64/libOpenEXRCore-$MAJOR_$MINOR.so.$SOVERSION.$MAJOR.$MINOR.0
lib64/libOpenEXRCore.so
lib64/libOpenEXRUtil-$MAJOR_$MINOR.so
lib64/libOpenEXRUtil-$MAJOR_$MINOR.so.$SOVERSION
lib64/libOpenEXRUtil-$MAJOR_$MINOR.so.$SOVERSION.$MAJOR.$MINOR.0
lib64/libOpenEXRUtil.so
lib64/pkgconfig/OpenEXR.pc
share/doc/OpenEXR/examples/deepExamples.cpp
share/doc/OpenEXR/examples/deepExamples.h
share/doc/OpenEXR/examples/deepTiledExamples.cpp
share/doc/OpenEXR/examples/deepTiledExamples.h
share/doc/OpenEXR/examples/drawImage.cpp
share/doc/OpenEXR/examples/drawImage.h
share/doc/OpenEXR/examples/generalInterfaceExamples.cpp
share/doc/OpenEXR/examples/generalInterfaceExamples.h
share/doc/OpenEXR/examples/generalInterfaceTiledExamples.cpp
share/doc/OpenEXR/examples/generalInterfaceTiledExamples.h
share/doc/OpenEXR/examples/lowLevelIoExamples.cpp
share/doc/OpenEXR/examples/lowLevelIoExamples.h
share/doc/OpenEXR/examples/main.cpp
share/doc/OpenEXR/examples/multipartExamples.cpp
share/doc/OpenEXR/examples/multipartExamples.h
share/doc/OpenEXR/examples/namespaceAlias.h
share/doc/OpenEXR/examples/previewImageExamples.cpp
share/doc/OpenEXR/examples/previewImageExamples.h
share/doc/OpenEXR/examples/rgbaInterfaceExamples.cpp
share/doc/OpenEXR/examples/rgbaInterfaceExamples.h
share/doc/OpenEXR/examples/rgbaInterfaceTiledExamples.cpp
share/doc/OpenEXR/examples/rgbaInterfaceTiledExamples.h
share/man/man1/exr2aces.1
share/man/man1/exrcheck.1
share/man/man1/exrenvmap.1
share/man/man1/exrheader.1
share/man/man1/exrinfo.1
share/man/man1/exrmakepreview.1
share/man/man1/exrmaketiled.1
share/man/man1/exrmanifest.1
share/man/man1/exrmetrics.1
share/man/man1/exrmultipart.1
share/man/man1/exrmultiview.1
share/man/man1/exrstdattr.1
32 changes: 16 additions & 16 deletions share/ci/install_manifest/install_manifest.ubuntu.7.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# cmake -B . -S .. -DCMAKE_INSTALL_PREFIX=../_install -DCMAKE_BUILD_TYPE=Release -DOPENEXR_CXX_STANDARD=17 -DBUILD_SHARED_LIBS=ON -DOPENEXR_ENABLE_THREADING=ON -DOPENEXR_INSTALL_PKG_CONFIG=ON -DOPENEXR_INSTALL_DOCS=ON -DOPENEXR_BUILD_EXAMPLES=ON -DOPENEXR_BUILD_TOOLS=ON -DOPENEXR_FORCE_INTERNAL_IMATH=OFF -DOPENEXR_FORCE_INTERNAL_DEFLATE=OFF -DBUILD_TESTING=ON -DOPENEXR_RUN_FUZZ_TESTS='OFF' -DCMAKE_VERBOSE_MAKEFILE='ON'
# cmake -B . -S .. -DCMAKE_INSTALL_PREFIX=../_install -DCMAKE_BUILD_TYPE=Release -DOPENEXR_CXX_STANDARD=17 -DBUILD_SHARED_LIBS=ON -DOPENEXR_ENABLE_THREADING=ON -DOPENEXR_INSTALL_PKG_CONFIG=ON -DOPENEXR_INSTALL_DOCS=ON -DOPENEXR_BUILD_EXAMPLES=ON -DOPENEXR_BUILD_TOOLS=ON -DOPENEXR_FORCE_INTERNAL_IMATH=OFF -DOPENEXR_FORCE_INTERNAL_DEFLATE=OFF -DBUILD_TESTING=ON -DOPENEXR_RUN_FUZZ_TESTS=OFF -DCMAKE_VERBOSE_MAKEFILE=ON
bin/exr2aces
bin/exrenvmap
bin/exrheader
Expand Down Expand Up @@ -160,25 +160,25 @@ lib64/cmake/OpenEXR/OpenEXRConfig.cmake
lib64/cmake/OpenEXR/OpenEXRConfigVersion.cmake
lib64/cmake/OpenEXR/OpenEXRTargets-release.cmake
lib64/cmake/OpenEXR/OpenEXRTargets.cmake
lib64/libIex-$MAJOR_$MINOR.so
lib64/libIex-$MAJOR_$MINOR.so.$SOVERSION
lib64/libIex-$MAJOR_$MINOR.so.$SOVERSION.$MAJOR.$MINOR.0
lib64/libIex-3_4.so
lib64/libIex-3_4.so.99
lib64/libIex-3_4.so.99.3.4.0
lib64/libIex.so
lib64/libIlmThread-$MAJOR_$MINOR.so
lib64/libIlmThread-$MAJOR_$MINOR.so.$SOVERSION
lib64/libIlmThread-$MAJOR_$MINOR.so.$SOVERSION.$MAJOR.$MINOR.0
lib64/libIlmThread-3_4.so
lib64/libIlmThread-3_4.so.99
lib64/libIlmThread-3_4.so.99.3.4.0
lib64/libIlmThread.so
lib64/libOpenEXR-$MAJOR_$MINOR.so
lib64/libOpenEXR-$MAJOR_$MINOR.so.$SOVERSION
lib64/libOpenEXR-$MAJOR_$MINOR.so.$SOVERSION.$MAJOR.$MINOR.0
lib64/libOpenEXR-3_4.so
lib64/libOpenEXR-3_4.so.99
lib64/libOpenEXR-3_4.so.99.3.4.0
lib64/libOpenEXR.so
lib64/libOpenEXRCore-$MAJOR_$MINOR.so
lib64/libOpenEXRCore-$MAJOR_$MINOR.so.$SOVERSION
lib64/libOpenEXRCore-$MAJOR_$MINOR.so.$SOVERSION.$MAJOR.$MINOR.0
lib64/libOpenEXRCore-3_4.so
lib64/libOpenEXRCore-3_4.so.99
lib64/libOpenEXRCore-3_4.so.99.3.4.0
lib64/libOpenEXRCore.so
lib64/libOpenEXRUtil-$MAJOR_$MINOR.so
lib64/libOpenEXRUtil-$MAJOR_$MINOR.so.$SOVERSION
lib64/libOpenEXRUtil-$MAJOR_$MINOR.so.$SOVERSION.$MAJOR.$MINOR.0
lib64/libOpenEXRUtil-3_4.so
lib64/libOpenEXRUtil-3_4.so.99
lib64/libOpenEXRUtil-3_4.so.99.3.4.0
lib64/libOpenEXRUtil.so
lib64/pkgconfig/OpenEXR.pc
share/doc/OpenEXR/examples/deepExamples.cpp
Expand Down

0 comments on commit ac6b58b

Please sign in to comment.