Skip to content

Commit 28dc07c

Browse files
authored
Merge branch 'main' into df_spark_ceil
2 parents 251883f + 5d27860 commit 28dc07c

File tree

340 files changed

+16675
-3826
lines changed

Some content is hidden

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

340 files changed

+16675
-3826
lines changed

.github/workflows/audit.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
steps:
4343
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4444
- name: Install cargo-audit
45-
uses: taiki-e/install-action@470679bc3a1580072dac4e67535d1aa3a3dcdf51 # v2.68.6
45+
uses: taiki-e/install-action@d6e286fa45544157a02d45a43742857ebbc25d12 # v2.68.16
4646
with:
4747
tool: cargo-audit
4848
- name: Run audit check

.github/workflows/codeql.yml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
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+
19+
name: "CodeQL"
20+
21+
on:
22+
push:
23+
branches: [ "main" ]
24+
pull_request:
25+
branches: [ "main" ]
26+
schedule:
27+
- cron: '16 4 * * 1'
28+
29+
permissions:
30+
contents: read
31+
32+
jobs:
33+
analyze:
34+
name: Analyze Actions
35+
runs-on: ubuntu-latest
36+
permissions:
37+
contents: read
38+
security-events: write
39+
packages: read
40+
41+
steps:
42+
- name: Checkout repository
43+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
44+
with:
45+
persist-credentials: false
46+
47+
- name: Initialize CodeQL
48+
uses: github/codeql-action/init@c793b717bc78562f491db7b0e93a3a178b099162 # v4
49+
with:
50+
languages: actions
51+
52+
- name: Perform CodeQL Analysis
53+
uses: github/codeql-action/analyze@c793b717bc78562f491db7b0e93a3a178b099162 # v4
54+
with:
55+
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@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
44+
uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
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@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
48+
uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
4949
- name: Install doc dependencies
5050
run: uv sync --package datafusion-docs
5151
- name: Install dependency graph tooling

.github/workflows/extended.yml

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,10 @@ jobs:
6666
# Check crate compiles and base cargo check passes
6767
linux-build-lib:
6868
name: linux build test
69-
runs-on: ubuntu-latest
69+
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' }}
7070
# note: do not use amd/rust container to preserve disk space
7171
steps:
72+
- uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3
7273
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
7374
with:
7475
ref: ${{ github.event.inputs.pr_head_sha }} # will be empty if triggered by push
@@ -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,9 +93,11 @@ 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+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
9498
# note: do not use amd/rust container to preserve disk space
9599
steps:
100+
- uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3
96101
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
97102
with:
98103
ref: ${{ github.event.inputs.pr_head_sha }} # will be empty if triggered by push
@@ -106,7 +111,9 @@ jobs:
106111
source $HOME/.cargo/env
107112
rustup toolchain install
108113
- name: Install Protobuf Compiler
109-
run: sudo apt-get install -y protobuf-compiler
114+
run: |
115+
sudo apt-get update
116+
sudo apt-get install -y protobuf-compiler
110117
# For debugging, test binaries can be large.
111118
- name: Show available disk space
112119
run: |
@@ -133,10 +140,11 @@ jobs:
133140
# Check answers are correct when hash values collide
134141
hash-collisions:
135142
name: cargo test hash collisions (amd64)
136-
runs-on: ubuntu-latest
143+
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m8a+m7a+c8a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
137144
container:
138145
image: amd64/rust
139146
steps:
147+
- uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3
140148
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
141149
with:
142150
ref: ${{ github.event.inputs.pr_head_sha }} # will be empty if triggered by push
@@ -154,10 +162,12 @@ jobs:
154162
155163
sqllogictest-sqlite:
156164
name: "Run sqllogictests with the sqlite test suite"
157-
runs-on: ubuntu-latest
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
158167
container:
159168
image: amd64/rust
160169
steps:
170+
- uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3
161171
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
162172
with:
163173
ref: ${{ github.event.inputs.pr_head_sha }} # will be empty if triggered by push

.github/workflows/rust.yml

Lines changed: 30 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
# specific language governing permissions and limitations
1616
# under the License.
1717

18+
# For some actions, we use Runs-On to run them on ASF infrastructure: https://datafusion.apache.org/contributor-guide/#ci-runners
19+
1820
name: Rust
1921

2022
concurrency:
@@ -45,7 +47,7 @@ jobs:
4547
# Check crate compiles and base cargo check passes
4648
linux-build-lib:
4749
name: linux build test
48-
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m7a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
50+
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' }}
4951
container:
5052
image: amd64/rust
5153
steps:
@@ -99,7 +101,7 @@ jobs:
99101
linux-datafusion-substrait-features:
100102
name: cargo check datafusion-substrait features
101103
needs: linux-build-lib
102-
runs-on: ubuntu-latest
104+
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m8a+m7a+c8a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
103105
container:
104106
image: amd64/rust
105107
steps:
@@ -136,10 +138,11 @@ jobs:
136138
linux-datafusion-proto-features:
137139
name: cargo check datafusion-proto features
138140
needs: linux-build-lib
139-
runs-on: ubuntu-latest
141+
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m8a+m7a+c8a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
140142
container:
141143
image: amd64/rust
142144
steps:
145+
- uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3
143146
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
144147
- name: Setup Rust toolchain
145148
uses: ./.github/actions/setup-builder
@@ -167,10 +170,11 @@ jobs:
167170
linux-cargo-check-datafusion:
168171
name: cargo check datafusion features
169172
needs: linux-build-lib
170-
runs-on: ubuntu-latest
173+
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m8a+m7a+c8a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
171174
container:
172175
image: amd64/rust
173176
steps:
177+
- uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3
174178
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
175179
- name: Setup Rust toolchain
176180
uses: ./.github/actions/setup-builder
@@ -267,7 +271,7 @@ jobs:
267271
linux-test:
268272
name: cargo test (amd64)
269273
needs: linux-build-lib
270-
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m7a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
274+
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m8a+m7a+c8a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
271275
container:
272276
image: amd64/rust
273277
volumes:
@@ -318,8 +322,9 @@ jobs:
318322
linux-test-datafusion-cli:
319323
name: cargo test datafusion-cli (amd64)
320324
needs: linux-build-lib
321-
runs-on: ubuntu-latest
325+
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m8a+m7a+c8a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
322326
steps:
327+
- uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3
323328
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
324329
with:
325330
submodules: true
@@ -347,10 +352,11 @@ jobs:
347352
linux-test-example:
348353
name: cargo examples (amd64)
349354
needs: linux-build-lib
350-
runs-on: ubuntu-latest
355+
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m8a+m7a+c8a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
351356
container:
352357
image: amd64/rust
353358
steps:
359+
- uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3
354360
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
355361
with:
356362
submodules: true
@@ -377,10 +383,11 @@ jobs:
377383
linux-test-doc:
378384
name: cargo test doc (amd64)
379385
needs: linux-build-lib
380-
runs-on: ubuntu-latest
386+
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m8a+m7a+c8a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
381387
container:
382388
image: amd64/rust
383389
steps:
390+
- uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3
384391
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
385392
with:
386393
submodules: true
@@ -398,10 +405,11 @@ jobs:
398405
linux-rustdoc:
399406
name: cargo doc
400407
needs: linux-build-lib
401-
runs-on: ubuntu-latest
408+
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m8a+m7a+c8a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
402409
container:
403410
image: amd64/rust
404411
steps:
412+
- uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3
405413
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
406414
- name: Setup Rust toolchain
407415
uses: ./.github/actions/setup-builder
@@ -423,7 +431,7 @@ jobs:
423431
sudo apt-get update -qq
424432
sudo apt-get install -y -qq clang
425433
- name: Setup wasm-pack
426-
uses: taiki-e/install-action@470679bc3a1580072dac4e67535d1aa3a3dcdf51 # v2.68.6
434+
uses: taiki-e/install-action@d6e286fa45544157a02d45a43742857ebbc25d12 # v2.68.16
427435
with:
428436
tool: wasm-pack
429437
- name: Run tests with headless mode
@@ -438,10 +446,11 @@ jobs:
438446
verify-benchmark-results:
439447
name: verify benchmark results (amd64)
440448
needs: linux-build-lib
441-
runs-on: ubuntu-latest
449+
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m8a+m7a+c8a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
442450
container:
443451
image: amd64/rust
444452
steps:
453+
- uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3
445454
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
446455
with:
447456
submodules: true
@@ -471,7 +480,7 @@ jobs:
471480
sqllogictest-postgres:
472481
name: "Run sqllogictest with Postgres runner"
473482
needs: linux-build-lib
474-
runs-on: ubuntu-latest
483+
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m8a+m7a+c8a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
475484
container:
476485
image: amd64/rust
477486
services:
@@ -489,6 +498,7 @@ jobs:
489498
--health-timeout 5s
490499
--health-retries 5
491500
steps:
501+
- uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3
492502
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
493503
with:
494504
submodules: true
@@ -509,10 +519,11 @@ jobs:
509519
sqllogictest-substrait:
510520
name: "Run sqllogictest in Substrait round-trip mode"
511521
needs: linux-build-lib
512-
runs-on: ubuntu-latest
522+
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m8a+m7a+c8a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
513523
container:
514524
image: amd64/rust
515525
steps:
526+
- uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3
516527
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
517528
with:
518529
submodules: true
@@ -549,7 +560,7 @@ jobs:
549560

550561
macos-aarch64:
551562
name: cargo test (macos-aarch64)
552-
runs-on: macos-14
563+
runs-on: macos-15
553564
steps:
554565
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
555566
with:
@@ -639,10 +650,11 @@ jobs:
639650
clippy:
640651
name: clippy
641652
needs: linux-build-lib
642-
runs-on: ubuntu-latest
653+
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m8a+m7a+c8a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
643654
container:
644655
image: amd64/rust
645656
steps:
657+
- uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3
646658
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
647659
with:
648660
submodules: true
@@ -685,10 +697,11 @@ jobs:
685697
config-docs-check:
686698
name: check configs.md and ***_functions.md is up-to-date
687699
needs: linux-build-lib
688-
runs-on: ubuntu-latest
700+
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m8a+m7a+c8a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
689701
container:
690702
image: amd64/rust
691703
steps:
704+
- uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3
692705
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
693706
with:
694707
submodules: true
@@ -758,7 +771,7 @@ jobs:
758771
- name: Setup Rust toolchain
759772
uses: ./.github/actions/setup-builder
760773
- name: Install cargo-msrv
761-
uses: taiki-e/install-action@470679bc3a1580072dac4e67535d1aa3a3dcdf51 # v2.68.6
774+
uses: taiki-e/install-action@d6e286fa45544157a02d45a43742857ebbc25d12 # v2.68.16
762775
with:
763776
tool: cargo-msrv
764777

0 commit comments

Comments
 (0)