Upgrade CI to HDF5 2.0.0 and AVRO 1.12.1 #284
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: github-actions | |
| on: [push, pull_request] | |
| jobs: | |
| windows-2022: | |
| runs-on: windows-2022 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Boost install | |
| run: | | |
| (New-Object System.Net.WebClient).DownloadFile("https://archives.boost.io/release/1.90.0/binaries/boost_1_90_0-msvc-14.2-64.exe", "${{ runner.temp }}\boost.exe") | |
| Start-Process -Wait -FilePath "${{ runner.temp }}\boost.exe" "/SILENT","/SP-","/SUPPRESSMSGBOXES","/DIR=${{ runner.temp }}\boost-install" | |
| - name: AVRO install | |
| run: | | |
| cd ${{ runner.temp }} | |
| git clone -b release-1.12.1 https://github.com/apache/avro.git avro | |
| mkdir avro-build | |
| cd avro-build | |
| cmake -G"Visual Studio 17 2022" -A x64 -T host=x64 -DCMAKE_BUILD_TYPE=Release -DAVRO_BUILD_EXECUTABLES=FALSE -DAVRO_BUILD_TESTS=FALSE -DAVRO_BUILD_SHARED=FALSE -DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/avro-cpp-install ${{ runner.temp }}/avro/lang/c++ | |
| cmake --build . -j2 | |
| cmake --install . | |
| - name: CMake build and install | |
| run: | | |
| cd ${{ github.workspace }}/.. | |
| mkdir build | |
| cd build | |
| cmake -G"Visual Studio 17 2022" -A x64 -T host=x64 -Wno-dev -Wno-deprecated -DBoost_INCLUDE_DIR=${{ runner.temp }}\boost-install -DAVRO_ROOT=${{ runner.temp }}/avro-cpp-install -DAVRO_USE_STATIC_LIBS=TRUE -DWITH_ETP_SSL=FALSE ${{ github.workspace }} | |
| cmake --build . --config Release -j2 | |
| windows-2022-with-fesapi: | |
| runs-on: windows-2022 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Boost install | |
| run: | | |
| (New-Object System.Net.WebClient).DownloadFile("https://archives.boost.io/release/1.90.0/binaries/boost_1_90_0-msvc-14.2-64.exe", "${{ runner.temp }}\boost.exe") | |
| Start-Process -Wait -FilePath "${{ runner.temp }}\boost.exe" "/SILENT","/SP-","/SUPPRESSMSGBOXES","/DIR=${{ runner.temp }}\boost-install" | |
| - name: AVRO install | |
| run: | | |
| cd ${{ runner.temp }} | |
| git clone -b release-1.12.1 https://github.com/apache/avro.git avro | |
| mkdir avro-build | |
| cd avro-build | |
| cmake -G"Visual Studio 17 2022" -A x64 -T host=x64 -DCMAKE_BUILD_TYPE=Release -DAVRO_BUILD_EXECUTABLES=FALSE -DAVRO_BUILD_TESTS=FALSE -DAVRO_BUILD_SHARED=FALSE -DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/avro-cpp-install ${{ runner.temp }}/avro/lang/c++ | |
| cmake --build . -j2 | |
| cmake --install . | |
| - name: FESAPI install | |
| run: | | |
| (New-Object System.Net.WebClient).DownloadFile("https://github.com/F2I-Consulting/fesapi/releases/download/v2.14.0.0/fesapi2_14_0_0-cpp-vs2019-x64.zip", "${{ runner.temp }}\fesapi.zip") | |
| 7z x ${{ runner.temp }}\fesapi.zip -o${{ runner.temp }} | |
| - name: CMake build and install | |
| run: | | |
| cd ${{ github.workspace }}/.. | |
| mkdir build | |
| cd build | |
| cmake -G"Visual Studio 17 2022" -A x64 -T host=x64 -Wno-dev -Wno-deprecated -DBoost_INCLUDE_DIR=${{ runner.temp }}\boost-install -DAVRO_ROOT=${{ runner.temp }}/avro-cpp-install -DAVRO_USE_STATIC_LIBS=TRUE -DWITH_FESAPI=TRUE -DFESAPI_ROOT=${{ runner.temp }}/fesapi2_14_0_0-cpp-vs2019-x64 -DWITH_ETP_SSL=FALSE ${{ github.workspace }} | |
| cmake --build . --config Release -j2 | |
| ubuntu-22: | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: APT install | |
| run: | | |
| sudo apt update | |
| sudo apt install -y libboost-all-dev | |
| - name: AVRO INSTALL | |
| run: | | |
| cd ${{ runner.temp }} | |
| git clone -b release-1.12.1 https://github.com/apache/avro.git avro | |
| mkdir avro-build | |
| cd avro-build | |
| cmake -Wno-dev -Wno-deprecated -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -DAVRO_BUILD_EXECUTABLES=FALSE -DAVRO_BUILD_TESTS=FALSE -DAVRO_BUILD_SHARED=FALSE -DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/avro-cpp-install ${{ runner.temp }}/avro/lang/c++ | |
| cmake --build . -j2 | |
| cmake --install . | |
| - name: CMake build and install | |
| run: | | |
| cd ${{ github.workspace }}/.. | |
| mkdir build | |
| cd build | |
| cmake -DAVRO_ROOT=${{ runner.temp }}/avro-cpp-install -DAVRO_USE_STATIC_LIBS=TRUE ${{ github.workspace }} | |
| cmake --build . --config Release -j2 | |
| ubuntu-22-java11: | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' # See 'Supported distributions' for available options | |
| java-version: '11' | |
| - name: APT install | |
| run: | | |
| sudo apt update | |
| sudo apt install -y libboost-all-dev | |
| - name: AVRO INSTALL | |
| run: | | |
| cd ${{ runner.temp }} | |
| git clone -b release-1.12.1 https://github.com/apache/avro.git avro | |
| mkdir avro-build | |
| cd avro-build | |
| cmake -Wno-dev -Wno-deprecated -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -DAVRO_BUILD_EXECUTABLES=FALSE -DAVRO_BUILD_TESTS=FALSE -DAVRO_BUILD_SHARED=FALSE -DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/avro-cpp-install ${{ runner.temp }}/avro/lang/c++ | |
| cmake --build . -j2 | |
| cmake --install . | |
| - name: CMake build and install | |
| run: | | |
| cd ${{ github.workspace }}/.. | |
| mkdir build | |
| cd build | |
| cmake -DAVRO_ROOT=${{ runner.temp }}/avro-cpp-install -DAVRO_USE_STATIC_LIBS=TRUE -DWITH_JAVA_WRAPPING=TRUE ${{ github.workspace }} | |
| cmake --build . --config Release -j2 | |
| ubuntu-22-java11-with-fesapi: | |
| runs-on: ubuntu-22.04 | |
| strategy: | |
| fail-fast: false # 'false' means Don't stop matrix workflows even if some matrix failed. | |
| matrix: | |
| include: [ | |
| { xcc_name: 'gcc 10', xcc_pkg: gcc-10, cc: gcc-10, cxx: g++-10 }, | |
| { xcc_name: 'gcc 11', xcc_pkg: gcc-11, cc: gcc-11, cxx: g++-11 }, | |
| { xcc_name: 'gcc 12', xcc_pkg: gcc-12, cc: gcc-12, cxx: g++-12 }, | |
| { xcc_name: 'clang 13', xcc_pkg: clang-13, cc: clang-13, cxx: clang++-13 }, | |
| { xcc_name: 'clang 14', xcc_pkg: clang-14, cc: clang-14, cxx: clang++-14 }, | |
| { xcc_name: 'clang 15', xcc_pkg: clang-15, cc: clang-15, cxx: clang++-15 }, | |
| ] | |
| env: | |
| XCC: $${{ matrix.xcc_name }} # Set environment variables | |
| CC: ${{ matrix.cc }} | |
| CXX: ${{ matrix.cxx }} | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' # See 'Supported distributions' for available options | |
| java-version: '11' | |
| - name: APT install | |
| run: | | |
| sudo apt update | |
| sudo apt install -y ${{ matrix.xcc_pkg }} libhdf5-dev libminizip-dev libboost-all-dev | |
| - name: FESAPI install | |
| run: | | |
| git clone --branch v2.14.0.0 --single-branch https://github.com/F2I-Consulting/fesapi.git ${{ runner.temp }}/fesapi-src | |
| cd ${{ runner.temp }} | |
| mkdir fesapi-build | |
| cd fesapi-build | |
| cmake -DMINIZIP_INCLUDE_DIR=/usr/include/minizip -DMINIZIP_LIBRARY_RELEASE=/usr/lib/x86_64-linux-gnu/libminizip.so.1.0.0 -DCMAKE_BUILD_TYPE=Release -DWITH_JAVA_WRAPPING=TRUE -DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/fesapi-install -DCMAKE_C_COMPILER=${{ matrix.cc }} -DCMAKE_CXX_COMPILER=${{ matrix.cxx }} ${{ runner.temp }}/fesapi-src | |
| cmake --build . -j2 | |
| cmake --install . | |
| mkdir -p ${{ runner.temp }}/fesapi-install/include/fesapi | |
| cd ${{ runner.temp }}/fesapi-src/src | |
| find . -name "*.h" -exec cp --parents \{\} ${{ runner.temp }}/fesapi-install/include/fesapi/ \; | |
| - name: AVRO INSTALL | |
| run: | | |
| cd ${{ runner.temp }} | |
| git clone -b release-1.12.1 https://github.com/apache/avro.git avro | |
| mkdir avro-build | |
| cd avro-build | |
| cmake -Wno-dev -Wno-deprecated -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -DAVRO_BUILD_EXECUTABLES=FALSE -DAVRO_BUILD_TESTS=FALSE -DAVRO_BUILD_SHARED=FALSE -DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/avro-cpp-install /avro/lang/c++ | |
| cmake --build . -j2 | |
| cmake --install . | |
| - name: CMake build and install | |
| run: | | |
| cd ${{ github.workspace }}/.. | |
| mkdir build | |
| cd build | |
| cmake -DAVRO_ROOT=${{ runner.temp }}/avro-cpp-install -DAVRO_USE_STATIC_LIBS=TRUE -DWITH_FESAPI=TRUE -DFESAPI_ROOT=${{ runner.temp }}/fesapi-install -DFESAPI_JAR=${{ runner.temp }}/fesapi-install/lib/fesapiJava-2.14.0.0.jar -DWITH_JAVA_WRAPPING=TRUE ${{ github.workspace }} -DCMAKE_C_COMPILER=${{ matrix.cc }} -DCMAKE_CXX_COMPILER=${{ matrix.cxx }} | |
| cmake --build . --config Release -j2 | |
| build_wheels_windows: | |
| name: Build wheels on windows-latest | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Stub `setup.py` check | |
| # It will be generated during CMake run | |
| # https://github.com/pypa/cibuildwheel/issues/1139 | |
| run: touch python/setup.py | |
| - name: Build wheels | |
| uses: pypa/cibuildwheel@v3.2.1 | |
| env: | |
| CIBW_BUILD: cp38-win_amd64 cp39-win_amd64 cp310-win_amd64 cp311-win_amd64 cp312-win_amd64 cp313-win_amd64 | |
| CIBW_ARCHS: auto64 | |
| CIBW_BEFORE_ALL: > | |
| %VCPKG_INSTALLATION_ROOT%\vcpkg install boost-uuid minizip hdf5[zlib] && | |
| cd ${{ runner.temp }} && | |
| powershell -Command "(New-Object System.Net.WebClient).DownloadFile('https://github.com/F2I-Consulting/fesapi/archive/refs/tags/v2.14.0.0.tar.gz', '${{ runner.temp }}\fesapi-2.14.0.0.tar.gz')" && | |
| 7z x ${{ runner.temp }}\fesapi-2.14.0.0.tar.gz -o${{ runner.temp }} && | |
| 7z x ${{ runner.temp }}\fesapi-2.14.0.0.tar -o${{ runner.temp }} && | |
| mkdir fesapi-build && | |
| cd fesapi-build && | |
| cmake -DCMAKE_TOOLCHAIN_FILE=%VCPKG_INSTALLATION_ROOT%\scripts\buildsystems\vcpkg.cmake -G"Visual Studio 17 2022" -A x64 -T host=x64 -Wno-dev -Wno-deprecated -DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/fesapi-install ${{ runner.temp }}\fesapi-2.14.0.0 && | |
| cmake --build . --config Release -j2 && | |
| cmake --build . --config Release --target INSTALL && | |
| %VCPKG_INSTALLATION_ROOT%\vcpkg install bext-wintls boost-beast avro-cpp && | |
| cd ${{ runner.temp }} && | |
| mkdir fetpapi-build && | |
| cd fetpapi-build && | |
| cmake -DCMAKE_TOOLCHAIN_FILE=%VCPKG_INSTALLATION_ROOT%\scripts\buildsystems\vcpkg.cmake -G"Visual Studio 17 2022" -A x64 -T host=x64 -Wno-dev -Wno-deprecated -DWITH_FESAPI=TRUE -DFESAPI_ROOT=${{ runner.temp }}/fesapi-install -DWITH_PYTHON_WRAPPING=TRUE -DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/fetpapi-install ${{ github.workspace }} && | |
| cmake --build . --config Release -j2 && | |
| cmake --build . --config Release --target INSTALL && | |
| pip install delvewheel | |
| CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: > | |
| delvewheel repair --add-path ${{ runner.temp }}\fetpapi-build\Release --add-path ${{ runner.temp }}\fesapi-build\Release --namespace-pkg fetpapi -w {dest_dir} {wheel} | |
| CIBW_TEST_COMMAND: python ${{github.workspace}}\python\example\etp_client_example.py | |
| with: | |
| package-dir: ./python | |
| output-dir: wheelhouse | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: cibw-wheels-windows | |
| path: ./wheelhouse/*.whl | |
| build_wheels_linux: | |
| name: Build wheels on ubuntu-latest | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Stub `setup.py` check | |
| # It will be generated during CMake run | |
| # https://github.com/pypa/cibuildwheel/issues/1139 | |
| run: touch python/setup.py | |
| - name: Build wheels | |
| uses: pypa/cibuildwheel@v3.2.1 | |
| # RedHat nor Debian maintain security patches for hdf5. We consequently build the latest HDF5 version. | |
| env: | |
| CIBW_BUILD: cp38-manylinux_* cp39-manylinux_* cp310-manylinux_* cp311-manylinux_* cp312-manylinux_* cp313-manylinux_* | |
| CIBW_ARCHS: auto64 | |
| CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_28 | |
| CIBW_BEFORE_ALL: > | |
| yum install -y wget gcc-c++ boost-devel openssl-devel && | |
| yum search epel-release && | |
| yum info epel-release && | |
| yum install -y epel-release && | |
| yum --enablerepo=epel install -y minizip1.2-devel cmake3 && | |
| cd / && | |
| wget --no-verbose https://support.hdfgroup.org/releases/hdf5/v2_0/v2_0_0/downloads/hdf5-2.0.0.tar.gz && | |
| tar -xzf hdf5-2.0.0.tar.gz && | |
| mkdir hdf5-build && | |
| cd hdf5-build && | |
| cmake3 -G "Unix Makefiles" -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE:STRING=Release -DHDF5_ENABLE_ZLIB_SUPPORT:BOOL=ON -DBUILD_SHARED_LIBS:BOOL=OFF -DHDF5_BUILD_FORTRAN:BOOL=OFF -DHDF5_BUILD_JAVA:BOOL=OFF -DHDF5_ENABLE_PARALLEL:BOOL=OFF -DHDF5_BUILD_CPP_LIB:BOOL=OFF -DHDF5_BUILD_HL_LIB:BOOL=OFF -DHDF5_BUILD_EXAMPLES:BOOL=OFF -DHDF5_BUILD_GENERATORS:BOOL=OFF -DHDF5_BUILD_TOOLS:BOOL=OFF -DHDF5_BUILD_UTILS:BOOL=OFF -DBUILD_TESTING:BOOL=OFF -DCMAKE_INSTALL_PREFIX:STRING=/hdf5-install /hdf5-2.0.0 && | |
| cmake3 --build . -j2 && | |
| cmake3 --install . && | |
| cd / && | |
| wget https://github.com/F2I-Consulting/fesapi/archive/refs/tags/v2.14.0.0.zip && | |
| unzip v2.14.0.0.zip && | |
| mkdir fesapi-build && | |
| cd fesapi-build && | |
| cmake3 -DCMAKE_BUILD_TYPE=Release -DHDF5_ROOT=/hdf5-install -DHDF5_USE_STATIC_LIBRARIES=TRUE -DCMAKE_INSTALL_PREFIX:STRING=/fesapi-install /fesapi-2.14.0.0 && | |
| cmake3 --build . -j2 && | |
| cmake3 --install . && | |
| cd / && | |
| git clone -b release-1.12.1 https://github.com/apache/avro.git avro && | |
| mkdir avro-build && | |
| cd avro-build && | |
| cmake3 -Wno-dev -Wno-deprecated -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -DAVRO_BUILD_EXECUTABLES=FALSE -DAVRO_BUILD_TESTS=FALSE -DAVRO_BUILD_SHARED=FALSE -DCMAKE_INSTALL_PREFIX=/avro-install /avro/lang/c++ && | |
| cmake3 --build . -j2 && | |
| cmake3 --install . && | |
| cd / && | |
| mkdir build && | |
| cd build && | |
| cmake3 -DCMAKE_BUILD_TYPE=Release -DAVRO_ROOT=/avro-install -DAVRO_USE_STATIC_LIBS=TRUE -DWITH_FESAPI=TRUE -DFESAPI_ROOT=/fesapi-install -DWITH_PYTHON_WRAPPING=TRUE -DCMAKE_INSTALL_PREFIX:STRING=/fetpapi-install {project} && | |
| cmake3 --build . -j2 && | |
| cmake3 --install . | |
| CIBW_REPAIR_WHEEL_COMMAND_LINUX: > | |
| export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/fesapi-install/lib64:/fetpapi-install/lib64 && | |
| auditwheel repair -w {dest_dir} {wheel} | |
| CIBW_TEST_COMMAND: python {project}/python/example/etp_client_example.py | |
| with: | |
| package-dir: ./python | |
| output-dir: wheelhouse | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: cibw-wheels-manylinux_2_28 | |
| path: ./wheelhouse/*.whl | |
| build_wheels_mac: | |
| name: Build wheels on macos-14 | |
| runs-on: macos-14 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Stub `setup.py` check | |
| # It will be generated during CMake run | |
| # https://github.com/pypa/cibuildwheel/issues/1139 | |
| run: touch python/setup.py | |
| - name: Build wheels | |
| uses: pypa/cibuildwheel@v3.2.1 | |
| env: | |
| CIBW_BUILD: cp38-macosx_* cp39-macosx_* cp310-macosx_* cp311-macosx_* cp312-macosx_* cp313-macosx_* | |
| CIBW_ARCHS: auto64 | |
| # See https://cibuildwheel.pypa.io/en/stable/cpp_standards/#macos-and-deployment-target-versions | |
| MACOSX_DEPLOYMENT_TARGET: 11.0 | |
| # Dont use brew for dependencies https://github.com/pypa/cibuildwheel/issues/1251#issuecomment-1234553537 | |
| CIBW_BEFORE_ALL: > | |
| cd ${{ github.workspace }}/.. && | |
| wget --no-verbose https://archives.boost.io/release/1.90.0/source/boost_1_90_0.tar.gz && | |
| tar xf boost_1_90_0.tar.gz && | |
| cd boost_1_90_0 && | |
| ./bootstrap.sh --prefix=${{ github.workspace }}/../boost-install --with-libraries=filesystem,iostreams,program_options,regex,system && | |
| ./b2 -d0 install && | |
| git clone https://github.com/F2I-Consulting/Minizip.git ${{ github.workspace }}/../minizip && | |
| mkdir ${{ github.workspace }}/../minizip-build && | |
| cd ${{ github.workspace }}/../minizip-build && | |
| cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/../minizip-install ${{ github.workspace }}/../minizip && | |
| cmake --build . -j2 --config Release && | |
| cmake --install . && | |
| cd ${{ github.workspace }}/.. && | |
| wget --no-verbose https://support.hdfgroup.org/releases/hdf5/v2_0/v2_0_0/downloads/hdf5-2.0.0.tar.gz && | |
| tar -xzf hdf5-2.0.0.tar.gz && | |
| mkdir hdf5-build && | |
| cd hdf5-build && | |
| cmake -G "Unix Makefiles" -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE:STRING=Release -DHDF5_ENABLE_ZLIB_SUPPORT:BOOL=ON -DBUILD_SHARED_LIBS:BOOL=OFF -DHDF5_BUILD_FORTRAN:BOOL=OFF -DHDF5_BUILD_JAVA:BOOL=OFF -DHDF5_ENABLE_PARALLEL:BOOL=OFF -DHDF5_BUILD_CPP_LIB:BOOL=OFF -DHDF5_BUILD_HL_LIB:BOOL=OFF -DHDF5_BUILD_EXAMPLES:BOOL=OFF -DHDF5_BUILD_GENERATORS:BOOL=OFF -DHDF5_BUILD_TOOLS:BOOL=OFF -DHDF5_BUILD_UTILS:BOOL=OFF -DBUILD_TESTING:BOOL=OFF -DCMAKE_INSTALL_PREFIX:STRING=${{ github.workspace }}/../hdf5-install ${{ github.workspace }}/../hdf5-2.0.0 && | |
| cmake --build . -j2 && | |
| cmake --install . && | |
| cd ${{ github.workspace }}/.. && | |
| wget --no-verbose https://github.com/F2I-Consulting/fesapi/archive/refs/tags/v2.14.0.0.zip && | |
| unzip v2.14.0.0.zip && | |
| mkdir fesapi-build && | |
| cd fesapi-build && | |
| cmake -DCMAKE_BUILD_TYPE=Release -DBOOST_ROOT=${{ github.workspace }}/../boost-install -DMINIZIP_ROOT=${{ github.workspace }}/../minizip-install -DHDF5_ROOT=${{ github.workspace }}/../hdf5-install -DHDF5_USE_STATIC_LIBRARIES=TRUE -DCMAKE_INSTALL_PREFIX:STRING=${{ github.workspace }}/../fesapi-install ${{ github.workspace }}/../fesapi-2.14.0.0 && | |
| cmake --build . -j2 --config Release && | |
| cmake --install . && | |
| cd ${{ github.workspace }}/.. && | |
| wget --no-verbose https://github.com/openssl/openssl/releases/download/openssl-3.4.0/openssl-3.4.0.tar.gz && | |
| tar xf openssl-3.4.0.tar.gz && | |
| cd openssl-3.4.0 && | |
| ./Configure --prefix=${{ github.workspace }}/../openssl-install --openssldir=${{ github.workspace }}/../openssl-install && | |
| make && | |
| make install && | |
| cd ${{ github.workspace }}/.. && | |
| git clone -b release-1.12.1 https://github.com/apache/avro.git avro && | |
| mkdir avro-build && | |
| cd avro-build && | |
| cmake -Wno-dev -Wno-deprecated -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -DAVRO_BUILD_EXECUTABLES=FALSE -DAVRO_BUILD_TESTS=FALSE -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/../avro-install ${{ github.workspace }}/../avro/lang/c++ && | |
| cmake --build . -j2 && | |
| cmake --install . && | |
| brew install swig && | |
| mkdir ${{ github.workspace }}/../build && | |
| cd ${{ github.workspace }}/../build && | |
| cmake -DCMAKE_BUILD_TYPE=Release -DBOOST_ROOT=${{ github.workspace }}/../boost-install -DOPENSSL_ROOT_DIR=${{ github.workspace }}/../openssl-install -DAVRO_ROOT=${{ github.workspace }}/../avro-install -DAVRO_USE_STATIC_LIBS=TRUE -DWITH_FESAPI=TRUE -DFESAPI_ROOT=${{ github.workspace }}/../fesapi-install -DWITH_PYTHON_WRAPPING=TRUE -DCMAKE_INSTALL_PREFIX:STRING=${{ github.workspace }}/../fetpapi-install ${{ github.workspace }} && | |
| cmake --build . -j2 --config Release && | |
| cmake --install . | |
| # See https://cibuildwheel.pypa.io/en/stable/faq/#macos-passing-dyld_library_path-to-delocate | |
| CIBW_REPAIR_WHEEL_COMMAND_MACOS: > | |
| DYLD_LIBRARY_PATH=${{ github.workspace }}/../fesapi-install/lib:${{ github.workspace }}/../fetpapi-install/lib delocate-wheel --require-archs {delocate_archs} -w {dest_dir} {wheel} | |
| CIBW_TEST_COMMAND: python ${{ github.workspace }}/python/example/etp_client_example.py | |
| with: | |
| package-dir: ./python | |
| output-dir: wheelhouse | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: cibw-wheels-macosx_arm64 | |
| path: ./wheelhouse/*.whl |