Skip to content

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

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 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in 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