Skip to content

Commit 55d39e3

Browse files
authored
Merge branch 'apache:main' into asof_join_pause
2 parents 0a1db52 + f8b20f1 commit 55d39e3

1,304 files changed

Lines changed: 21181 additions & 88861 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.editorconfig

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -50,15 +50,6 @@ indent_style = space
5050
indent_size = 2
5151
indent_style = space
5252

53-
[*.go]
54-
indent_size = 8
55-
indent_style = tab
56-
tab_width = 8
57-
58-
[*.{js,ts}]
59-
indent_size = 4
60-
indent_style = space
61-
6253
[*.{py,pyx,pxd,pxi}]
6354
indent_size = 4
6455
indent_style = space

.env

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,14 +47,14 @@ ULIMIT_CORE=-1
4747

4848
# Default versions for platforms
4949
ALMALINUX=8
50-
ALPINE_LINUX=3.18
50+
ALPINE_LINUX=3.22
5151
DEBIAN=12
52-
FEDORA=39
52+
FEDORA=42
5353
UBUNTU=22.04
5454

5555
# Default versions for various dependencies
5656
CLANG_TOOLS=14
57-
CMAKE=3.25.0
57+
CMAKE=3.26.0
5858
CUDA=11.7.1
5959
DASK=latest
6060
DOTNET=8.0
@@ -65,8 +65,9 @@ KARTOTHEK=latest
6565
# LLVM 12 and GCC 11 reports -Wmismatched-new-delete.
6666
LLVM=18
6767
MAVEN=3.8.7
68-
NODE=18
68+
NODE=20
6969
NUMBA=latest
70+
NUMBA_CUDA=latest
7071
NUMPY=latest
7172
PANDAS=latest
7273
PYTHON=3.9

.github/CODEOWNERS

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,12 @@
3434
/cpp/src/arrow/flight/ @lidavidm
3535
/cpp/src/parquet @wgtmac
3636
/csharp/ @curthagenlocher
37-
/go/ @zeroshade
38-
/java/ @lidavidm
39-
/js/ @domoritz @trxcllnt
4037
/matlab/ @kevingurney @kou @sgilmore10
4138
/python/ @AlenkaF @raulcd @rok
4239
/python/pyarrow/_flight.pyx @lidavidm
4340
/python/pyarrow/**/*gandiva* @wjones127
4441
/r/ @jonkeane @thisisnic
4542
/ruby/ @kou
46-
/swift/ @kou
4743

4844
# Docs
4945
# /docs/

.github/workflows/archery.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ jobs:
5858
timeout-minutes: 15
5959
steps:
6060
- name: Checkout Arrow
61-
uses: actions/checkout@v4
61+
uses: actions/checkout@v5
6262
with:
6363
fetch-depth: 0
6464
- name: Git Fixup

.github/workflows/comment_bot.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
pull-requests: write
3737
steps:
3838
- name: Checkout Arrow
39-
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0
39+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
4040
with:
4141
path: arrow
4242
# fetch the tags for version number generation
@@ -49,7 +49,7 @@ jobs:
4949
run: pip install -e arrow/dev/archery[bot]
5050
- name: Handle GitHub comment event
5151
env:
52-
ARROW_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
52+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
5353
CROSSBOW_GITHUB_TOKEN: ${{ secrets.CROSSBOW_GITHUB_TOKEN }}
5454
run: |
5555
archery --debug trigger-bot \

.github/workflows/cpp.yml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ on:
2929
- '.github/workflows/cpp.yml'
3030
- 'ci/conda_env_*'
3131
- 'ci/docker/**'
32+
- 'ci/scripts/ccache_setup.sh'
3233
- 'ci/scripts/cpp_*'
3334
- 'ci/scripts/install_azurite.sh'
3435
- 'ci/scripts/install_gcs_testbench.sh'
@@ -45,6 +46,7 @@ on:
4546
- '.github/workflows/cpp.yml'
4647
- 'ci/conda_env_*'
4748
- 'ci/docker/**'
49+
- 'ci/scripts/ccache_setup.sh'
4850
- 'ci/scripts/cpp_*'
4951
- 'ci/scripts/install_azurite.sh'
5052
- 'ci/scripts/install_gcs_testbench.sh'
@@ -108,7 +110,7 @@ jobs:
108110
UBUNTU: ${{ matrix.ubuntu }}
109111
steps:
110112
- name: Checkout Arrow
111-
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0
113+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
112114
with:
113115
fetch-depth: 0
114116
submodules: recursive
@@ -161,7 +163,7 @@ jobs:
161163
timeout-minutes: 45
162164
steps:
163165
- name: Checkout Arrow
164-
uses: actions/checkout@v4
166+
uses: actions/checkout@v5
165167
with:
166168
fetch-depth: 0
167169
submodules: recursive
@@ -216,7 +218,7 @@ jobs:
216218
sysctl -a | grep cpu
217219
sysctl -a | grep "hw.optional"
218220
- name: Checkout Arrow
219-
uses: actions/checkout@v4
221+
uses: actions/checkout@v5
220222
with:
221223
fetch-depth: 0
222224
submodules: recursive
@@ -332,7 +334,7 @@ jobs:
332334
/d 1 `
333335
/f
334336
- name: Checkout Arrow
335-
uses: actions/checkout@v4
337+
uses: actions/checkout@v5
336338
with:
337339
fetch-depth: 0
338340
submodules: recursive
@@ -375,7 +377,7 @@ jobs:
375377
376378
windows-mingw:
377379
name: AMD64 Windows MinGW ${{ matrix.msystem_upper }} C++
378-
runs-on: windows-2019
380+
runs-on: windows-2022
379381
if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
380382
# Build may take 1h+ without cache.
381383
timeout-minutes: 120
@@ -429,7 +431,7 @@ jobs:
429431
/d 1 `
430432
/f
431433
- name: Checkout Arrow
432-
uses: actions/checkout@v4
434+
uses: actions/checkout@v5
433435
with:
434436
fetch-depth: 0
435437
submodules: recursive

.github/workflows/cpp_extra.yml

Lines changed: 121 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ on:
2727
- '.github/workflows/cpp_extra.yml'
2828
- 'ci/conda_env_*'
2929
- 'ci/docker/**'
30+
- 'ci/scripts/ccache_setup.sh'
3031
- 'ci/scripts/cpp_*'
3132
- 'ci/scripts/install_azurite.sh'
3233
- 'ci/scripts/install_gcs_testbench.sh'
@@ -45,6 +46,7 @@ on:
4546
- '.github/workflows/cpp_extra.yml'
4647
- 'ci/conda_env_*'
4748
- 'ci/docker/**'
49+
- 'ci/scripts/ccache_setup.sh'
4850
- 'ci/scripts/cpp_*'
4951
- 'ci/scripts/install_azurite.sh'
5052
- 'ci/scripts/install_gcs_testbench.sh'
@@ -79,13 +81,16 @@ jobs:
7981
outputs:
8082
ci-extra: ${{ steps.check.outputs.ci-extra }}
8183
steps:
84+
- name: Checkout Arrow
85+
if: github.event_name == 'pull_request'
86+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
8287
- name: Check
8388
id: check
8489
env:
8590
GH_TOKEN: ${{ github.token }}
8691
run: |
8792
case "${GITHUB_EVENT_NAME}" in
88-
push|workflow_dispatch)
93+
push|schedule)
8994
ci_extra=true
9095
;;
9196
pull_request)
@@ -97,7 +102,15 @@ jobs:
97102
if [ "${n_ci_extra_labels}" -eq 1 ]; then
98103
ci_extra=true
99104
else
100-
ci_extra=false
105+
git fetch origin ${GITHUB_BASE_REF}
106+
if git diff --stat origin/${GITHUB_BASE_REF}.. | \
107+
grep \
108+
--fixed-strings ".github/workflows/cpp_extra.yml" \
109+
--quiet; then
110+
ci_extra=true
111+
else
112+
ci_extra=false
113+
fi
101114
fi
102115
;;
103116
esac
@@ -114,18 +127,30 @@ jobs:
114127
fail-fast: false
115128
matrix:
116129
include:
130+
- image: alpine-linux-cpp
131+
runs-on: ubuntu-latest
132+
title: AMD64 Alpine Linux
117133
- image: conda-cpp
118134
run-options: >-
119135
-e ARROW_USE_MESON=ON
120136
runs-on: ubuntu-latest
121137
title: AMD64 Ubuntu Meson
138+
# TODO: We should remove this "continue-on-error: true" once GH-47207 is resolved
139+
- continue-on-error: true
140+
envs:
141+
- DEBIAN=13
142+
image: debian-cpp
143+
run-options: >-
144+
-e CMAKE_CXX_STANDARD=23
145+
runs-on: ubuntu-latest
146+
title: AMD64 Debian C++23
122147
env:
123148
ARCHERY_DEBUG: 1
124149
ARROW_ENABLE_TIMING_TESTS: OFF
125-
# DOCKER_VOLUME_PREFIX: ".docker/"
150+
DOCKER_VOLUME_PREFIX: ".docker/"
126151
steps:
127152
- name: Checkout Arrow
128-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
153+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
129154
with:
130155
fetch-depth: 0
131156
submodules: recursive
@@ -142,13 +167,20 @@ jobs:
142167
- name: Setup Archery
143168
run: python3 -m pip install -e dev/archery[docker]
144169
- name: Execute Docker Build
170+
continue-on-error: ${{ matrix.continue-on-error || false }}
145171
env:
146172
ARCHERY_DOCKER_USER: ${{ secrets.DOCKERHUB_USER }}
147173
ARCHERY_DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }}
174+
ENVS: ${{ toJSON(matrix.envs) }}
148175
run: |
149176
# GH-40558: reduce ASLR to avoid ASAN/LSAN crashes
150177
sudo sysctl -w vm.mmap_rnd_bits=28
151178
source ci/scripts/util_enable_core_dumps.sh
179+
if [ "${ENVS}" != "null" ]; then
180+
echo "${ENVS}" | jq -r '.[]' | while read env; do
181+
echo "${env}" >> .env
182+
done
183+
fi
152184
archery docker run ${{ matrix.run-options || '' }} ${{ matrix.image }}
153185
- name: Docker Push
154186
if: >-
@@ -161,3 +193,88 @@ jobs:
161193
ARCHERY_DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }}
162194
continue-on-error: true
163195
run: archery docker push ${{ matrix.image }}
196+
197+
jni-macos:
198+
needs: check-labels
199+
name: JNI macOS
200+
runs-on: macos-14
201+
if: needs.check-labels.outputs.ci-extra == 'true'
202+
timeout-minutes: 45
203+
env:
204+
MACOSX_DEPLOYMENT_TARGET: "14.0"
205+
steps:
206+
- name: Checkout Arrow
207+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
208+
with:
209+
fetch-depth: 0
210+
submodules: recursive
211+
- name: Install dependencies
212+
run: |
213+
brew bundle --file=cpp/Brewfile
214+
# We want to link aws-sdk-cpp statically but Homebrew's
215+
# aws-sdk-cpp provides only shared library. If we have
216+
# Homebrew's aws-sdk-cpp, our build mix Homebrew's
217+
# aws-sdk-cpp and bundled aws-sdk-cpp. We uninstall Homebrew's
218+
# aws-sdk-cpp to ensure using only bundled aws-sdk-cpp.
219+
brew uninstall aws-sdk-cpp
220+
# We want to use bundled RE2 for static linking. If
221+
# Homebrew's RE2 is installed, its header file may be used.
222+
# We uninstall Homebrew's RE2 to ensure using bundled RE2.
223+
brew uninstall grpc || : # gRPC depends on RE2
224+
brew uninstall grpc@1.54 || : # gRPC 1.54 may be installed too
225+
brew uninstall re2
226+
# We want to use bundled Protobuf for static linking. If
227+
# Homebrew's Protobuf is installed, its library file may be
228+
# used on test We uninstall Homebrew's Protobuf to ensure using
229+
# bundled Protobuf.
230+
brew uninstall protobuf
231+
- name: Prepare ccache
232+
run: |
233+
echo "CCACHE_DIR=${PWD}/ccache" >> ${GITHUB_ENV}
234+
- name: Cache ccache
235+
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
236+
with:
237+
path: ccache
238+
key: jni-macos-${{ hashFiles('cpp/**') }}
239+
restore-keys: jni-macos-
240+
- name: CMake
241+
run: |
242+
cmake \
243+
-S cpp \
244+
-B cpp.build \
245+
--preset=ninja-release-jni-macos \
246+
-DARROW_BUILD_TESTS=ON \
247+
-DCMAKE_INSTALL_PREFIX=$PWD/cpp.install
248+
- name: Build
249+
run: |
250+
cmake --build cpp.build
251+
- name: Install
252+
run: |
253+
cmake --install cpp.build
254+
- name: Test
255+
env:
256+
ARROW_TEST_DATA: ${{ github.workspace }}/testing/data
257+
PARQUET_TEST_DATA: ${{ github.workspace }}/cpp/submodules/parquet-testing/data
258+
run: |
259+
# MinIO is required
260+
exclude_tests="arrow-s3fs-test"
261+
# unstable
262+
exclude_tests="${exclude_tests}|arrow-acero-asof-join-node-test"
263+
exclude_tests="${exclude_tests}|arrow-acero-hash-join-node-test"
264+
ctest \
265+
--exclude-regex "${exclude_tests}" \
266+
--label-regex unittest \
267+
--output-on-failure \
268+
--parallel "$(sysctl -n hw.ncpu)" \
269+
--test-dir "cpp.build" \
270+
--timeout 300
271+
- name: Build example
272+
run: |
273+
cmake \
274+
-S cpp/examples/minimal_build/ \
275+
-B cpp/examples/minimal_build.build \
276+
-GNinja \
277+
-DCMAKE_INSTALL_PREFIX=$PWD/cpp.install
278+
cmake --build cpp/examples/minimal_build.build
279+
cd cpp/examples/minimal_build
280+
../minimal_build.build/arrow-example

0 commit comments

Comments
 (0)