9999 rust-version : stable
100100 - name : Run tests (excluding doctests)
101101 run : cargo test --lib --tests --bins --features avro,json,backtrace
102+ env :
103+ # do not produce debug symbols to keep memory usage down
104+ # hardcoding other profile params to avoid profile override values
105+ # More on Cargo profiles https://doc.rust-lang.org/cargo/reference/profiles.html?profile-settings#profile-settings
106+ RUSTFLAGS : " -C debuginfo=0 -C opt-level=0 -C incremental=false -C codegen-units=256"
107+ RUST_BACKTRACE : " 1"
108+ # avoid rust stack overflows on tpc-ds tests
109+ RUST_MINSTACK : " 3000000"
102110 - name : Verify Working Directory Clean
103111 run : git diff --exit-code
104112
@@ -290,6 +298,7 @@ jobs:
290298 # with a OS-dependent path.
291299 - name : Setup Rust toolchain
292300 run : |
301+ rustup update stable
293302 rustup toolchain install stable
294303 rustup default stable
295304 rustup component add rustfmt
@@ -302,9 +311,13 @@ jobs:
302311 cargo test --lib --tests --bins --all-features
303312 env :
304313 # do not produce debug symbols to keep memory usage down
305- RUSTFLAGS : " -C debuginfo=0"
314+ # use higher optimization level to overcome Windows rust slowness for tpc-ds
315+ # and speed builds: https://github.com/apache/arrow-datafusion/issues/8696
316+ # Cargo profile docs https://doc.rust-lang.org/cargo/reference/profiles.html?profile-settings#profile-settings
317+ RUSTFLAGS : " -C debuginfo=0 -C opt-level=1 -C target-feature=+crt-static -C incremental=false -C codegen-units=256"
306318 RUST_BACKTRACE : " 1"
307-
319+ # avoid rust stack overflows on tpc-ds tests
320+ RUST_MINSTACK : " 3000000"
308321 macos :
309322 name : cargo test (mac)
310323 runs-on : macos-latest
@@ -327,6 +340,7 @@ jobs:
327340 # with a OS-dependent path.
328341 - name : Setup Rust toolchain
329342 run : |
343+ rustup update stable
330344 rustup toolchain install stable
331345 rustup default stable
332346 rustup component add rustfmt
@@ -338,8 +352,12 @@ jobs:
338352 cargo test --lib --tests --bins --all-features
339353 env :
340354 # do not produce debug symbols to keep memory usage down
341- RUSTFLAGS : " -C debuginfo=0"
355+ # hardcoding other profile params to avoid profile override values
356+ # More on Cargo profiles https://doc.rust-lang.org/cargo/reference/profiles.html?profile-settings#profile-settings
357+ RUSTFLAGS : " -C debuginfo=0 -C opt-level=0 -C incremental=false -C codegen-units=256"
342358 RUST_BACKTRACE : " 1"
359+ # avoid rust stack overflows on tpc-ds tests
360+ RUST_MINSTACK : " 3000000"
343361
344362 test-datafusion-pyarrow :
345363 name : cargo test pyarrow (amd64)
0 commit comments