]>
Commit | Line | Data |
---|---|---|
20effc67 TL |
1 | name: CMake |
2 | ||
3 | on: [push] | |
4 | ||
5 | env: | |
6 | # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) | |
7 | BUILD_TYPE: Release | |
8 | ||
9 | jobs: | |
10 | build: | |
11 | # The CMake configure and build commands are platform agnostic and should work equally | |
12 | # well on Windows or Mac. You can convert this to a matrix build if you need | |
13 | # cross-platform coverage. | |
14 | # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix | |
15 | runs-on: ubuntu-20.04 | |
16 | ||
17 | steps: | |
18 | - uses: actions/checkout@v2 | |
19 | ||
20 | - name: install-boost | |
21 | run: sudo apt-get install -y libboost-all-dev | |
22 | ||
23 | - name: fetch-gtest | |
24 | run: sudo apt-get install -y libgtest-dev | |
25 | ||
26 | - name: install arrow | |
27 | run: | | |
28 | sudo apt-get update | |
29 | sudo apt-get install -y -V ca-certificates lsb-release wget | |
30 | sudo curl -L https://dist.apache.org/repos/dist/dev/arrow/KEYS | sudo apt-key add - | |
31 | sudo add-apt-repository "deb [arch=amd64] https://apache.jfrog.io/artifactory/arrow/ubuntu focal main" | |
32 | sudo apt-get update | |
33 | sudo apt-get install -y -V libarrow-dev | |
34 | ||
35 | - name: install parquet | |
36 | run: sudo apt-get install -y -V libparquet-dev | |
37 | ||
38 | ||
39 | - name: install-gtest | |
40 | run: cd /usr/src/gtest && sudo cmake . && sudo make && sudo cp lib/*.a /usr/lib || sudo cp *.a /usr/lib | |
41 | ||
42 | - name: Create Build Environment | |
43 | # Some projects don't allow in-source building, so create a separate build directory | |
44 | # We'll use this as our working directory for all subsequent commands | |
45 | run: cmake -E make_directory ${{github.workspace}}/build | |
46 | ||
47 | - name: Configure CMake | |
48 | # Use a bash shell so we can use the same syntax for environment variable | |
49 | # access regardless of the host operating system | |
50 | shell: bash | |
51 | working-directory: ${{github.workspace}}/build | |
52 | # Note the current convention is to use the -S and -B options here to specify source | |
53 | # and build directories, but this is only available with CMake 3.13 and higher. | |
54 | # The CMake binaries on the Github Actions machines are (as of this writing) 3.12 | |
55 | run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE | |
56 | ||
57 | - name: Build | |
58 | working-directory: ${{github.workspace}}/build | |
59 | shell: bash | |
60 | # Execute the build. You can specify a specific target with "--target <NAME>" | |
61 | run: cmake --build . --config $BUILD_TYPE | |
62 | ||
63 | - name: Test | |
64 | working-directory: ${{github.workspace}}/build | |
65 | shell: bash | |
66 | # Execute tests defined by the CMake configuration. | |
67 | # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail | |
68 | run: ctest -C $BUILD_TYPE | |
69 |