kou commented on code in PR #47282: URL: https://github.com/apache/arrow/pull/47282#discussion_r2289698449
########## .github/workflows/cpp_extra.yml: ########## @@ -278,3 +279,70 @@ jobs: cmake --build cpp/examples/minimal_build.build cd cpp/examples/minimal_build ../minimal_build.build/arrow-example + + meson-windows: + needs: check-labels + name: ${{ matrix.title }} + runs-on: ${{ matrix.runs-on }} + if: needs.check-labels.outputs.ci-extra == 'true' + timeout-minutes: 75 + strategy: + fail-fast: false + matrix: + include: + - runs-on: windows-2022 + title: AMD64 Windows Meson + steps: + - name: Checkout Arrow + uses: actions/checkout@v4 + with: + fetch-depth: 0 + submodules: recursive + - name: Download Timezone Database + shell: bash + run: ci/scripts/download_tz_database.sh + - name: Install ccache + shell: bash + run: | + ci/scripts/install_ccache.sh 4.6.3 /usr + - name: Setup ccache + shell: bash + run: | + ci/scripts/ccache_setup.sh + - name: ccache info + id: ccache-info + shell: bash + run: | + echo "cache-dir=$(ccache --get-config cache_dir)" >> $GITHUB_OUTPUT + - name: Cache ccache + uses: actions/cache@v4 + with: + path: ${{ steps.ccache-info.outputs.cache-dir }} + key: cpp-ccache-windows-meson-${{ env.CACHE_VERSION }}-${{ hashFiles('cpp/**') }} + restore-keys: cpp-ccache-windows-meson-${{ env.CACHE_VERSION }}- + env: + # We can invalidate the current cache by updating this. + CACHE_VERSION: "2022-09-13" Review Comment: Could you update this date? ########## cpp/src/arrow/compute/CMakeLists.txt: ########## @@ -52,6 +52,7 @@ if(ARROW_TESTING AND ARROW_COMPUTE) target_link_libraries(arrow_compute_testing PUBLIC $<TARGET_OBJECTS:arrow_compute_core_testing> PUBLIC ${ARROW_GTEST_GTEST_MAIN}) + target_compile_definitions(arrow_compute_testing PRIVATE COMPILED_BY_CMAKE) Review Comment: Hmm. What is the difference between Meson build and CMake build? GTest version? ########## cpp/src/arrow/flight/meson.build: ########## @@ -44,7 +44,17 @@ install_headers( subdir: 'arrow/flight', ) -grpc_dep = dependency('grpc++') +# We specifically need to use the grpc subproject and cannot use a system installion +# due to https://github.com/mesonbuild/meson/issues/14905 Review Comment: Can we use https://mesonbuild.com/Reference-manual_returned_external_program.html#external_programfull_path as workaround? If we can use `grpc_cpp_plugin.full_path()`, can we keep supporting system gRPC? ########## ci/scripts/cpp_test.sh: ########## @@ -95,6 +95,8 @@ if [ "${ARROW_USE_MESON:-OFF}" = "ON" ]; then --no-rebuild \ --print-errorlogs \ --suite arrow \ + --max-lines=0 \ + --timeout-multiplier 10 \ Review Comment: Can we unify `--XXX=V` and `-XXX V` style? ########## cpp/src/arrow/flight/flight_test.cc: ########## @@ -207,6 +207,9 @@ ARROW_FLIGHT_TEST_ASYNC_CLIENT(GrpcAsyncClientTest); // Ad-hoc gRPC-specific tests TEST(TestFlight, ConnectUri) { +#ifndef ARROW_ENABLE_THREADING + GTEST_SKIP() << "This test requires Boost.Process to run"; +#endif Review Comment: How about adding `arrow::testing::Process::IsAvailable()` static method or something and use it here? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: github-unsubscr...@arrow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org