Skip to content

Find or Install Parquet #412

Find or Install Parquet

Find or Install Parquet #412

Workflow file for this run

name: CI Test
on:
pull_request:
branches: [ master, '**-dev' ]
push:
branches: [ 'feature/**', 'hotfix/**']
env:
BUILD_TYPE: Release
jobs:
build-test:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, ubuntu-22.04]
gcc-version: [11, 12]
mpi-type: [mpich, openmpi]
exclude:
- os: ubuntu-latest
gcc-version: 8
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Cache boost
uses: actions/cache@v4
id: cache-boost
with:
path: "~/boost_1_77_0"
key: ${{ runner.os }}-libboost1.77
- name: Install boost
if: steps.cache-boost.outputs.cache-hit != 'true'
run: |
cd ~
wget --no-verbose https://boostorg.jfrog.io/artifactory/main/release/1.77.0/source/boost_1_77_0.tar.bz2
tar -xjf boost_1_77_0.tar.bz2
- name: Install Apache Arrow
if: ${{ matrix.os == 'ubuntu-latest'}} # Skip on ubuntu-20.04 due to pyarrow's ABI incompatibility issue
run: |
python -m pip install pyarrow==16.1.*
PIP_PYARROW_ROOT=$(python -c "import pyarrow as pa; print(pa.get_library_dirs()[0])")
echo "PIP_PYARROW_ROOT=${PIP_PYARROW_ROOT}" >> $GITHUB_ENV
echo "ENABLE_PARQUET_TEST=true" >> $GITHUB_ENV
- name: Install mpich
if: matrix.mpi-type == 'mpich'
run: sudo apt-get install mpich
- name: Install OpenMPI
if: matrix.mpi-type == 'openmpi'
run: sudo apt-get install openmpi-bin libopenmpi-dev
- name: Install GCC-${{ matrix.gcc-version }}
if: matrix.gcc-version == '8'
run: sudo apt-get install gcc-8 g++-8
- name: Make
run: |
echo Run 'make'
mpicc -show
g++-${{ matrix.gcc-version }} --version
mkdir build
cd build
if [ "$ENABLE_PARQUET_TEST" ]; then
ARROW_CMAKE_OPTION="-DPIP_PYARROW_ROOT=$PIP_PYARROW_ROOT -DYGM_REQUIRE_ARROW_PARQUET=ON"
fi
cmake ../ -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DCMAKE_CXX_COMPILER=g++-${{ matrix.gcc-version }} -DBOOST_ROOT=~/boost_1_77_0 ${ARROW_CMAKE_OPTION}
make -j
- name: Make test (mpich)
if: matrix.mpi-type == 'mpich'
run: |
echo Run 'make test' with mpich, gcc-${{ matrix.gcc-version }}
cd build
ctest -VV -C ${{ env.BUILD_TYPE }}
- name: Make test (OpenMPI)
if: matrix.mpi-type == 'openmpi'
run: |
echo Run 'make test' with OpenMPI, gcc-${{ matrix.gcc-version }}
cd build
export OMPI_MCA_rmaps_base_oversubscribe=1
ctest -VV -C ${{ env.BUILD_TYPE }}