Skip to content

Improve feature flag CI coverage datafusion and datafusion-functions #15203

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Mar 17, 2025

Conversation

alamb
Copy link
Contributor

@alamb alamb commented Mar 13, 2025

Which issue does this PR close?

Rationale for this change

I reviewed the CI coverage for datafusion's (many!) feature flag and it is haphazard -- for example it was not clear where to add a test for #15124

What changes are included in this PR?

  1. I reviewed and ensured there is full feature flag coverage for the datafusion and datafusion-functions crate

Are these changes tested?

Are there any user-facing changes?

@github-actions github-actions bot added the development-process Related to development process of DataFusion label Mar 13, 2025
@@ -82,6 +82,8 @@ jobs:
uses: ./.github/actions/setup-builder
with:
rust-version: stable
- name: Check datafusion-common (default features)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there was no check for default set of features (even the tests run with avro, etc) so I added that

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good finding!

@alamb alamb changed the title Improve feature flag CI coverage datafusion and datafusion-functions Improve feature flag CI coverage datafusion and datafusion-functions, remove core_expressions feature Mar 13, 2025
@github-actions github-actions bot added the functions Changes to functions implementation label Mar 13, 2025
@alamb alamb force-pushed the alamb/features2 branch from a02b1be to 18de2aa Compare March 13, 2025 15:12
@github-actions github-actions bot removed the functions Changes to functions implementation label Mar 13, 2025
@alamb alamb changed the title Improve feature flag CI coverage datafusion and datafusion-functions, remove core_expressions feature Improve feature flag CI coverage datafusion and datafusion-functions Mar 13, 2025
@github-actions github-actions bot added the core Core DataFusion crate label Mar 13, 2025
- name: Check datafusion-substrait (no-default-features)
run: cargo check --profile ci --all-targets --no-default-features -p datafusion-substrait
#
# Note: Only check libraries (not --all-targets) to cover end user APIs
Copy link
Contributor Author

@alamb alamb Mar 13, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The idea is to test only --all-targets for the default features (what a developer would likely run), otherwise the CI will just verify that a user of the crate can compile things rather than check all tests and benches too

@alamb alamb force-pushed the alamb/features2 branch from feaa790 to e31b779 Compare March 13, 2025 16:01
@alamb alamb marked this pull request as ready for review March 13, 2025 16:21
@alamb
Copy link
Contributor Author

alamb commented Mar 13, 2025

@xudong963 I wonder if you have some time to review this PR?

Copy link
Member

@xudong963 xudong963 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for late, LGTM

@alamb
Copy link
Contributor Author

alamb commented Mar 17, 2025

Thank you for the review @xudong963 -- much apprecaited

alamb added a commit to alamb/datafusion that referenced this pull request Mar 17, 2025
@alamb alamb merged commit 1d0c9cb into apache:main Mar 17, 2025
4 checks passed
@alamb alamb deleted the alamb/features2 branch March 17, 2025 15:35
acking-you pushed a commit to acking-you/arrow-datafusion that referenced this pull request Mar 27, 2025
acking-you pushed a commit to acking-you/arrow-datafusion that referenced this pull request Mar 28, 2025
acking-you pushed a commit to acking-you/arrow-datafusion that referenced this pull request Mar 29, 2025
acking-you pushed a commit to acking-you/arrow-datafusion that referenced this pull request Mar 29, 2025
acking-you pushed a commit to acking-you/arrow-datafusion that referenced this pull request Mar 31, 2025
acking-you pushed a commit to acking-you/arrow-datafusion that referenced this pull request Mar 31, 2025
acking-you pushed a commit to acking-you/arrow-datafusion that referenced this pull request Apr 7, 2025
acking-you pushed a commit to acking-you/arrow-datafusion that referenced this pull request Apr 7, 2025
alamb added a commit that referenced this pull request Apr 8, 2025
* [draft] add shot circuit in BinaryExpr

* refactor: add check_short_circuit function

* refactor: change if condition to match

* feat: Add support for --mem-pool-type and --memory-limit options to multiple benchmarks (#14642)

* Add support --mem-pool-type and --memory-limit options for all benchmarks

* Add --sort-spill-reservation-bytes option

* Chore/Add additional FFI unit tests (#14802)

* Add unit tests to FFI_ExecutionPlan

* Add unit tests for FFI table source

* Add round trip tests for volatility

* Add unit tests for FFI insert op

* Simplify string generation in unit test

Co-authored-by: Andrew Lamb <[email protected]>

* Fix drop of borrowed value

---------

Co-authored-by: Andrew Lamb <[email protected]>

* Improve feature flag CI coverage `datafusion` and `datafusion-functions` (#15203)

* add extend sql & docs

* feat: Add support for --mem-pool-type and --memory-limit options to multiple benchmarks (#14642)

* Add support --mem-pool-type and --memory-limit options for all benchmarks

* Add --sort-spill-reservation-bytes option

* Chore/Add additional FFI unit tests (#14802)

* Add unit tests to FFI_ExecutionPlan

* Add unit tests for FFI table source

* Add round trip tests for volatility

* Add unit tests for FFI insert op

* Simplify string generation in unit test

Co-authored-by: Andrew Lamb <[email protected]>

* Fix drop of borrowed value

---------

Co-authored-by: Andrew Lamb <[email protected]>

* Improve feature flag CI coverage `datafusion` and `datafusion-functions` (#15203)

* fix: incorrect false judgment

* add test

* separate q6 to new PR

* feat: Add support for --mem-pool-type and --memory-limit options to multiple benchmarks (#14642)

* Add support --mem-pool-type and --memory-limit options for all benchmarks

* Add --sort-spill-reservation-bytes option

* Chore/Add additional FFI unit tests (#14802)

* Add unit tests to FFI_ExecutionPlan

* Add unit tests for FFI table source

* Add round trip tests for volatility

* Add unit tests for FFI insert op

* Simplify string generation in unit test

Co-authored-by: Andrew Lamb <[email protected]>

* Fix drop of borrowed value

---------

Co-authored-by: Andrew Lamb <[email protected]>

* Improve feature flag CI coverage `datafusion` and `datafusion-functions` (#15203)

* feat: Add support for --mem-pool-type and --memory-limit options to multiple benchmarks (#14642)

* Add support --mem-pool-type and --memory-limit options for all benchmarks

* Add --sort-spill-reservation-bytes option

* Chore/Add additional FFI unit tests (#14802)

* Add unit tests to FFI_ExecutionPlan

* Add unit tests for FFI table source

* Add round trip tests for volatility

* Add unit tests for FFI insert op

* Simplify string generation in unit test

Co-authored-by: Andrew Lamb <[email protected]>

* Fix drop of borrowed value

---------

Co-authored-by: Andrew Lamb <[email protected]>

* Improve feature flag CI coverage `datafusion` and `datafusion-functions` (#15203)

* add benchmark for boolean_op

* fix cargo doc

* add binary_op bench

* Better comments

---------

Co-authored-by: Kristin Cowalcijk <[email protected]>
Co-authored-by: Tim Saucer <[email protected]>
Co-authored-by: Andrew Lamb <[email protected]>
nirnayroy pushed a commit to nirnayroy/datafusion that referenced this pull request May 2, 2025
* [draft] add shot circuit in BinaryExpr

* refactor: add check_short_circuit function

* refactor: change if condition to match

* feat: Add support for --mem-pool-type and --memory-limit options to multiple benchmarks (apache#14642)

* Add support --mem-pool-type and --memory-limit options for all benchmarks

* Add --sort-spill-reservation-bytes option

* Chore/Add additional FFI unit tests (apache#14802)

* Add unit tests to FFI_ExecutionPlan

* Add unit tests for FFI table source

* Add round trip tests for volatility

* Add unit tests for FFI insert op

* Simplify string generation in unit test

Co-authored-by: Andrew Lamb <[email protected]>

* Fix drop of borrowed value

---------

Co-authored-by: Andrew Lamb <[email protected]>

* Improve feature flag CI coverage `datafusion` and `datafusion-functions` (apache#15203)

* add extend sql & docs

* feat: Add support for --mem-pool-type and --memory-limit options to multiple benchmarks (apache#14642)

* Add support --mem-pool-type and --memory-limit options for all benchmarks

* Add --sort-spill-reservation-bytes option

* Chore/Add additional FFI unit tests (apache#14802)

* Add unit tests to FFI_ExecutionPlan

* Add unit tests for FFI table source

* Add round trip tests for volatility

* Add unit tests for FFI insert op

* Simplify string generation in unit test

Co-authored-by: Andrew Lamb <[email protected]>

* Fix drop of borrowed value

---------

Co-authored-by: Andrew Lamb <[email protected]>

* Improve feature flag CI coverage `datafusion` and `datafusion-functions` (apache#15203)

* fix: incorrect false judgment

* add test

* separate q6 to new PR

* feat: Add support for --mem-pool-type and --memory-limit options to multiple benchmarks (apache#14642)

* Add support --mem-pool-type and --memory-limit options for all benchmarks

* Add --sort-spill-reservation-bytes option

* Chore/Add additional FFI unit tests (apache#14802)

* Add unit tests to FFI_ExecutionPlan

* Add unit tests for FFI table source

* Add round trip tests for volatility

* Add unit tests for FFI insert op

* Simplify string generation in unit test

Co-authored-by: Andrew Lamb <[email protected]>

* Fix drop of borrowed value

---------

Co-authored-by: Andrew Lamb <[email protected]>

* Improve feature flag CI coverage `datafusion` and `datafusion-functions` (apache#15203)

* feat: Add support for --mem-pool-type and --memory-limit options to multiple benchmarks (apache#14642)

* Add support --mem-pool-type and --memory-limit options for all benchmarks

* Add --sort-spill-reservation-bytes option

* Chore/Add additional FFI unit tests (apache#14802)

* Add unit tests to FFI_ExecutionPlan

* Add unit tests for FFI table source

* Add round trip tests for volatility

* Add unit tests for FFI insert op

* Simplify string generation in unit test

Co-authored-by: Andrew Lamb <[email protected]>

* Fix drop of borrowed value

---------

Co-authored-by: Andrew Lamb <[email protected]>

* Improve feature flag CI coverage `datafusion` and `datafusion-functions` (apache#15203)

* add benchmark for boolean_op

* fix cargo doc

* add binary_op bench

* Better comments

---------

Co-authored-by: Kristin Cowalcijk <[email protected]>
Co-authored-by: Tim Saucer <[email protected]>
Co-authored-by: Andrew Lamb <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core Core DataFusion crate development-process Related to development process of DataFusion
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Improved CI test coverage for rust features
2 participants