Skip to content

Commit 93da699

Browse files
authored
[CI] Improve windows machine CI test time (#8730)
* Test WIN64 CI * Test WIN64 CI * Test WIN64 CI * Test WIN64 CI * Adding incremental compilation * Adding codegen units * Try without opt-level * set opt level only for win machines * set opt level only for win machines. remove incremental compile * update comments
1 parent 1179a76 commit 93da699

1 file changed

Lines changed: 21 additions & 3 deletions

File tree

.github/workflows/rust.yml

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,14 @@ jobs:
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

Comments
 (0)