Skip to content

Commit 3524bbc

Browse files
authored
Merge branch 'main' into 32123-expose-azure-blob-filesystem
2 parents af3fc9f + 2543776 commit 3524bbc

422 files changed

Lines changed: 11917 additions & 6075 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.

.asf.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,16 @@ github:
3333

3434
collaborators:
3535
- alinaliBQ
36+
- AntoinePrv
3637
- EnricoMi
3738
- hiroyuki-sato
3839
- HyukjinKwon
40+
- tadeja
41+
42+
copilot_code_review:
43+
enabled: true
44+
review_drafts: false
45+
review_on_push: true
3946

4047
notifications:
4148
commits: commits@arrow.apache.org

.env

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,11 @@ TZ=UTC
9292
# Used through compose.yaml and serves as the default version for the
9393
# ci/scripts/install_vcpkg.sh script. Prefer to use short SHAs to keep the
9494
# docker tags more readable.
95-
VCPKG="66c0373dc7fca549e5803087b9487edfe3aca0a1" # 2026.01.16 Release
95+
VCPKG="9b965a116838c6cdcd36bca60d1b81b030c8ab8d" # 2026.05.27 (not release, upstream commit)
9696

9797
# This must be updated when we update
9898
# ci/docker/python-*-windows-*.dockerfile or the vcpkg config.
9999
# This is a workaround for our CI problem that "archery docker build" doesn't
100100
# use pulled built images in dev/tasks/python-wheels/github.windows.yml.
101-
PYTHON_WHEEL_WINDOWS_IMAGE_REVISION=2026-03-04
102-
PYTHON_WHEEL_WINDOWS_TEST_IMAGE_REVISION=2026-03-04
101+
PYTHON_WHEEL_WINDOWS_IMAGE_REVISION=2026-06-03
102+
PYTHON_WHEEL_WINDOWS_TEST_IMAGE_REVISION=2026-06-03

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ cpp/src/arrow/util/bpacking_*_generated_internal.h linguist-generated=true
22
cpp/src/parquet/chunker_*_generated.h linguist-generated=true
33
cpp/src/generated/*.cpp linguist-generated=true
44
cpp/src/generated/*.h linguist-generated=true
5+
cpp/src/generated/*.tcc linguist-generated=true
56
go/**/*.s linguist-generated=true
67
go/arrow/unionmode_string.go linguist-generated=true
78
go/arrow/internal/flatbuf/*.go linguist-generated=true

.github/CODEOWNERS

Lines changed: 34 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -23,46 +23,62 @@
2323
# documentation about the syntax: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
2424

2525
# Arrow Format
26-
# /format/
27-
28-
## Components
29-
/c_glib/ @kou
30-
# /cpp/
31-
/cpp/src/arrow/acero @westonpace
32-
/cpp/src/arrow/adapters/orc @wgtmac
33-
/cpp/src/arrow/engine @westonpace
34-
/cpp/src/arrow/flight/ @lidavidm
35-
/cpp/src/parquet @wgtmac
36-
/matlab/ @kevingurney @kou @sgilmore10
37-
/python/ @AlenkaF @raulcd @rok
38-
/python/pyarrow/_flight.pyx @lidavidm
39-
/python/pyarrow/**/*gandiva* @wjones127
40-
/r/ @jonkeane @thisisnic
41-
/ruby/ @kou
26+
/format/ @pitrou
4227

4328
# Docs
4429
# /docs/
4530
# *.md
4631
# *.rmd
4732
# *.rst
4833
# *.txt
34+
/docs/source/cpp @pitrou
35+
/docs/source/format/ @pitrou
4936

5037
# PR CI and repository files
5138
/.github/ @assignUser @jonkeane @kou @raulcd
5239
.asf.yaml @assignUser @kou @raulcd
5340
.pre-commit-config.yaml @raulcd
5441
# .git*
5542

56-
# release scripts, archery etc.
43+
# Release scripts, archery etc.
5744
/ci/ @assignUser @jonkeane @kou @raulcd
5845
/dev/ @assignUser @jonkeane @kou @raulcd
46+
/dev/archery/ @pitrou
5947
.dockerignore @raulcd
6048
.env @assignUser @jonkeane @kou @raulcd
6149
compose.yaml @assignUser @jonkeane @kou @raulcd
6250

63-
# R specific packaging tooling
51+
# Components
52+
53+
## C GLib
54+
/c_glib/ @kou
55+
56+
## C++
57+
/cpp/src/arrow/ @pitrou
58+
/cpp/src/arrow/acero @westonpace
59+
/cpp/src/arrow/adapters/orc @wgtmac
60+
/cpp/src/arrow/engine @westonpace
61+
/cpp/src/arrow/flight/ @lidavidm
62+
/cpp/src/gandiva @dmitry-chirkov-dremio @lriggs @akravchukdremio @xxlaykxx
63+
/cpp/src/parquet @wgtmac @pitrou
64+
65+
## MATLAB
66+
/.github/workflows/matlab.yml @kevingurney @sgilmore10
67+
/matlab/ @kevingurney @kou @sgilmore10
68+
69+
## Python
70+
/python/ @AlenkaF @raulcd @rok
71+
/python/pyarrow/_flight.pyx @lidavidm
72+
/python/pyarrow/**/*gandiva* @wjones127
73+
/python/pyarrow/src/ @pitrou
74+
75+
## R
76+
/r/ @jonkeane @thisisnic
6477
/r/configure* @assignUser
6578
/r/Makefile @assignUser
6679
/r/PACKAGING.md @assignUser
6780
/r/tools/ @assignUser
6881
/r/.Rbuildignore @assignUser
82+
83+
## Ruby
84+
/ruby/ @kou
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one
2+
# or more contributor license agreements. See the NOTICE file
3+
# distributed with this work for additional information
4+
# regarding copyright ownership. The ASF licenses this file
5+
# to you under the Apache License, Version 2.0 (the
6+
# "License"); you may not use this file except in compliance
7+
# with the License. You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing,
12+
# software distributed under the License is distributed on an
13+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
# KIND, either express or implied. See the License for the
15+
# specific language governing permissions and limitations
16+
# under the License.
17+
18+
name: ODBC Windows Reusable
19+
inputs:
20+
github-token:
21+
description: 'GITHUB_TOKEN for vcpkg caching'
22+
required: true
23+
runs:
24+
using: "composite"
25+
steps:
26+
- name: Disable Crash Dialogs
27+
shell: pwsh
28+
run: |
29+
reg add `
30+
"HKCU\SOFTWARE\Microsoft\Windows\Windows Error Reporting" `
31+
/v DontShowUI `
32+
/t REG_DWORD `
33+
/d 1 `
34+
/f
35+
- name: Download Timezone Database
36+
shell: bash
37+
run: ci/scripts/download_tz_database.sh
38+
- name: Install ccache
39+
shell: bash
40+
run: |
41+
ci/scripts/install_ccache.sh 4.12.1 /usr
42+
- name: Setup ccache
43+
shell: bash
44+
run: |
45+
ci/scripts/ccache_setup.sh
46+
- name: ccache info
47+
id: ccache-info
48+
shell: bash
49+
run: |
50+
echo "cache-dir=$(ccache --get-config cache_dir)" >> $GITHUB_OUTPUT
51+
- name: Cache ccache
52+
uses: actions/cache@v5
53+
with:
54+
path: ${{ steps.ccache-info.outputs.cache-dir }}
55+
key: cpp-odbc-ccache-windows-x64-${{ hashFiles('cpp/**') }}
56+
restore-keys: cpp-odbc-ccache-windows-x64-
57+
- name: Checkout vcpkg
58+
uses: actions/checkout@v6
59+
with:
60+
persist-credentials: false
61+
fetch-depth: 0
62+
path: vcpkg
63+
repository: microsoft/vcpkg
64+
- name: Bootstrap vcpkg
65+
shell: pwsh
66+
run: |
67+
vcpkg\bootstrap-vcpkg.bat
68+
$VCPKG_ROOT = $(Resolve-Path -LiteralPath "vcpkg").ToString()
69+
Write-Output ${VCPKG_ROOT} | `
70+
Out-File -FilePath ${Env:GITHUB_PATH} -Encoding utf8 -Append
71+
Write-Output "VCPKG_ROOT=${VCPKG_ROOT}" | `
72+
Out-File -FilePath ${Env:GITHUB_ENV} -Encoding utf8 -Append
73+
- name: Setup NuGet credentials for vcpkg caching
74+
shell: bash
75+
run: |
76+
$(vcpkg fetch nuget | tail -n 1) \
77+
sources add \
78+
-source "https://nuget.pkg.github.com/$GITHUB_REPOSITORY_OWNER/index.json" \
79+
-storepasswordincleartext \
80+
-name "GitHub" \
81+
-username "$GITHUB_REPOSITORY_OWNER" \
82+
-password "${{ inputs.github-token }}"
83+
$(vcpkg fetch nuget | tail -n 1) \
84+
setapikey "${{ inputs.github-token }}" \
85+
-source "https://nuget.pkg.github.com/$GITHUB_REPOSITORY_OWNER/index.json"
86+
- name: Build
87+
shell: cmd
88+
run: |
89+
set VCPKG_ROOT_KEEP=%VCPKG_ROOT%
90+
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
91+
set VCPKG_ROOT=%VCPKG_ROOT_KEEP%
92+
bash -c "ci/scripts/cpp_build.sh $(pwd) $(pwd)/build"
93+
- name: Register Flight SQL ODBC Driver
94+
shell: cmd
95+
run: |
96+
call "cpp\src\arrow\flight\sql\odbc\tests\install_odbc.cmd" ${{ github.workspace }}\build\cpp\%ARROW_BUILD_TYPE%\arrow_flight_sql_odbc.dll

.github/copilot-instructions.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Instructions
2+
3+
## Code review
4+
5+
You are a pragmatic senior developer. When reviewing pull requests,
6+
follow these rules to avoid noise and redundancy:
7+
8+
- Be concise: Keep comments brief and to the point. Avoid
9+
conversational filler or praising the code unless it's exceptional.
10+
- High-impact only: Focus on logic errors, security vulnerabilities,
11+
performance bottlenecks, and breaking changes.
12+
- Skip the Obvious: Do not describe what the code is doing. Assume the
13+
reader understands the code.
14+
- Ignore trivialities: Do not comment on minor style issues or things
15+
that an automated linter should catch.
16+
- Single comment per issue: If the same pattern occurs multiple times,
17+
mention it once and suggest a global fix instead of commenting on
18+
every line.
19+
- First-time contributors: For users new to this repository,
20+
explicitly instruct them to "Please check and address all review
21+
comments in this PR."

.github/workflows/cpp.yml

Lines changed: 35 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ concurrency:
6363
cancel-in-progress: true
6464

6565
permissions:
66+
actions: read
6667
contents: read
6768

6869
env:
@@ -95,7 +96,7 @@ jobs:
9596
runs-on: ubuntu-latest
9697
title: AMD64 Ubuntu 24.04 C++ ASAN UBSAN
9798
ubuntu: 24.04
98-
- arch: arm64v8
99+
- arch: arm64/v8
99100
clang-tools: 18
100101
image: ubuntu-cpp
101102
llvm: 18
@@ -119,12 +120,11 @@ jobs:
119120
persist-credentials: false
120121
fetch-depth: 0
121122
submodules: recursive
122-
- name: Cache Docker Volumes
123-
uses: actions/cache@v5
123+
- name: Restore Docker Volumes
124+
uses: apache/infrastructure-actions/stash/restore@0ba14156c9f4c3cfbe4b0c9f36339ab0f8d81e53
124125
with:
125126
path: .docker
126-
key: ${{ matrix.image }}-${{ hashFiles('cpp/**') }}
127-
restore-keys: ${{ matrix.image }}-
127+
key: cpp-${{ matrix.image }}
128128
- name: Setup Python on hosted runner
129129
if: |
130130
matrix.runs-on == 'ubuntu-latest'
@@ -149,6 +149,14 @@ jobs:
149149
sudo sysctl -w vm.mmap_rnd_bits=28
150150
source ci/scripts/util_enable_core_dumps.sh
151151
archery docker run ${{ matrix.image }}
152+
- name: Save Docker Volumes
153+
if: ${{ !cancelled() }}
154+
continue-on-error: true
155+
uses: apache/infrastructure-actions/stash/save@0ba14156c9f4c3cfbe4b0c9f36339ab0f8d81e53
156+
with:
157+
path: .docker
158+
key: cpp-${{ matrix.image }}
159+
include-hidden-files: true
152160
- name: Docker Push
153161
if: >-
154162
success() &&
@@ -231,11 +239,6 @@ jobs:
231239
submodules: recursive
232240
- name: Install Dependencies
233241
run: |
234-
# pkg-config formula is deprecated but it's still installed
235-
# in GitHub Actions runner now. We can remove this once
236-
# pkg-config formula is removed from GitHub Actions runner.
237-
brew uninstall pkg-config || :
238-
brew uninstall pkg-config@0.29.2 || :
239242
# Workaround for https://github.com/grpc/grpc/issues/41755
240243
# Remove once the runner ships a newer Homebrew.
241244
brew update
@@ -259,12 +262,11 @@ jobs:
259262
id: ccache-info
260263
run: |
261264
echo "cache-dir=$(ccache --get-config cache_dir)" >> $GITHUB_OUTPUT
262-
- name: Cache ccache
263-
uses: actions/cache@v5
265+
- name: Restore ccache
266+
uses: apache/infrastructure-actions/stash/restore@0ba14156c9f4c3cfbe4b0c9f36339ab0f8d81e53
264267
with:
265268
path: ${{ steps.ccache-info.outputs.cache-dir }}
266-
key: cpp-ccache-macos-${{ matrix.macos-version }}-${{ hashFiles('cpp/**') }}
267-
restore-keys: cpp-ccache-macos-${{ matrix.macos-version }}-
269+
key: cpp-ccache-macos-${{ matrix.macos-version }}
268270
- name: Build
269271
run: |
270272
if [ "${{ matrix.macos-version }}" = "15-intel" ]; then
@@ -281,6 +283,13 @@ jobs:
281283
export BUILD_WARNING_LEVEL=PRODUCTION
282284
fi
283285
ci/scripts/cpp_build.sh $(pwd) $(pwd)/build
286+
- name: Save ccache
287+
if: ${{ !cancelled() }}
288+
continue-on-error: true
289+
uses: apache/infrastructure-actions/stash/save@0ba14156c9f4c3cfbe4b0c9f36339ab0f8d81e53
290+
with:
291+
path: ${{ steps.ccache-info.outputs.cache-dir }}
292+
key: cpp-ccache-macos-${{ matrix.macos-version }}
284293
- name: Test
285294
shell: bash
286295
run: |
@@ -366,17 +375,23 @@ jobs:
366375
- name: Setup MSYS2
367376
shell: msys2 {0}
368377
run: ci/scripts/msys2_setup.sh cpp
369-
- name: Cache ccache
370-
uses: actions/cache@v5
378+
- name: Restore ccache
379+
uses: apache/infrastructure-actions/stash/restore@0ba14156c9f4c3cfbe4b0c9f36339ab0f8d81e53
371380
with:
372381
path: ccache
373-
key: cpp-ccache-${{ matrix.msystem_lower}}-${{ hashFiles('cpp/**') }}
374-
restore-keys: cpp-ccache-${{ matrix.msystem_lower}}-
382+
key: cpp-ccache-${{ matrix.msystem_lower}}
375383
- name: Build
376384
shell: msys2 {0}
377385
run: |
378386
export CMAKE_BUILD_PARALLEL_LEVEL=$NUMBER_OF_PROCESSORS
379387
ci/scripts/cpp_build.sh "$(pwd)" "$(pwd)/build"
388+
- name: Save ccache
389+
if: ${{ !cancelled() }}
390+
continue-on-error: true
391+
uses: apache/infrastructure-actions/stash/save@0ba14156c9f4c3cfbe4b0c9f36339ab0f8d81e53
392+
with:
393+
path: ccache
394+
key: cpp-ccache-${{ matrix.msystem_lower}}
380395
- name: Download Timezone Database
381396
if: matrix.msystem_upper == 'CLANG64'
382397
shell: bash
@@ -386,12 +401,13 @@ jobs:
386401
# https://github.com/apache/arrow/issues/48593
387402
ci/scripts/download_tz_database.sh
388403
- name: Download MinIO
404+
# Match the version pinned in ci/scripts/install_minio.sh.
389405
shell: msys2 {0}
390406
run: |
391407
mkdir -p /usr/local/bin
392408
wget \
393409
--output-document /usr/local/bin/minio.exe \
394-
https://dl.min.io/server/minio/release/windows-amd64/archive/minio.RELEASE.2024-09-13T20-26-02Z
410+
https://dl.min.io/server/minio/release/windows-amd64/archive/minio.RELEASE.2025-01-20T14-49-07Z
395411
chmod +x /usr/local/bin/minio.exe
396412
- name: Set up Python
397413
uses: actions/setup-python@v6

0 commit comments

Comments
 (0)