|
19 | 19 | - "dependabot/**" |
20 | 20 | pull_request: |
21 | 21 | jobs: |
22 | | - test: |
23 | | - name: Test |
| 22 | + unit: |
| 23 | + name: Unit test |
24 | 24 | runs-on: ${{ matrix.runs-on }} |
25 | 25 | strategy: |
26 | 26 | fail-fast: false |
|
65 | 65 | - name: Test |
66 | 66 | run: | |
67 | 67 | bundle exec rake |
| 68 | + apache-arrow: |
| 69 | + name: Apache Arrow |
| 70 | + runs-on: ubuntu-latest |
| 71 | + env: |
| 72 | + GI_TYPELIB_PATH: /tmp/local/lib/girepository-1.0 |
| 73 | + LD_LIBRARY_PATH: /tmp/local/lib |
| 74 | + PKG_CONFIG_PATH: /tmp/local/lib/pkgconfig |
| 75 | + steps: |
| 76 | + - uses: actions/checkout@v6 |
| 77 | + - uses: actions/checkout@v6 |
| 78 | + with: |
| 79 | + repository: apache/arrow |
| 80 | + path: apache-arrow |
| 81 | + - uses: ruby/setup-ruby@v1 |
| 82 | + with: |
| 83 | + ruby-version: ruby |
| 84 | + bundler-cache: true |
| 85 | + - name: Install dependencies |
| 86 | + run: | |
| 87 | + sudo apt update |
| 88 | + sudo apt install -y -V \ |
| 89 | + ccache \ |
| 90 | + flatbuffers-compiler \ |
| 91 | + rapidjson-dev \ |
| 92 | + libgirepository1.0-dev \ |
| 93 | + libxsimd-dev \ |
| 94 | + meson |
| 95 | + - name: Cache ccache |
| 96 | + uses: actions/cache@v5 |
| 97 | + with: |
| 98 | + path: .ccache/ |
| 99 | + key: ccache-apache-arrow-${{ hashFiles('apache-arrow/cpp/**', 'apache-arrow/c_glib/**', 'apache-arrow/ruby/red-arrow/ext/**') }} |
| 100 | + restore-keys: ccache-apache-arrow- |
| 101 | + - name: Install Red FlatBuffers |
| 102 | + run: | |
| 103 | + bundle exec rake install |
| 104 | + - name: Configure Apache Arrow C++ |
| 105 | + run: | |
| 106 | + cmake \ |
| 107 | + -S apache-arrow/cpp \ |
| 108 | + -B apache-arrow/cpp.build \ |
| 109 | + --preset ninja-debug-minimal \ |
| 110 | + -D ARROW_COMPUTE=ON \ |
| 111 | + -D ARROW_CSV=ON \ |
| 112 | + -D ARROW_JSON=ON \ |
| 113 | + -D CMAKE_INSTALL_PREFIX=/tmp/local \ |
| 114 | + -D CMAKE_INSTALL_LIBDIR=lib |
| 115 | + - name: Build Apache Arrow C++ |
| 116 | + run: | |
| 117 | + cmake --build apache-arrow/cpp.build |
| 118 | + - name: Install Apache Arrow C++ |
| 119 | + run: | |
| 120 | + cmake --install apache-arrow/cpp.build |
| 121 | + - name: Configure Apache Arrow GLib |
| 122 | + run: | |
| 123 | + meson setup \ |
| 124 | + --cmake-prefix-path=/tmp/local \ |
| 125 | + --libdir=lib \ |
| 126 | + --pkg-config-path=/tmp/local/lib/pkgconfig \ |
| 127 | + --prefix=/tmp/local \ |
| 128 | + apache-arrow/c_glib.build \ |
| 129 | + apache-arrow/c_glib |
| 130 | + - name: Build Apache Arrow GLib |
| 131 | + run: | |
| 132 | + meson compile -C apache-arrow/c_glib.build |
| 133 | + - name: Install Apache Arrow C++ |
| 134 | + run: | |
| 135 | + meson install -C apache-arrow/c_glib.build |
| 136 | + - name: Build Red Arrow |
| 137 | + run: | |
| 138 | + cd apache-arrow/ruby/red-arrow |
| 139 | + ruby extconf.rb --eanble-debug-build |
| 140 | + make -j$(nproc) |
| 141 | + - name: Run Red ArrowFormat tests |
| 142 | + run: | |
| 143 | + cd apache-arrow/ruby/red-arrow-format |
| 144 | + ruby test/run.rb |
0 commit comments