Skip to content

Commit a355cb0

Browse files
committed
Merge branch 'main' into push-down-02-20002
2 parents f8204b6 + 2aab559 commit a355cb0

File tree

645 files changed

+26152
-10517
lines changed

Some content is hidden

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

645 files changed

+26152
-10517
lines changed

.asf.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ github:
6969
# enable updating head branches of pull requests
7070
allow_update_branch: true
7171
allow_auto_merge: true
72+
# auto-delete head branches after being merged
73+
del_branch_on_merge: true
7274

7375
# publishes the content of the `asf-site` branch to
7476
# https://datafusion.apache.org/

.github/workflows/audit.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,10 @@ jobs:
4242
steps:
4343
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4444
- name: Install cargo-audit
45-
uses: taiki-e/install-action@a37010ded18ff788be4440302bd6830b1ae50d8b # v2.68.25
45+
uses: taiki-e/install-action@0d865d5cc6d507df4765f1f866bfae8bab4e2a73 # v2.69.7
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 --ignore RUSTSEC-2024-0014

.github/workflows/codeql.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,11 @@ jobs:
4545
persist-credentials: false
4646

4747
- name: Initialize CodeQL
48-
uses: github/codeql-action/init@0d579ffd059c29b07949a3cce3983f0780820c98 # v4
48+
uses: github/codeql-action/init@38697555549f1db7851b81482ff19f1fa5c4fedc # v4
4949
with:
5050
languages: actions
5151

5252
- name: Perform CodeQL Analysis
53-
uses: github/codeql-action/analyze@0d579ffd059c29b07949a3cce3983f0780820c98 # v4
53+
uses: github/codeql-action/analyze@38697555549f1db7851b81482ff19f1fa5c4fedc # v4
5454
with:
5555
category: "/language:actions"

.github/workflows/docs.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
path: asf-site
4242

4343
- name: Setup uv
44-
uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
44+
uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7.6.0
4545

4646
- name: Install dependencies
4747
run: uv sync --package datafusion-docs

.github/workflows/docs_pr.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ jobs:
4545
submodules: true
4646
fetch-depth: 1
4747
- name: Setup uv
48-
uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
48+
uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7.6.0
4949
- name: Install doc dependencies
5050
run: uv sync --package datafusion-docs
5151
- name: Install dependency graph tooling

.github/workflows/extended.yml

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,7 @@ jobs:
9393
linux-test-extended:
9494
name: cargo test 'extended_tests' (amd64)
9595
needs: [linux-build-lib]
96-
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m8a+m7a+c8a,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
96+
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m8a+m7a+c8a,cpu=32,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
9897
# note: do not use amd/rust container to preserve disk space
9998
steps:
10099
- uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3
@@ -162,8 +161,7 @@ jobs:
162161
163162
sqllogictest-sqlite:
164163
name: "Run sqllogictests with the sqlite test suite"
165-
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m8a+m7a+c8a,cpu=48,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion,spot=false', github.run_id) || 'ubuntu-latest' }}
166-
# spot=false because the tests are long, https://runs-on.com/configuration/spot-instances/#disable-spot-pricing
164+
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m8a+m7a+c8a,cpu=32,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
167165
container:
168166
image: amd64/rust
169167
steps:
@@ -173,10 +171,10 @@ jobs:
173171
ref: ${{ github.event.inputs.pr_head_sha }} # will be empty if triggered by push
174172
submodules: true
175173
fetch-depth: 1
176-
- name: Setup Rust toolchain
177-
uses: ./.github/actions/setup-builder
178-
with:
179-
rust-version: stable
174+
# Don't use setup-builder to avoid configuring RUST_BACKTRACE which is expensive
175+
- name: Install protobuf compiler
176+
run: |
177+
apt-get update && apt-get install -y protobuf-compiler
180178
- name: Run sqllogictest
181179
run: |
182-
cargo test --features backtrace,parquet_encryption --profile release --test sqllogictests -- --include-sqlite
180+
cargo test --features backtrace,parquet_encryption --profile ci-optimized --test sqllogictests -- --include-sqlite

.github/workflows/rust.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ jobs:
5858
with:
5959
rust-version: stable
6060
- name: Rust Dependency Cache
61-
uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
61+
uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
6262
with:
6363
shared-key: "amd-ci-check" # this job uses it's own cache becase check has a separate cache and we need it to be fast as it blocks other jobs
6464
save-if: ${{ github.ref_name == 'main' }}
@@ -111,7 +111,7 @@ jobs:
111111
with:
112112
rust-version: stable
113113
- name: Rust Dependency Cache
114-
uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
114+
uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
115115
with:
116116
save-if: false # set in linux-test
117117
shared-key: "amd-ci"
@@ -181,7 +181,7 @@ jobs:
181181
with:
182182
rust-version: stable
183183
- name: Rust Dependency Cache
184-
uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
184+
uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
185185
with:
186186
save-if: false # set in linux-test
187187
shared-key: "amd-ci"
@@ -287,7 +287,7 @@ jobs:
287287
with:
288288
rust-version: stable
289289
- name: Rust Dependency Cache
290-
uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
290+
uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
291291
with:
292292
save-if: ${{ github.ref_name == 'main' }}
293293
shared-key: "amd-ci"
@@ -332,7 +332,7 @@ jobs:
332332
- name: Setup Rust toolchain
333333
run: rustup toolchain install stable
334334
- name: Rust Dependency Cache
335-
uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
335+
uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
336336
with:
337337
save-if: false # set in linux-test
338338
shared-key: "amd-ci"
@@ -366,7 +366,7 @@ jobs:
366366
with:
367367
rust-version: stable
368368
- name: Rust Dependency Cache
369-
uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
369+
uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
370370
with:
371371
save-if: ${{ github.ref_name == 'main' }}
372372
shared-key: "amd-ci-linux-test-example"
@@ -431,7 +431,7 @@ jobs:
431431
sudo apt-get update -qq
432432
sudo apt-get install -y -qq clang
433433
- name: Setup wasm-pack
434-
uses: taiki-e/install-action@a37010ded18ff788be4440302bd6830b1ae50d8b # v2.68.25
434+
uses: taiki-e/install-action@0d865d5cc6d507df4765f1f866bfae8bab4e2a73 # v2.69.7
435435
with:
436436
tool: wasm-pack
437437
- name: Run tests with headless mode
@@ -666,7 +666,7 @@ jobs:
666666
- name: Install Clippy
667667
run: rustup component add clippy
668668
- name: Rust Dependency Cache
669-
uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
669+
uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
670670
with:
671671
save-if: ${{ github.ref_name == 'main' }}
672672
shared-key: "amd-ci-clippy"
@@ -771,7 +771,7 @@ jobs:
771771
- name: Setup Rust toolchain
772772
uses: ./.github/actions/setup-builder
773773
- name: Install cargo-msrv
774-
uses: taiki-e/install-action@a37010ded18ff788be4440302bd6830b1ae50d8b # v2.68.25
774+
uses: taiki-e/install-action@0d865d5cc6d507df4765f1f866bfae8bab4e2a73 # v2.69.7
775775
with:
776776
tool: cargo-msrv
777777

AGENTS.md

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,33 +2,40 @@
22

33
## Developer Documentation
44

5+
- [Quick Start Setup](docs/source/contributor-guide/development_environment.md#quick-start)
6+
- [Testing Quick Start](docs/source/contributor-guide/testing.md#testing-quick-start)
7+
- [Before Submitting a PR](docs/source/contributor-guide/index.md#before-submitting-a-pr)
58
- [Contributor Guide](docs/source/contributor-guide/index.md)
69
- [Architecture Guide](docs/source/contributor-guide/architecture.md)
710

811
## Before Committing
912

10-
Before committing any changes, you **must** run the following checks and fix any issues:
13+
Before committing any changes, you MUST follow the instructions in
14+
[Before Submitting a PR](docs/source/contributor-guide/index.md#before-submitting-a-pr)
15+
and ensure the required checks listed there pass. Do not commit code that
16+
fails any of those checks.
17+
18+
At a minimum, you MUST run and fix any errors from these commands before
19+
committing:
1120

1221
```bash
22+
# Format code
1323
cargo fmt --all
24+
25+
# Lint (must pass with no warnings)
1426
cargo clippy --all-targets --all-features -- -D warnings
1527
```
1628

17-
- `cargo fmt` ensures consistent code formatting across the project.
18-
- `cargo clippy` catches common mistakes and enforces idiomatic Rust patterns. All warnings must be resolved (treated as errors via `-D warnings`).
19-
20-
Do not commit code that fails either of these checks.
21-
22-
## Testing
23-
24-
Run relevant tests before submitting changes:
29+
You can also run the full lint suite used by CI:
2530

2631
```bash
27-
cargo test --all-features
32+
./dev/rust_lint.sh
33+
# or auto-fix: ./dev/rust_lint.sh --write --allow-dirty
2834
```
2935

30-
For SQL logic tests:
36+
When creating a PR, you MUST follow the [PR template](.github/pull_request_template.md).
3137

32-
```bash
33-
cargo test -p datafusion-sqllogictest
34-
```
38+
## Testing
39+
40+
See the [Testing Quick Start](docs/source/contributor-guide/testing.md#testing-quick-start)
41+
for the recommended pre-PR test commands.

0 commit comments

Comments
 (0)