alamb commented on code in PR #13876: URL: https://github.com/apache/datafusion/pull/13876#discussion_r1896174869
########## .github/actions/setup-rust-runtime/action.yaml: ########## @@ -34,5 +34,6 @@ runs: echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV echo "SCCACHE_GHA_ENABLED=true" >> $GITHUB_ENV echo "RUST_BACKTRACE=1" >> $GITHUB_ENV + echo "CARGO_INCREMENTAL=false" >> $GITHUB_ENV Review Comment: It seems like this may be redundant with the line below (or if the line below isn't working. perhaps we could remove it 🤔 ) ########## .github/workflows/rust.yml: ########## @@ -288,17 +318,20 @@ jobs: mv *.tbl ../datafusion/sqllogictest/test_files/tpch/data - name: Verify that benchmark queries return expected results run: | + # increase stack size to fix stack overflow + export RUST_MIN_STACK=20971520 Review Comment: I think we should have fixed this now with the recursive protection feature -- do we still need to set the min stack size? ########## .github/workflows/rust.yml: ########## @@ -347,21 +385,23 @@ jobs: # cd datafusion-cli # cargo test --lib --tests --bins --all-features - macos: - name: cargo test (macos) - runs-on: macos-latest - steps: - - uses: actions/checkout@v4 - with: - submodules: true - - name: Setup Rust toolchain - uses: ./.github/actions/setup-macos-builder - - name: Run tests (excluding doctests) - shell: bash - run: | - cargo test --lib --tests --bins --features avro,json,backtrace - cd datafusion-cli - cargo test --lib --tests --bins --all-features +# Commenting out intel mac build as so few users would ever use it Review Comment: maybe we can also link to https://github.com/apache/datafusion/issues/13846 ########## Cargo.toml: ########## @@ -170,6 +170,17 @@ overflow-checks = false panic = 'unwind' rpath = false +[profile.ci] +inherits = "dev" +incremental = false + +# ci turns off debug info, etc for dependencies to allow for smaller binaries making caching more effective +[profile.ci.package."*"] +debug = false Review Comment: We also found this setting particularly effective for speeding up our CI in influxdb_iox: https://doc.rust-lang.org/cargo/reference/profiles.html#debug ########## .github/actions/setup-builder/action.yaml: ########## @@ -42,6 +42,8 @@ runs: "${RETRY[@]}" rustup component add rustfmt - name: Configure rust runtime env uses: ./.github/actions/setup-rust-runtime + - name: Setup Rust cache + uses: Swatinem/rust-cache@v2 Review Comment: This is basically my only concern with the PR (using a third-party github action) I took a brief look through https://github.com/Swatinem/rust-cache and it seems like it does non trivial work (there is a lot of code) and it says: > It is also most effective for repositories with a Cargo.lock file. Library repositories with only a Cargo.toml file have limited benefits, as cargo will always use the most up-to-date dependency versions, which may not be cached. I made an experimental PR to see how much this particular action saves in terms of time: - https://github.com/apache/datafusion/pull/13889 If it doesn't save a huge amount of time, I think we should consider not using it -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org For additional commands, e-mail: github-h...@datafusion.apache.org