Skip to content

Commit 27479e2

Browse files
committed
merge lambda_and_array_transform from gstvg/arrow-datafusion into lambda_substrait
2 parents a1abb74 + c93fc81 commit 27479e2

1,152 files changed

Lines changed: 100229 additions & 37524 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
@@ -51,6 +51,13 @@ github:
5151
main:
5252
required_pull_request_reviews:
5353
required_approving_review_count: 1
54+
required_status_checks:
55+
contexts:
56+
- "Check License Header"
57+
- "Use prettier to check formatting of documents"
58+
- "Check Markdown Links"
59+
- "Validate required_status_checks in .asf.yaml"
60+
- "Spell Check with Typos"
5461
# needs to be updated as part of the release process
5562
# .asf.yaml doesn't support wildcard branch protection rules, only exact branch names
5663
# https://github.com/apache/infrastructure-asfyaml?tab=readme-ov-file#branch-protection

.github/workflows/audit.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,19 +33,22 @@ on:
3333
paths:
3434
- "**/Cargo.toml"
3535
- "**/Cargo.lock"
36-
36+
3737
merge_group:
3838

39+
permissions:
40+
contents: read
41+
3942
jobs:
4043
security_audit:
4144
runs-on: ubuntu-latest
4245
steps:
4346
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4447
- name: Install cargo-audit
45-
uses: taiki-e/install-action@de6bbd1333b8f331563d54a051e542c7dfef81c3 # v2.68.34
48+
uses: taiki-e/install-action@055f5df8c3f65ea01cd41e9dc855becd88953486 # v2.75.18
4649
with:
4750
tool: cargo-audit
4851
- name: Run audit check
4952
# Note: you can ignore specific RUSTSEC issues using the `--ignore` flag ,for example:
5053
# run: cargo audit --ignore RUSTSEC-2026-0001
51-
run: cargo audit --ignore RUSTSEC-2024-0014
54+
run: cargo audit

.github/workflows/codeql.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ permissions:
3232
jobs:
3333
analyze:
3434
name: Analyze Actions
35-
runs-on: ubuntu-latest
35+
runs-on: ubuntu-slim
3636
permissions:
3737
contents: read
3838
security-events: write
@@ -45,11 +45,11 @@ jobs:
4545
persist-credentials: false
4646

4747
- name: Initialize CodeQL
48-
uses: github/codeql-action/init@b1bff81932f5cdfc8695c7752dcee935dcd061c8 # v4
48+
uses: github/codeql-action/init@95e58e9a2cdfd71adc6e0353d5c52f41a045d225 # v4
4949
with:
5050
languages: actions
5151

5252
- name: Perform CodeQL Analysis
53-
uses: github/codeql-action/analyze@b1bff81932f5cdfc8695c7752dcee935dcd061c8 # v4
53+
uses: github/codeql-action/analyze@95e58e9a2cdfd71adc6e0353d5c52f41a045d225 # v4
5454
with:
5555
category: "/language:actions"

.github/workflows/dependencies.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ on:
3737
# https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow
3838
workflow_dispatch:
3939

40+
permissions:
41+
contents: read
42+
4043
jobs:
4144
depcheck:
4245
name: circular dependency check

.github/workflows/dev.yml

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ on:
2323
pull_request:
2424
merge_group:
2525

26+
permissions:
27+
contents: read
28+
2629
concurrency:
2730
group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{ github.workflow }}
2831
cancel-in-progress: true
@@ -41,7 +44,7 @@ jobs:
4144

4245
prettier:
4346
name: Use prettier to check formatting of documents
44-
runs-on: ubuntu-latest
47+
runs-on: ubuntu-slim
4548
steps:
4649
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4750
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
@@ -51,14 +54,38 @@ jobs:
5154
# if you encounter error, see instructions inside the script
5255
run: ci/scripts/doc_prettier_check.sh
5356

57+
markdown-link-check:
58+
name: Check Markdown Links
59+
runs-on: ubuntu-latest
60+
steps:
61+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
62+
- name: Load tool versions
63+
run: |
64+
source ci/scripts/utils/tool_versions.sh
65+
echo "LYCHEE_VERSION=${LYCHEE_VERSION}" >> "$GITHUB_ENV"
66+
- name: Install lychee
67+
uses: taiki-e/install-action@055f5df8c3f65ea01cd41e9dc855becd88953486 # v2.75.18
68+
with:
69+
tool: lychee@${{ env.LYCHEE_VERSION }}
70+
- name: Run markdown link check
71+
run: bash ci/scripts/markdown_link_check.sh
72+
73+
asf-yaml-check:
74+
name: Validate required_status_checks in .asf.yaml
75+
runs-on: ubuntu-latest
76+
steps:
77+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
78+
- run: pip install pyyaml
79+
- run: python3 ci/scripts/check_asf_yaml_status_checks.py
80+
5481
typos:
5582
name: Spell Check with Typos
5683
runs-on: ubuntu-latest
5784
steps:
5885
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
5986
with:
6087
persist-credentials: false
61-
# Version fixed on purpose. It uses heuristics to detect typos, so upgrading
88+
# Version fixed on purpose. It uses heuristics to detect typos, so upgrading
6289
# it may cause checks to fail more often.
6390
# We can upgrade it manually once a while.
6491
- name: Install typos-cli

.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@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7.6.0
44+
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
4545

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

.github/workflows/docs_pr.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,10 @@ on:
3333
# https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow
3434
workflow_dispatch:
3535

36+
permissions:
37+
contents: read
38+
3639
jobs:
37-
3840
# Test doc build
3941
linux-test-doc-build:
4042
name: Test doc build
@@ -45,7 +47,7 @@ jobs:
4547
submodules: true
4648
fetch-depth: 1
4749
- name: Setup uv
48-
uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7.6.0
50+
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
4951
- name: Install doc dependencies
5052
run: uv sync --package datafusion-docs
5153
- name: Install dependency graph tooling

.github/workflows/extended.yml

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -44,15 +44,10 @@ on:
4444
- 'datafusion/physical*/**/*.rs'
4545
- 'datafusion/expr*/**/*.rs'
4646
- 'datafusion/optimizer/**/*.rs'
47+
- 'datafusion/sql/**/*.rs'
4748
- 'datafusion-testing'
4849
workflow_dispatch:
4950
inputs:
50-
pr_number:
51-
description: 'Pull request number'
52-
type: string
53-
check_run_id:
54-
description: 'Check run ID for status updates'
55-
type: string
5651
pr_head_sha:
5752
description: 'PR head SHA'
5853
type: string
@@ -69,7 +64,7 @@ jobs:
6964
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m8a+m7a+c8a,cpu=8,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
7065
# note: do not use amd/rust container to preserve disk space
7166
steps:
72-
- uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3
67+
- uses: runs-on/action@742bf56072eb4845a0f94b3394673e4903c90ff0 # v2.1.0
7368
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
7469
with:
7570
ref: ${{ github.event.inputs.pr_head_sha }} # will be empty if triggered by push
@@ -93,11 +88,10 @@ jobs:
9388
linux-test-extended:
9489
name: cargo test 'extended_tests' (amd64)
9590
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
91+
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' }}
9892
# note: do not use amd/rust container to preserve disk space
9993
steps:
100-
- uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3
94+
- uses: runs-on/action@742bf56072eb4845a0f94b3394673e4903c90ff0 # v2.1.0
10195
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
10296
with:
10397
ref: ${{ github.event.inputs.pr_head_sha }} # will be empty if triggered by push
@@ -144,7 +138,7 @@ jobs:
144138
container:
145139
image: amd64/rust
146140
steps:
147-
- uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3
141+
- uses: runs-on/action@742bf56072eb4845a0f94b3394673e4903c90ff0 # v2.1.0
148142
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
149143
with:
150144
ref: ${{ github.event.inputs.pr_head_sha }} # will be empty if triggered by push
@@ -162,21 +156,20 @@ jobs:
162156
163157
sqllogictest-sqlite:
164158
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
159+
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' }}
167160
container:
168161
image: amd64/rust
169162
steps:
170-
- uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3
163+
- uses: runs-on/action@742bf56072eb4845a0f94b3394673e4903c90ff0 # v2.1.0
171164
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
172165
with:
173166
ref: ${{ github.event.inputs.pr_head_sha }} # will be empty if triggered by push
174167
submodules: true
175168
fetch-depth: 1
176-
- name: Setup Rust toolchain
177-
uses: ./.github/actions/setup-builder
178-
with:
179-
rust-version: stable
169+
# Don't use setup-builder to avoid configuring RUST_BACKTRACE which is expensive
170+
- name: Install protobuf compiler
171+
run: |
172+
apt-get update && apt-get install -y protobuf-compiler
180173
- name: Run sqllogictest
181174
run: |
182175
cargo test --features backtrace,parquet_encryption --profile ci-optimized --test sqllogictests -- --include-sqlite

.github/workflows/labeler.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ on:
3131
jobs:
3232
process:
3333
name: Process
34-
runs-on: ubuntu-latest
34+
runs-on: ubuntu-slim
3535
# only run for users whose permissions allow them to update PRs
3636
# otherwise labeler is failing:
3737
# https://github.com/apache/datafusion/issues/3743

.github/workflows/large_files.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,21 @@ on:
2525
pull_request:
2626
merge_group:
2727

28+
permissions:
29+
contents: read
30+
2831
jobs:
2932
check-files:
30-
runs-on: ubuntu-latest
33+
runs-on: ubuntu-slim
3134
steps:
3235
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
3336
with:
3437
fetch-depth: 0
3538
- name: Check size of new Git objects
3639
env:
37-
# 1 MB ought to be enough for anybody.
40+
# 1.5 MB ought to be enough for anybody.
3841
# TODO in case we may want to consciously commit a bigger file to the repo without using Git LFS we may disable the check e.g. with a label
39-
MAX_FILE_SIZE_BYTES: 1048576
42+
MAX_FILE_SIZE_BYTES: 1572864
4043
shell: bash
4144
run: |
4245
if [ "${{ github.event_name }}" = "merge_group" ]; then

0 commit comments

Comments
 (0)