Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 17 additions & 2 deletions .github/workflows/rc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -111,15 +111,16 @@ jobs:
- name: Extract source archive
run: |
tar -xf apache-arrow-java-*.tar.gz --strip-components=1
- name: Download the latest Apache Arrow C++
- name: Download the latest Apache Arrow C++ RC
if: github.event_name != 'schedule'
run: |
ci/scripts/download_cpp.sh
ci/scripts/download_cpp.sh latest-rc
- name: Checkout Apache Arrow C++
if: github.event_name == 'schedule'
uses: actions/checkout@v7
with:
repository: apache/arrow
ref: main
path: arrow
- name: Checkout apache/arrow-testing
uses: actions/checkout@v7
Expand Down Expand Up @@ -178,7 +179,11 @@ jobs:
- name: Extract source archive
run: |
tar -xf apache-arrow-java-*.tar.gz --strip-components=1
- name: Download the latest Apache Arrow C++ RC
if: github.event_name != 'schedule'
run: ci/scripts/download_cpp.sh latest-rc
- name: Checkout Apache Arrow C++
if: github.event_name == 'schedule'
uses: actions/checkout@v7
with:
repository: apache/arrow
Expand Down Expand Up @@ -267,6 +272,16 @@ jobs:
# make brew Java available to CMake
export JAVA_HOME=$(brew --prefix openjdk@17)/libexec/openjdk.jdk/Contents/Home
ci/scripts/jni_macos_build.sh . arrow build jni
- name: Test JSON dataset read

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This step assumes the macOS native build includes JSON support, but jni_macos_build.sh exports ARROW_DATASET, ARROW_PARQUET, ARROW_ORC and ARROW_GANDIVA, and not ARROW_JSON.
If the preset or the released C++ doesn't enable it, testBaseJsonRead fails with FileFormat.JSON only after the long native build.

We should double check that JSON is enabled and export ARROW_JSON=ON in the build script.

Also, -Dsurefire.failIfNoSpecifiedTests=false means this step passes silently if the test is renamed or removed. Dropping that flag would make the step fail in that case.

run: |
JAVA_HOME="$(brew --prefix openjdk@17)/libexec/openjdk.jdk/Contents/Home"
export JAVA_HOME
# Install dependencies without applying the dataset-only test filter to them.
mvn -Parrow-jni -pl dataset -am install -DskipTests \
-Darrow.c.jni.dist.dir="$PWD/jni" -Darrow.cpp.build.dir="$PWD/jni"
mvn -Parrow-jni -pl dataset test \
-Darrow.c.jni.dist.dir="$PWD/jni" -Darrow.cpp.build.dir="$PWD/jni" \
-Dtest='TestFileSystemDataset#testBaseJsonRead'
- name: Compress into single artifact to keep directory structure
run: tar -cvzf jni-macos-${{ matrix.platform.arch }}.tar.gz jni/
- name: Upload artifacts
Expand Down
1 change: 1 addition & 0 deletions Brewfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,5 @@
# under the License.

brew "openjdk@17"
brew "maven"
brew "sccache"
2 changes: 2 additions & 0 deletions ci/scripts/jni_macos_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ export ARROW_BUILD_TESTS=OFF

export ARROW_DATASET=ON
export ARROW_GANDIVA=ON
export ARROW_JSON=ON
export ARROW_ORC=ON
export ARROW_PARQUET=ON

Expand All @@ -73,6 +74,7 @@ cmake \
-S "${arrow_dir}/cpp" \
-B "${build_dir}/cpp" \
--preset=ninja-release-jni-macos \
-DARROW_JSON="${ARROW_JSON}" \
-Dabsl_SOURCE=BUNDLED \
-Dlz4_SOURCE=BUNDLED \
-Dsimdjson_SOURCE=BUNDLED \
Expand Down
Loading