Skip to content

Split out datafusion-substrait and datafusion-proto CI feature checks, increase coverage #15156

New issue

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

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

Already on GitHub? # to your account

Merged
merged 6 commits into from
Mar 12, 2025

Conversation

alamb
Copy link
Contributor

@alamb alamb commented Mar 11, 2025

Which issue does this PR close?

Rationale for this change

The coverage for feature flags needs to be improved, as explained on #15155

What changes are included in this PR?

  1. Move the checks for datafusion-substrait and datafusion-proto into their own jobs
  2. Consolidate the 'no default features' check into the per-crate checks

Note I will make a follow on PR to add additional coverage for flags in datafusion-functions and datafusion but I am trying to keep this PR reasonably sized

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 11, 2025
@alamb alamb changed the title Better CI feature checks Split out datafusion-substrait and datafusion-proto CI feature checks Mar 11, 2025
#
# Ensure via `cargo check` that the crate can be built with a
# subset of the features packages enabled.
linux-datafusion-common-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.

The diff makes of hard to read but I just moved what jobs each command was run in -- the overall coverage is the same or better

run: cargo check --profile ci --all-targets --no-default-features -p datafusion-substrait
- name: Check datafusion-substrait (physical)
Copy link
Contributor Author

Choose a reason for hiding this comment

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

this adds coverage of compiling datafusion-substrait with the available feature flags

rust-version: stable
- name: Check datafusion-proto (no-default-features)
run: cargo check --profile ci --all-targets --no-default-features -p datafusion-proto
# fails due to https://github.com/apache/datafusion/issues/15157
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This adds coverage for the datafusion-proto crate, and in fact found a bug:

@alamb alamb changed the title Split out datafusion-substrait and datafusion-proto CI feature checks Split out datafusion-substrait and datafusion-proto CI feature checks, increase coverage Mar 11, 2025
@alamb alamb marked this pull request as ready for review March 11, 2025 14:57
@alamb alamb requested a review from timsaucer March 11, 2025 14:57
Copy link
Contributor

@timsaucer timsaucer left a comment

Choose a reason for hiding this comment

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

This all looks very reasonable to me and a good improvement. I left a note in the issue you raised that we will want to follow up on the commented out check.

@alamb
Copy link
Contributor Author

alamb commented Mar 11, 2025

Thank you for the review @timsaucer !

@alamb alamb changed the title Split out datafusion-substrait and datafusion-proto CI feature checks, increase coverage Minor: Split out datafusion-substrait and datafusion-proto CI feature checks, increase coverage Mar 11, 2025
@alamb alamb changed the title Minor: Split out datafusion-substrait and datafusion-proto CI feature checks, increase coverage Split out datafusion-substrait and datafusion-proto CI feature checks, increase coverage Mar 11, 2025
@alamb alamb merged commit 592fe6a into apache:main Mar 12, 2025
27 of 28 checks passed
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
development-process Related to development process of DataFusion
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants