Merge pull request #20 from F2I-Consulting/dev #104
Workflow file for this run
This file contains 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-2019: | |
runs-on: windows-2019 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Boost install | |
run: | | |
(New-Object System.Net.WebClient).DownloadFile("https://sourceforge.net/projects/boost/files/boost-binaries/1.78.0//boost_1_78_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: | | |
(New-Object System.Net.WebClient).DownloadFile("https://archive.apache.org/dist/avro/avro-1.10.2/cpp/avro-cpp-1.10.2.tar.gz", "${{ runner.temp }}\avro-cpp-1.10.2.tar.gz") | |
7z x ${{ runner.temp }}\avro-cpp-1.10.2.tar.gz -o${{ runner.temp }} | |
7z x ${{ runner.temp }}\avro-cpp-1.10.2.tar -o${{ runner.temp }} | |
((Get-Content -path ${{ runner.temp }}/avro-cpp-1.10.2/CMakeLists.txt -Raw) -replace 'install \(TARGETS avrocpp avrocpp_s','install (TARGETS avrocpp_s') | Set-Content -Path ${{ runner.temp }}/avro-cpp-1.10.2/CMakeLists.txt | |
((Get-Content -path ${{ runner.temp }}/avro-cpp-1.10.2/CMakeLists.txt -Raw) -replace 'install \(TARGETS avrogencpp RUNTIME DESTINATION bin\)','') | Set-Content -Path ${{ runner.temp }}/avro-cpp-1.10.2/CMakeLists.txt | |
cd ${{ runner.temp }} | |
mkdir avro-cpp-1.10.2-build | |
cd avro-cpp-1.10.2-build | |
cmake -G"Visual Studio 16 2019" -A x64 -T host=x64 -Wno-dev -Wno-deprecated -DBoost_INCLUDE_DIR=${{ runner.temp }}\boost-install -DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/avro-cpp-1.10.2-install ${{ runner.temp }}/avro-cpp-1.10.2 | |
cmake --build . --config Release --target avrocpp_s -j2 | |
cmake --install . | |
- name: CMake build and install | |
run: | | |
cd ${{ github.workspace }}/.. | |
mkdir build | |
cd build | |
cmake -G"Visual Studio 16 2019" -A x64 -T host=x64 -Wno-dev -Wno-deprecated -DBoost_INCLUDE_DIR=${{ runner.temp }}\boost-install -DAVRO_ROOT=${{ runner.temp }}/avro-cpp-1.10.2-install -DWITH_ETP_SSL=FALSE ${{ github.workspace }} | |
cmake --build . --config Release -j2 | |
windows-2019-with-fesapi: | |
runs-on: windows-2019 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Boost install | |
run: | | |
(New-Object System.Net.WebClient).DownloadFile("https://sourceforge.net/projects/boost/files/boost-binaries/1.78.0//boost_1_78_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: | | |
(New-Object System.Net.WebClient).DownloadFile("https://archive.apache.org/dist/avro/avro-1.10.2/cpp/avro-cpp-1.10.2.tar.gz", "${{ runner.temp }}\avro-cpp-1.10.2.tar.gz") | |
7z x ${{ runner.temp }}\avro-cpp-1.10.2.tar.gz -o${{ runner.temp }} | |
7z x ${{ runner.temp }}\avro-cpp-1.10.2.tar -o${{ runner.temp }} | |
((Get-Content -path ${{ runner.temp }}/avro-cpp-1.10.2/CMakeLists.txt -Raw) -replace 'install \(TARGETS avrocpp avrocpp_s','install (TARGETS avrocpp_s') | Set-Content -Path ${{ runner.temp }}/avro-cpp-1.10.2/CMakeLists.txt | |
((Get-Content -path ${{ runner.temp }}/avro-cpp-1.10.2/CMakeLists.txt -Raw) -replace 'install \(TARGETS avrogencpp RUNTIME DESTINATION bin\)','') | Set-Content -Path ${{ runner.temp }}/avro-cpp-1.10.2/CMakeLists.txt | |
cd ${{ runner.temp }} | |
mkdir avro-cpp-1.10.2-build | |
cd avro-cpp-1.10.2-build | |
cmake -G"Visual Studio 16 2019" -A x64 -T host=x64 -Wno-dev -Wno-deprecated -DBoost_INCLUDE_DIR=${{ runner.temp }}\boost-install -DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/avro-cpp-1.10.2-install ${{ runner.temp }}/avro-cpp-1.10.2 | |
cmake --build . --config Release --target avrocpp_s -j2 | |
cmake --install . | |
- name: HDF5 install | |
run: | | |
Invoke-WebRequest https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.12/hdf5-1.12.0/bin/hdf5-1.12.0-Std-win10_64-vs16.zip -OutFile ${{ runner.temp }}\hdf5-1.12.0-Std-win10_64-vs16.zip | |
Expand-Archive ${{ runner.temp }}\hdf5-1.12.0-Std-win10_64-vs16.zip -DestinationPath ${{ runner.temp }} | |
msiexec.exe /i "${{ runner.temp }}\hdf\HDF5-1.12.0-win64.msi" /qn INSTALL_ROOT=${{ runner.temp }}\hdf5-1.12.0-Std-win10_64-vs16 | |
- name: Minizip install | |
run: | | |
git clone https://github.com/F2I-Consulting/Minizip.git ${{ runner.temp }}/Minizip | |
cd ${{ runner.temp }} | |
mkdir minizip-build | |
cd minizip-build | |
cmake -G"Visual Studio 16 2019" -A x64 -T host=x64 -Wno-dev -Wno-deprecated -DZLIB_INCLUDE_DIR=${{ runner.temp }}/hdf5-1.12.0-Std-win10_64-vs16/include -DZLIB_LIBRARY_RELEASE=${{ runner.temp }}/hdf5-1.12.0-Std-win10_64-vs16/lib/hdf5.lib -DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/minizip-install ${{ runner.temp }}/Minizip | |
cmake --build . --config Release -j2 | |
cmake --build . --config Release --target INSTALL | |
- name: FESAPI install | |
run: | | |
git clone --branch v2.8.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 -G"Visual Studio 16 2019" -A x64 -T host=x64 -Wno-dev -Wno-deprecated -DHDF5_ROOT=${{ runner.temp }}\hdf5-1.12.0-Std-win10_64-vs16 -DMINIZIP_INCLUDE_DIR=${{ runner.temp }}/minizip-install/include -DMINIZIP_LIBRARY_RELEASE=${{ runner.temp }}/minizip-install/lib/minizip.lib -DZLIB_INCLUDE_DIR=${{ runner.temp }}\hdf5-1.12.0-Std-win10_64-vs16/include -DZLIB_LIBRARY_RELEASE=${{ runner.temp }}\hdf5-1.12.0-Std-win10_64-vs16/lib/zlib.lib -DSZIP_LIBRARY_RELEASE=${{ runner.temp }}\hdf5-1.12.0-Std-win10_64-vs16/lib/szip.lib -DBoost_INCLUDE_DIR=${{ runner.temp }}\boost-install -DWITH_EXAMPLE=TRUE -DWITH_RESQML2_2=TRUE -DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/fesapi-install ${{ runner.temp }}/fesapi-src | |
cmake --build . --config Release -j2 | |
cmake --build . --config Release --target INSTALL | |
- name: CMake build and install | |
run: | | |
cd ${{ github.workspace }}/.. | |
mkdir build | |
cd build | |
cmake -G"Visual Studio 16 2019" -A x64 -T host=x64 -Wno-dev -Wno-deprecated -DBoost_INCLUDE_DIR=${{ runner.temp }}\boost-install -DAVRO_ROOT=${{ runner.temp }}/avro-cpp-1.10.2-install -DWITH_FESAPI=TRUE -DFESAPI_ROOT=${{ runner.temp }}/fesapi-install -DWITH_ETP_SSL=FALSE ${{ github.workspace }} | |
cmake --build . --config Release -j2 | |
ubuntu-20: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: APT install | |
run: | | |
sudo apt update | |
sudo apt install -y libboost-all-dev | |
- name: AVRO INSTALL | |
run: | | |
curl https://archive.apache.org/dist/avro/avro-1.11.0/cpp/avro-cpp-1.11.0.tar.gz -o ${{ runner.temp }}/avro-cpp-1.11.0.tar.gz | |
cd ${{ runner.temp }} | |
tar xzf avro-cpp-1.11.0.tar.gz | |
sed -i 's/install (TARGETS avrocpp avrocpp_s/install (TARGETS avrocpp_s/' avro-cpp-1.11.0/CMakeLists.txt | |
sed -i 's/install (TARGETS avrogencpp RUNTIME DESTINATION bin)//' avro-cpp-1.11.0/CMakeLists.txt | |
mkdir avro-cpp-1.11.0-build | |
cd avro-cpp-1.11.0-build | |
cmake -Wno-dev -Wno-deprecated -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/avro-cpp-1.11.0-install ${{ runner.temp }}/avro-cpp-1.11.0 | |
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-1.11.0-install ${{ github.workspace }} | |
cmake --build . --config Release -j2 | |
ubuntu-20-java8: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-java@v2 | |
with: | |
distribution: 'temurin' # See 'Supported distributions' for available options | |
java-version: '8' | |
- name: APT install | |
run: | | |
sudo apt update | |
sudo apt install -y libboost-all-dev | |
- name: AVRO INSTALL | |
run: | | |
curl https://archive.apache.org/dist/avro/avro-1.11.0/cpp/avro-cpp-1.11.0.tar.gz -o ${{ runner.temp }}/avro-cpp-1.11.0.tar.gz | |
cd ${{ runner.temp }} | |
tar xzf avro-cpp-1.11.0.tar.gz | |
sed -i 's/install (TARGETS avrocpp avrocpp_s/install (TARGETS avrocpp_s/' avro-cpp-1.11.0/CMakeLists.txt | |
sed -i 's/install (TARGETS avrogencpp RUNTIME DESTINATION bin)//' avro-cpp-1.11.0/CMakeLists.txt | |
mkdir avro-cpp-1.11.0-build | |
cd avro-cpp-1.11.0-build | |
cmake -Wno-dev -Wno-deprecated -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/avro-cpp-1.11.0-install ${{ runner.temp }}/avro-cpp-1.11.0 | |
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-1.11.0-install -DWITH_JAVA_WRAPPING=TRUE ${{ github.workspace }} | |
cmake --build . --config Release -j2 | |
ubuntu-20-java8-with-fesapi: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false # 'false' means Don't stop matrix workflows even if some matrix failed. | |
matrix: | |
include: [ | |
{ xcc_name: 'gcc 9', xcc_pkg: gcc-9, cc: gcc-9, cxx: g++-9 }, | |
{ xcc_name: 'gcc 10', xcc_pkg: gcc-10, cc: gcc-10, cxx: g++-10 }, | |
{ xcc_name: 'clang 9', xcc_pkg: clang-9, cc: clang-9, cxx: clang++-9 }, | |
{ xcc_name: 'clang 10', xcc_pkg: clang-10, cc: clang-10, cxx: clang++-10 }, | |
{ xcc_name: 'clang 11', xcc_pkg: clang-11, cc: clang-11, cxx: clang++-11 }, | |
# { xcc_name: 'clang 12', xcc_pkg: clang-12, cc: clang, cxx: clang++ }, | |
] | |
env: | |
XCC: $${{ matrix.xcc_name }} # Set environment variables | |
CC: ${{ matrix.cc }} | |
CXX: ${{ matrix.cxx }} | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-java@v2 | |
with: | |
distribution: 'temurin' # See 'Supported distributions' for available options | |
java-version: '8' | |
- 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.8.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 . | |
- name: AVRO INSTALL | |
run: | | |
curl https://archive.apache.org/dist/avro/avro-1.11.0/cpp/avro-cpp-1.11.0.tar.gz -o ${{ runner.temp }}/avro-cpp-1.11.0.tar.gz | |
cd ${{ runner.temp }} | |
tar xzf avro-cpp-1.11.0.tar.gz | |
sed -i 's/install (TARGETS avrocpp avrocpp_s/install (TARGETS avrocpp_s/' avro-cpp-1.11.0/CMakeLists.txt | |
sed -i 's/install (TARGETS avrogencpp RUNTIME DESTINATION bin)//' avro-cpp-1.11.0/CMakeLists.txt | |
mkdir avro-cpp-1.11.0-build | |
cd avro-cpp-1.11.0-build | |
cmake -Wno-dev -Wno-deprecated -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/avro-cpp-1.11.0-install -DCMAKE_C_COMPILER=${{ matrix.cc }} -DCMAKE_CXX_COMPILER=${{ matrix.cxx }} ${{ runner.temp }}/avro-cpp-1.11.0 | |
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-1.11.0-install -DWITH_FESAPI=TRUE -DFESAPI_ROOT=${{ runner.temp }}/fesapi-install -DFESAPI_JAR=${{ runner.temp }}/fesapi-install/lib/fesapiJava-2.8.0.0.jar -DWITH_JAVA_WRAPPING=TRUE ${{ github.workspace }} -DCMAKE_C_COMPILER=${{ matrix.cc }} -DCMAKE_CXX_COMPILER=${{ matrix.cxx }} | |
cmake --build . --config Release -j2 |