Skip to content

Commit 745c1d9

Browse files
Merge branch 'upstream-branch-53' into branch-53
2 parents 4a36e6b + 5746048 commit 745c1d9

1,011 files changed

Lines changed: 98180 additions & 19407 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: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,12 @@ github:
6262
branch-51:
6363
required_pull_request_reviews:
6464
required_approving_review_count: 1
65+
branch-52:
66+
required_pull_request_reviews:
67+
required_approving_review_count: 1
68+
branch-53:
69+
required_pull_request_reviews:
70+
required_approving_review_count: 1
6571
pull_requests:
6672
# enable updating head branches of pull requests
6773
allow_update_branch: true

.github/dependabot.yml

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ updates:
2323
interval: weekly
2424
target-branch: main
2525
labels: [auto-dependencies]
26+
open-pull-requests-limit: 15
2627
ignore:
2728
# major version bumps of arrow* and parquet are handled manually
2829
- dependency-name: "arrow*"
@@ -44,10 +45,27 @@ updates:
4445
patterns:
4546
- "prost*"
4647
- "pbjson*"
48+
49+
# Catch-all: group only minor/patch into a single PR,
50+
# excluding deps we want always separate (and excluding arrow/parquet which have their own group)
51+
all-other-cargo-deps:
52+
applies-to: version-updates
53+
patterns:
54+
- "*"
55+
exclude-patterns:
56+
- "arrow*"
57+
- "parquet"
58+
- "object_store"
59+
- "sqlparser"
60+
- "prost*"
61+
- "pbjson*"
62+
update-types:
63+
- "minor"
64+
- "patch"
4765
- package-ecosystem: "github-actions"
4866
directory: "/"
4967
schedule:
50-
interval: "daily"
68+
interval: "weekly"
5169
open-pull-requests-limit: 10
5270
labels: [auto-dependencies]
5371
- package-ecosystem: "pip"

.github/workflows/audit.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,12 @@ jobs:
4040
security_audit:
4141
runs-on: ubuntu-latest
4242
steps:
43-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
43+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4444
- name: Install cargo-audit
45-
uses: taiki-e/install-action@0e76c5c569f13f7eb21e8e5b26fe710062b57b62 # v2.65.13
45+
uses: taiki-e/install-action@cfdb446e391c69574ebc316dfb7d7849ec12b940 # v2.68.8
4646
with:
4747
tool: cargo-audit
4848
- name: Run audit check
4949
# Note: you can ignore specific RUSTSEC issues using the `--ignore` flag ,for example:
5050
# run: cargo audit --ignore RUSTSEC-2026-0001
51-
run: cargo audit --ignore RUSTSEC-2024-0436 --ignore RUSTSEC-2024-0014
51+
run: cargo audit

.github/workflows/dependencies.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444
container:
4545
image: amd64/rust
4646
steps:
47-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
47+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4848
with:
4949
fetch-depth: 1
5050
- name: Setup Submodules
@@ -63,7 +63,7 @@ jobs:
6363
container:
6464
image: amd64/rust
6565
steps:
66-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
66+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
6767
- name: Install cargo-machete
6868
run: cargo install cargo-machete --version ^0.9 --locked
6969
- name: Detect unused dependencies

.github/workflows/dev.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
runs-on: ubuntu-latest
3333
name: Check License Header
3434
steps:
35-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
35+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
3636
- name: Install HawkEye
3737
# This CI job is bound by installation time, use `--profile dev` to speed it up
3838
run: cargo install hawkeye --version 6.2.0 --locked --profile dev
@@ -43,8 +43,8 @@ jobs:
4343
name: Use prettier to check formatting of documents
4444
runs-on: ubuntu-latest
4545
steps:
46-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
47-
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
46+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
47+
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
4848
with:
4949
node-version: "20"
5050
- name: Prettier check
@@ -55,7 +55,7 @@ jobs:
5555
name: Spell Check with Typos
5656
runs-on: ubuntu-latest
5757
steps:
58-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
58+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
5959
with:
6060
persist-credentials: false
6161
# Version fixed on purpose. It uses heuristics to detect typos, so upgrading

.github/workflows/docs.yaml

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -32,32 +32,31 @@ jobs:
3232
runs-on: ubuntu-latest
3333
steps:
3434
- name: Checkout docs sources
35-
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
35+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
3636

3737
- name: Checkout asf-site branch
38-
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
38+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
3939
with:
4040
ref: asf-site
4141
path: asf-site
4242

43-
- name: Setup Python
44-
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
45-
with:
46-
python-version: "3.12"
43+
- name: Setup uv
44+
uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
4745

4846
- name: Install dependencies
47+
run: uv sync --package datafusion-docs
48+
- name: Install dependency graph tooling
4949
run: |
5050
set -x
51-
python3 -m venv venv
52-
source venv/bin/activate
53-
pip install -r docs/requirements.txt
51+
sudo apt-get update
52+
sudo apt-get install -y graphviz
53+
cargo install cargo-depgraph --version ^1.6 --locked
5454
5555
- name: Build docs
5656
run: |
5757
set -x
58-
source venv/bin/activate
5958
cd docs
60-
./build.sh
59+
uv run --package datafusion-docs ./build.sh
6160
6261
- name: Copy & push the generated HTML
6362
run: |

.github/workflows/docs_pr.yaml

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -39,24 +39,21 @@ jobs:
3939
name: Test doc build
4040
runs-on: ubuntu-latest
4141
steps:
42-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
42+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4343
with:
4444
fetch-depth: 1
45-
- name: Setup Submodules
46-
uses: ./.github/actions/setup-submodules
47-
- name: Setup Python
48-
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
49-
with:
50-
python-version: "3.12"
45+
- name: Setup uv
46+
uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
5147
- name: Install doc dependencies
48+
run: uv sync --package datafusion-docs
49+
- name: Install dependency graph tooling
5250
run: |
5351
set -x
54-
python3 -m venv venv
55-
source venv/bin/activate
56-
pip install -r docs/requirements.txt
52+
sudo apt-get update
53+
sudo apt-get install -y graphviz
54+
cargo install cargo-depgraph --version ^1.6 --locked
5755
- name: Build docs html and check for warnings
5856
run: |
5957
set -x
60-
source venv/bin/activate
6158
cd docs
62-
./build.sh # fails on errors
59+
uv run --package datafusion-docs ./build.sh # fails on errors

.github/workflows/extended.yml

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,11 @@ jobs:
6565
# Check crate compiles and base cargo check passes
6666
linux-build-lib:
6767
name: linux build test
68-
runs-on: ubuntu-latest
68+
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m8a,cpu=8,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
6969
# note: do not use amd/rust container to preserve disk space
7070
steps:
71-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
71+
- uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3
72+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
7273
with:
7374
ref: ${{ github.event.inputs.pr_head_sha }} # will be empty if triggered by push
7475
fetch-depth: 1
@@ -80,7 +81,9 @@ jobs:
8081
source $HOME/.cargo/env
8182
rustup toolchain install
8283
- name: Install Protobuf Compiler
83-
run: sudo apt-get install -y protobuf-compiler
84+
run: |
85+
sudo apt-get update
86+
sudo apt-get install -y protobuf-compiler
8487
- name: Prepare cargo build
8588
run: |
8689
cargo check --profile ci --all-targets
@@ -90,10 +93,12 @@ jobs:
9093
linux-test-extended:
9194
name: cargo test 'extended_tests' (amd64)
9295
needs: [linux-build-lib]
93-
runs-on: ubuntu-latest
96+
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m8a,cpu=32,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion,spot=false', github.run_id) || 'ubuntu-latest' }}
97+
# spot=false because the tests are long, https://runs-on.com/configuration/spot-instances/#disable-spot-pricing
9498
# note: do not use amd/rust container to preserve disk space
9599
steps:
96-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
100+
- uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3
101+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
97102
with:
98103
ref: ${{ github.event.inputs.pr_head_sha }} # will be empty if triggered by push
99104
fetch-depth: 1
@@ -107,7 +112,9 @@ jobs:
107112
source $HOME/.cargo/env
108113
rustup toolchain install
109114
- name: Install Protobuf Compiler
110-
run: sudo apt-get install -y protobuf-compiler
115+
run: |
116+
sudo apt-get update
117+
sudo apt-get install -y protobuf-compiler
111118
# For debugging, test binaries can be large.
112119
- name: Show available disk space
113120
run: |
@@ -134,11 +141,12 @@ jobs:
134141
# Check answers are correct when hash values collide
135142
hash-collisions:
136143
name: cargo test hash collisions (amd64)
137-
runs-on: ubuntu-latest
144+
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m8a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
138145
container:
139146
image: amd64/rust
140147
steps:
141-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
148+
- uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3
149+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
142150
with:
143151
ref: ${{ github.event.inputs.pr_head_sha }} # will be empty if triggered by push
144152
fetch-depth: 1
@@ -156,11 +164,13 @@ jobs:
156164
157165
sqllogictest-sqlite:
158166
name: "Run sqllogictests with the sqlite test suite"
159-
runs-on: ubuntu-latest
167+
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m8a,cpu=48,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion,spot=false', github.run_id) || 'ubuntu-latest' }}
168+
# spot=false because the tests are long, https://runs-on.com/configuration/spot-instances/#disable-spot-pricing
160169
container:
161170
image: amd64/rust
162171
steps:
163-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
172+
- uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3
173+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
164174
with:
165175
ref: ${{ github.event.inputs.pr_head_sha }} # will be empty if triggered by push
166176
fetch-depth: 1

.github/workflows/labeler.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
contents: read
4040
pull-requests: write
4141
steps:
42-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
42+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4343

4444
- name: Assign GitHub labels
4545
if: |

.github/workflows/labeler/labeler-config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ datasource:
6262

6363
functions:
6464
- changed-files:
65-
- any-glob-to-any-file: ['datafusion/functions/**/*', 'datafusion/functions-aggregate/**/*', 'datafusion/functions-aggregate-common', 'datafusion/functions-nested', 'datafusion/functions-table/**/*', 'datafusion/functions-window/**/*', 'datafusion/functions-window-common/**/*']
65+
- any-glob-to-any-file: ['datafusion/functions/**/*', 'datafusion/functions-aggregate/**/*', 'datafusion/functions-aggregate-common/**/*', 'datafusion/functions-nested/**/*', 'datafusion/functions-table/**/*', 'datafusion/functions-window/**/*', 'datafusion/functions-window-common/**/*']
6666

6767

6868
optimizer:

0 commit comments

Comments
 (0)