diff options
Diffstat (limited to 'src/s3select/.github/workflows/cmake.yml')
-rw-r--r-- | src/s3select/.github/workflows/cmake.yml | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/src/s3select/.github/workflows/cmake.yml b/src/s3select/.github/workflows/cmake.yml new file mode 100644 index 000000000..577eb19cc --- /dev/null +++ b/src/s3select/.github/workflows/cmake.yml @@ -0,0 +1,76 @@ +name: CMake + +on: [push] + +env: + # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) + BUILD_TYPE: Release + +jobs: + build: + # The CMake configure and build commands are platform agnostic and should work equally + # well on Windows or Mac. You can convert this to a matrix build if you need + # cross-platform coverage. + # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v2 + - name: Checkout submodules + run: git submodule update --init --recursive + + - name: install-boost + run: | + sudo apt-get update + sudo apt-get install -y libboost-all-dev + + - name: fetch-gtest + run: sudo apt-get install -y libgtest-dev + + - name: install arrow + run: | + sudo apt-get update + sudo apt-get install -y -V ca-certificates lsb-release wget + sudo curl -L https://dist.apache.org/repos/dist/dev/arrow/KEYS | sudo apt-key add - + sudo add-apt-repository "deb [arch=amd64] https://apache.jfrog.io/artifactory/arrow/ubuntu focal main" + sudo apt-get update + sudo apt-get install -y -V libarrow-dev + + - name: install parquet + run: sudo apt-get install -y -V libparquet-dev + + + - name: install-gtest + run: cd /usr/src/gtest && sudo cmake . && sudo make && sudo cp lib/*.a /usr/lib || sudo cp *.a /usr/lib + + - name: install-gperftools + run: sudo apt-get install -y libgoogle-perftools-dev + + - name: Create Build Environment + # Some projects don't allow in-source building, so create a separate build directory + # We'll use this as our working directory for all subsequent commands + run: cmake -E make_directory ${{github.workspace}}/build + + - name: Configure CMake + # Use a bash shell so we can use the same syntax for environment variable + # access regardless of the host operating system + shell: bash + working-directory: ${{github.workspace}}/build + # Note the current convention is to use the -S and -B options here to specify source + # and build directories, but this is only available with CMake 3.13 and higher. + # The CMake binaries on the Github Actions machines are (as of this writing) 3.12 + run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE + + - name: Build + working-directory: ${{github.workspace}}/build + shell: bash + # Execute the build. You can specify a specific target with "--target <NAME>" + run: cmake --build . --config $BUILD_TYPE + + - name: Test + working-directory: ${{github.workspace}}/build + shell: bash + # Execute tests defined by the CMake configuration. + # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail + run: ctest --rerun-failed --output-on-failure -C $BUILD_TYPE + |