Skip to content

Commit 3ee7e86

Browse files
committed
Improve feature flag CI coverage datafusion and datafusion-functions
1 parent 079ddb0 commit 3ee7e86

File tree

1 file changed

+52
-31
lines changed

1 file changed

+52
-31
lines changed

.github/workflows/rust.yml

Lines changed: 52 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ jobs:
8282
uses: ./.github/actions/setup-builder
8383
with:
8484
rust-version: stable
85+
- name: Check datafusion-common (default features)
86+
run: cargo check --profile ci --all-targets -p datafusion-common
8587
- name: Check datafusion-common (no-default-features)
8688
run: cargo check --profile ci --all-targets --no-default-features -p datafusion-common
8789
# Note: don't check other feature flags as datafusion-common is not typically used standalone
@@ -102,6 +104,8 @@ jobs:
102104
uses: ./.github/actions/setup-builder
103105
with:
104106
rust-version: stable
107+
- name: Check datafusion-substrait (default features)
108+
run: cargo check --profile ci --all-targets -p datafusion-substrait
105109
- name: Check datafusion-substrait (no-default-features)
106110
run: cargo check --profile ci --all-targets --no-default-features -p datafusion-substrait
107111
- name: Check datafusion-substrait (physical)
@@ -129,6 +133,8 @@ jobs:
129133
uses: ./.github/actions/setup-builder
130134
with:
131135
rust-version: stable
136+
- name: Check datafusion-proto (default features)
137+
run: cargo check --profile ci --all-targets -p datafusion-proto
132138
- name: Check datafusion-proto (no-default-features)
133139
run: cargo check --profile ci --all-targets --no-default-features -p datafusion-proto
134140
# fails due to https://github.com/apache/datafusion/issues/15157
@@ -145,7 +151,7 @@ jobs:
145151
# Ensure via `cargo check` that the crate can be built with a
146152
# subset of the features packages enabled.
147153
linux-cargo-check-datafusion:
148-
name: cargo check datafusion
154+
name: cargo check datafusion features
149155
needs: linux-build-lib
150156
runs-on: ubuntu-latest
151157
container:
@@ -156,38 +162,53 @@ jobs:
156162
uses: ./.github/actions/setup-builder
157163
with:
158164
rust-version: stable
165+
- name: Check datafusion (default features)
166+
run: cargo check --all-targets --profile ci -p datafusion
159167
- name: Check datafusion (no-default-features)
160168
# Some of the test binaries require the parquet feature still
161169
#run: cargo check --all-targets --no-default-features -p datafusion
162170
run: cargo check --profile ci --no-default-features -p datafusion
163-
164171
- name: Check datafusion (nested_expressions)
165-
run: cargo check --profile ci --no-default-features --features=nested_expressions -p datafusion
166-
167-
- name: Check datafusion (crypto)
168-
run: cargo check --profile ci --no-default-features --features=crypto_expressions -p datafusion
169-
172+
run: cargo check --profile ci --no-default-features -p datafusion --features=nested_expressions
173+
- name: Check datafusion (array_expressions)
174+
run: cargo check --profile ci --no-default-features -p datafusion --features=array_expressions
175+
- name: Check datafusion (avro)
176+
run: cargo check --profile ci --no-default-features -p datafusion --features=avro
177+
- name: Check datafusion (backtrace)
178+
run: cargo check --profile ci --no-default-features -p datafusion --features=backtrace
179+
- name: Check datafusion (compression)
180+
run: cargo check --profile ci --no-default-features -p datafusion --features=compression
181+
- name: Check datafusion (crypto_expressions)
182+
run: cargo check --profile ci --no-default-features -p datafusion --features=crypto_expressions
170183
- name: Check datafusion (datetime_expressions)
171-
run: cargo check --profile ci --no-default-features --features=datetime_expressions -p datafusion
172-
184+
run: cargo check --profile ci --no-default-features -p datafusion --features=datetime_expressions
173185
- name: Check datafusion (encoding_expressions)
174-
run: cargo check --profile ci --no-default-features --features=encoding_expressions -p datafusion
175-
186+
run: cargo check --profile ci --no-default-features -p datafusion --features=encoding_expressions
187+
- name: Check datafusion (force_hash_collisions)
188+
run: cargo check --profile ci --no-default-features -p datafusion --features=force_hash_collisions
176189
- name: Check datafusion (math_expressions)
177-
run: cargo check --profile ci --no-default-features --features=math_expressions -p datafusion
178-
190+
run: cargo check --profile ci --no-default-features -p datafusion --features=math_expressions
191+
- name: Check datafusion (parquet)
192+
run: cargo check --profile ci --no-default-features -p datafusion --features=parquet
193+
- name: Check datafusion (pyarrow)
194+
run: cargo check --profile ci --no-default-features -p datafusion --features=pyarrow
179195
- name: Check datafusion (regex_expressions)
180-
run: cargo check --profile ci --no-default-features --features=regex_expressions -p datafusion
181-
196+
run: cargo check --profile ci --no-default-features -p datafusion --features=regex_expressions
197+
- name: Check datafusion (recursive_protection)
198+
run: cargo check --profile ci --no-default-features -p datafusion --features=recursive_protection
199+
- name: Check datafusion (serde)
200+
run: cargo check --profile ci --no-default-features -p datafusion --features=serde
182201
- name: Check datafusion (string_expressions)
183-
run: cargo check --profile ci --no-default-features --features=string_expressions -p datafusion
202+
run: cargo check --profile ci --no-default-features -p datafusion --features=string_expressions
203+
- name: Check datafusion (unicode_expressions)
204+
run: cargo check --profile ci --no-default-features -p datafusion --features=unicode_expressions
184205

185206
# Check datafusion-functions crate features
186207
#
187208
# Ensure via `cargo check` that the crate can be built with a
188209
# subset of the features packages enabled.
189210
linux-cargo-check-datafusion-functions:
190-
name: cargo check functions
211+
name: cargo check datafusion-functions features
191212
needs: linux-build-lib
192213
runs-on: ubuntu-latest
193214
container:
@@ -198,26 +219,26 @@ jobs:
198219
uses: ./.github/actions/setup-builder
199220
with:
200221
rust-version: stable
222+
- name: Check datafusion-functions (default features)
223+
run: cargo check --profile ci -p datafusion-functions
201224
- name: Check datafusion-functions (no-default-features)
202-
run: cargo check --profile ci --all-targets --no-default-features -p datafusion-functions
203-
204-
- name: Check datafusion-functions (crypto)
205-
run: cargo check --profile ci --all-targets --no-default-features --features=crypto_expressions -p datafusion-functions
206-
225+
run: cargo check --profile ci --no-default-features -p datafusion-functions
226+
- name: Check datafusion-functions (core_expressions)
227+
run: cargo check --profile ci --no-default-features -p datafusion-functions --features=core_expressions
228+
- name: Check datafusion-functions (crypto_expressions)
229+
run: cargo check --profile ci --no-default-features -p datafusion-functions --features=crypto_expressions
207230
- name: Check datafusion-functions (datetime_expressions)
208-
run: cargo check --profile ci --all-targets --no-default-features --features=datetime_expressions -p datafusion-functions
209-
231+
run: cargo check --profile ci --no-default-features -p datafusion-functions --features=datetime_expressions
210232
- name: Check datafusion-functions (encoding_expressions)
211-
run: cargo check --profile ci --all-targets --no-default-features --features=encoding_expressions -p datafusion-functions
212-
233+
run: cargo check --profile ci --no-default-features -p datafusion-functions --features=encoding_expressions
213234
- name: Check datafusion-functions (math_expressions)
214-
run: cargo check --profile ci --all-targets --no-default-features --features=math_expressions -p datafusion-functions
215-
235+
run: cargo check --profile ci --no-default-features -p datafusion-functions --features=math_expressions
216236
- name: Check datafusion-functions (regex_expressions)
217-
run: cargo check --profile ci --all-targets --no-default-features --features=regex_expressions -p datafusion-functions
218-
237+
run: cargo check --profile ci --no-default-features -p datafusion-functions --features=regex_expressions
219238
- name: Check datafusion-functions (string_expressions)
220-
run: cargo check --profile ci --all-targets --no-default-features --features=string_expressions -p datafusion-functions
239+
run: cargo check --profile ci --no-default-features -p datafusion-functions --features=string_expressions
240+
- name: Check datafusion-functions (unicode_expressions)
241+
run: cargo check --profile ci --no-default-features -p datafusion-functions --features=unicode_expressions
221242

222243
# Run tests
223244
linux-test:

0 commit comments

Comments
 (0)