4545 name : Check License Header
4646 steps :
4747 - uses : actions/checkout@v4
48- - uses : korandoru/hawkeye@v5
48+ - uses : korandoru/hawkeye@v6
4949
5050 # Check crate compiles and base cargo check passes
5151 linux-build-lib :
6060 with :
6161 rust-version : stable
6262 - name : Prepare cargo build
63- run : cargo check --profile ci --all-targets
63+ run : |
64+ # Adding `--locked` here to assert that the `Cargo.lock` file is up to
65+ # date with the manifest. When this fails, please make sure to commit
66+ # the changes to `Cargo.lock` after building with the updated manifest.
67+ cargo check --profile ci --workspace --all-targets --features integration-tests --locked
6468
6569 # cargo check common, functions and substrait with no default features
6670 linux-cargo-check-no-default-features :
9296 - name : Check workspace in debug mode
9397 run : cargo check --profile ci --all-targets --workspace
9498
95- - name : Check workspace with avro,json features
96- run : cargo check --profile ci --workspace --benches --features avro,json
97-
98- - name : Check Cargo.lock for datafusion-cli
99- run : |
100- # If this test fails, try running `cargo update` in the `datafusion-cli` directory
101- # and check in the updated Cargo.lock file.
102- cargo check --profile ci --manifest-path datafusion-cli/Cargo.toml --locked
99+ - name : Check workspace with additional features
100+ run : cargo check --profile ci --workspace --benches --features avro,json,integration-tests
103101
104102 # cargo check datafusion to ensure that the datafusion crate can be built with only a
105103 # subset of the function packages enabled.
@@ -185,29 +183,7 @@ jobs:
185183 with :
186184 rust-version : stable
187185 - name : Run tests (excluding doctests)
188- run : cargo test --profile ci --exclude datafusion-examples --exclude datafusion-benchmarks --workspace --lib --tests --bins --features avro,json,backtrace
189- - name : Verify Working Directory Clean
190- run : git diff --exit-code
191-
192- linux-test-datafusion-cli :
193- name : cargo test datafusion-cli (amd64)
194- needs : linux-build-lib
195- runs-on : ubuntu-latest
196- container :
197- image : amd64/rust
198- steps :
199- - uses : actions/checkout@v4
200- with :
201- submodules : true
202- fetch-depth : 1
203- - name : Setup Rust toolchain
204- uses : ./.github/actions/setup-builder
205- with :
206- rust-version : stable
207- - name : Run tests (excluding doctests)
208- run : |
209- cd datafusion-cli
210- cargo test --profile ci --lib --tests --bins --all-features
186+ run : cargo test --profile ci --exclude datafusion-examples --exclude ffi_example_table_provider --exclude datafusion-benchmarks --workspace --lib --tests --bins --features avro,json,backtrace,integration-tests
211187 - name : Verify Working Directory Clean
212188 run : git diff --exit-code
213189
@@ -252,10 +228,7 @@ jobs:
252228 with :
253229 rust-version : stable
254230 - name : Run doctests
255- run : |
256- cargo test --profile ci --doc --features avro,json
257- cd datafusion-cli
258- cargo test --profile ci --doc --all-features
231+ run : cargo test --profile ci --doc --features avro,json
259232 - name : Verify Working Directory Clean
260233 run : git diff --exit-code
261234
@@ -364,45 +337,40 @@ jobs:
364337 POSTGRES_HOST : postgres
365338 POSTGRES_PORT : ${{ job.services.postgres.ports[5432] }}
366339
367- # Temporarily commenting out the Windows flow, the reason is enormously slow running build
368- # Waiting for new Windows 2025 github runner
369- # Details: https://github.com/apache/datafusion/issues/13726
370- #
371- # windows:
372- # name: cargo test (win64)
373- # runs-on: windows-latest
374- # steps:
375- # - uses: actions/checkout@v4
376- # with:
377- # submodules: true
378- # - name: Setup Rust toolchain
379- # uses: ./.github/actions/setup-windows-builder
380- # - name: Run tests (excluding doctests)
381- # shell: bash
382- # run: |
383- # export PATH=$PATH:$HOME/d/protoc/bin
384- # cargo test --lib --tests --bins --features avro,json,backtrace
385- # cd datafusion-cli
386- # cargo test --lib --tests --bins --all-features
387-
388- # Commenting out intel mac build as so few users would ever use it
389- # Details: https://github.com/apache/datafusion/issues/13846
390- # macos:
391- # name: cargo test (macos)
392- # runs-on: macos-latest
393- # steps:
394- # - uses: actions/checkout@v4
395- # with:
396- # submodules: true
397- # fetch-depth: 1
398- # - name: Setup Rust toolchain
399- # uses: ./.github/actions/setup-macos-builder
400- # - name: Run tests (excluding doctests)
401- # shell: bash
402- # run: |
403- # cargo test run --profile ci --exclude datafusion-examples --exclude datafusion-benchmarks --workspace --lib --tests --bins --features avro,json,backtrace
404- # cd datafusion-cli
405- # cargo test run --profile ci --lib --tests --bins --all-features
340+ # Temporarily commenting out the Windows flow, the reason is enormously slow running build
341+ # Waiting for new Windows 2025 github runner
342+ # Details: https://github.com/apache/datafusion/issues/13726
343+ #
344+ # windows:
345+ # name: cargo test (win64)
346+ # runs-on: windows-latest
347+ # steps:
348+ # - uses: actions/checkout@v4
349+ # with:
350+ # submodules: true
351+ # - name: Setup Rust toolchain
352+ # uses: ./.github/actions/setup-windows-builder
353+ # - name: Run tests (excluding doctests)
354+ # shell: bash
355+ # run: |
356+ # export PATH=$PATH:$HOME/d/protoc/bin
357+ # cargo test --lib --tests --bins --features avro,json,backtrace
358+
359+ # Commenting out intel mac build as so few users would ever use it
360+ # Details: https://github.com/apache/datafusion/issues/13846
361+ # macos:
362+ # name: cargo test (macos)
363+ # runs-on: macos-latest
364+ # steps:
365+ # - uses: actions/checkout@v4
366+ # with:
367+ # submodules: true
368+ # fetch-depth: 1
369+ # - name: Setup Rust toolchain
370+ # uses: ./.github/actions/setup-macos-builder
371+ # - name: Run tests (excluding doctests)
372+ # shell: bash
373+ # run: cargo test run --profile ci --exclude datafusion-examples --exclude datafusion-benchmarks --workspace --lib --tests --bins --features avro,json,backtrace
406374
407375 macos-aarch64 :
408376 name : cargo test (macos-aarch64)
@@ -416,10 +384,7 @@ jobs:
416384 uses : ./.github/actions/setup-macos-aarch64-builder
417385 - name : Run tests (excluding doctests)
418386 shell : bash
419- run : |
420- cargo test --profile ci --lib --tests --bins --features avro,json,backtrace
421- cd datafusion-cli
422- cargo test --profile ci --lib --tests --bins --all-features
387+ run : cargo test --profile ci --lib --tests --bins --features avro,json,backtrace,integration-tests
423388
424389 test-datafusion-pyarrow :
425390 name : cargo test pyarrow (amd64)
@@ -615,19 +580,19 @@ jobs:
615580 # (Min Supported Rust Version) than the one specified in the
616581 # `rust-version` key of `Cargo.toml`.
617582 #
618- # To reproduce:
619- # 1. Install the version of Rust that is failing. Example:
583+ # To reproduce:
584+ # 1. Install the version of Rust that is failing. Example:
620585 # rustup install 1.80.1
621586 # 2. Run the command that failed with that version. Example:
622587 # cargo +1.80.1 check -p datafusion
623- #
588+ #
624589 # To resolve, either:
625- # 1. Change your code to use older Rust features,
590+ # 1. Change your code to use older Rust features,
626591 # 2. Revert dependency update
627592 # 3. Update the MSRV version in `Cargo.toml`
628593 #
629594 # Please see the DataFusion Rust Version Compatibility Policy before
630- # updating Cargo.toml. You may have to update the code instead.
595+ # updating Cargo.toml. You may have to update the code instead.
631596 # https://github.com/apache/datafusion/blob/main/README.md#rust-version-compatibility-policy
632597 cargo msrv --output-format json --log-target stdout verify
633598 - name : Check datafusion-substrait
@@ -636,6 +601,3 @@ jobs:
636601 - name : Check datafusion-proto
637602 working-directory : datafusion/proto
638603 run : cargo msrv --output-format json --log-target stdout verify
639- - name : Check datafusion-cli
640- working-directory : datafusion-cli
641- run : cargo msrv --output-format json --log-target stdout verify
0 commit comments