Skip to content

Conversation

kevinzwang
Copy link
Member

@kevinzwang kevinzwang commented Sep 4, 2025

Changes Made

We currently use MacOS to run unit tests in PRs because we had an issue with getting Rust code coverage in Ubuntu 22.04. The latest Rust toolchain no longer has this issue, so this PR updates the rust toolchain to the latest nightly and moves the code coverage tests to Ubuntu.

The vast majority of the diff here is just linting and lifetime fixes due to the upgrade to the latest nightly Rust + 2024 edition. The rest of the changes are as follows:

  • moving the code coverage tests in .github/workflows/pr-test-suite.yml to Ubuntu as described above
    • it was failing due to out of disk space so I also added a disk space remover action
  • update our Rust versions in rust-toolchain.toml and Cargo.toml
  • use hashbrown::HashMap instead of std::HashMap because raw_entry_mut was removed from the standard library

Related Issues

#3801

Checklist

  • Documented in API Docs (if applicable)
  • Documented in User Guide (if applicable)
  • If adding a new documentation page, doc is added to docs/mkdocs.yml navigation
  • Documentation builds and is formatted properly (tag @/ccmao1130 for docs review)

@github-actions github-actions bot added the ci label Sep 4, 2025
Copy link

codspeed-hq bot commented Sep 4, 2025

CodSpeed Performance Report

Merging #5142 will improve performances by 20.1%

Comparing kevin/ubuntu-codecov (5ce28c7) with main (d321b39)1

Summary

⚡ 8 improvements
✅ 16 untouched benchmarks

Benchmarks breakdown

Benchmark BASE HEAD Change
test_count[100 Small Files] 63.1 ms 56 ms +12.55%
test_explain[100 Small Files] 14.3 ms 11.9 ms +20.1%
test_tpch[1-in-memory-4] 98.5 ms 87.3 ms +12.76%
test_tpch[1-in-memory-5] 148.3 ms 133.9 ms +10.76%
test_tpch[1-in-memory-8] 166.1 ms 149.8 ms +10.85%
test_tpch_sql[1-in-memory-4] 99.5 ms 88.8 ms +12.14%
test_tpch_sql[1-in-memory-5] 134.2 ms 121.6 ms +10.42%
test_tpch_sql[1-in-memory-8] 151.5 ms 135.2 ms +12.04%

Footnotes

  1. No successful run was found on main (98551c4) during the generation of this report, so d321b39 was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

@kevinzwang kevinzwang marked this pull request as ready for review September 5, 2025 00:55
@kevinzwang kevinzwang enabled auto-merge (squash) September 5, 2025 01:42
@kevinzwang kevinzwang merged commit 2e7a6f7 into main Sep 5, 2025
39 checks passed
@kevinzwang kevinzwang deleted the kevin/ubuntu-codecov branch September 5, 2025 02:45
Copy link

codecov bot commented Sep 5, 2025

Codecov Report

❌ Patch coverage is 46.42032% with 232 lines in your changes missing coverage. Please review.
✅ Project coverage is 74.27%. Comparing base (98551c4) to head (5ce28c7).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
src/common/scan-info/src/expr_rewriter.rs 6.52% 43 Missing ⚠️
...daft-distributed/src/statistics/http_subscriber.rs 6.66% 28 Missing ⚠️
src/daft-core/src/array/ops/from_arrow.rs 55.31% 21 Missing ⚠️
src/daft-core/src/datatypes/agg_ops.rs 0.00% 12 Missing ⚠️
src/daft-core/src/datatypes/infer_datatype.rs 0.00% 12 Missing ⚠️
src/daft-dsl/src/functions/agg/mod.rs 0.00% 12 Missing ⚠️
src/common/display/src/table_display.rs 50.00% 9 Missing ⚠️
src/daft-core/src/array/ops/cast.rs 50.00% 8 Missing ⚠️
src/daft-core/src/array/struct_array.rs 42.85% 8 Missing ⚠️
src/common/tracing/src/lib.rs 12.50% 7 Missing ⚠️
... and 34 more
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #5142      +/-   ##
==========================================
+ Coverage   71.90%   74.27%   +2.37%     
==========================================
  Files         953      955       +2     
  Lines      130550   123001    -7549     
==========================================
- Hits        93868    91361    -2507     
+ Misses      36682    31640    -5042     
Files with missing lines Coverage Δ
src/common/arrow-ffi/src/lib.rs 94.50% <100.00%> (-4.76%) ⬇️
src/common/daft-config/src/lib.rs 72.64% <ø> (+2.64%) ⬆️
src/common/display/src/ascii.rs 91.46% <ø> (-1.09%) ⬇️
src/common/display/src/mermaid.rs 87.69% <ø> (-3.62%) ⬇️
src/common/file-formats/src/file_format_config.rs 41.11% <ø> (-6.26%) ⬇️
src/common/file-formats/src/python.rs 36.50% <ø> (-2.89%) ⬇️
src/common/image/src/cow_image.rs 73.83% <100.00%> (-0.25%) ⬇️
src/common/io-config/src/config.rs 100.00% <ø> (ø)
src/common/io-config/src/lib.rs 53.12% <ø> (+0.18%) ⬆️
src/common/io-config/src/s3.rs 75.60% <ø> (-3.99%) ⬇️
... and 269 more

... and 444 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

venkateshdb added a commit to venkateshdb/Daft that referenced this pull request Sep 6, 2025
We currently use MacOS to run unit tests in PRs because we had an issue
with getting Rust code coverage in Ubuntu 22.04. The latest Rust
toolchain no longer has this issue, so this PR updates the rust
toolchain to the latest nightly and moves the code coverage tests to
Ubuntu.

The vast majority of the diff here is just linting and lifetime fixes
due to the upgrade to the latest nightly Rust + 2024 edition. The rest
of the changes are as follows:
- moving the code coverage tests in
`.github/workflows/pr-test-suite.yml` to Ubuntu as described above
- it was failing due to out of disk space so I also added a disk space
remover action
- update our Rust versions in `rust-toolchain.toml` and `Cargo.toml`
- use `hashbrown::HashMap` instead of `std::HashMap` because
`raw_entry_mut` was removed from the standard library

Eventual-Inc#3801

- [x] Documented in API Docs (if applicable)
- [x] Documented in User Guide (if applicable)
- [x] If adding a new documentation page, doc is added to
`docs/mkdocs.yml` navigation
- [x] Documentation builds and is formatted properly (tag @/ccmao1130
for docs review)
venkateshdb added a commit to venkateshdb/Daft that referenced this pull request Sep 6, 2025
We currently use MacOS to run unit tests in PRs because we had an issue
with getting Rust code coverage in Ubuntu 22.04. The latest Rust
toolchain no longer has this issue, so this PR updates the rust
toolchain to the latest nightly and moves the code coverage tests to
Ubuntu.

The vast majority of the diff here is just linting and lifetime fixes
due to the upgrade to the latest nightly Rust + 2024 edition. The rest
of the changes are as follows:
- moving the code coverage tests in
`.github/workflows/pr-test-suite.yml` to Ubuntu as described above
- it was failing due to out of disk space so I also added a disk space
remover action
- update our Rust versions in `rust-toolchain.toml` and `Cargo.toml`
- use `hashbrown::HashMap` instead of `std::HashMap` because
`raw_entry_mut` was removed from the standard library

Eventual-Inc#3801

- [x] Documented in API Docs (if applicable)
- [x] Documented in User Guide (if applicable)
- [x] If adding a new documentation page, doc is added to
`docs/mkdocs.yml` navigation
- [x] Documentation builds and is formatted properly (tag @/ccmao1130
for docs review)
kevinzwang added a commit that referenced this pull request Sep 9, 2025
## Changes Made

Follow-up to #5142 to add the mac tests back for commits on the main
branch.

## Related Issues

<!-- Link to related GitHub issues, e.g., "Closes #123" -->

## Checklist

- [ ] Documented in API Docs (if applicable)
- [ ] Documented in User Guide (if applicable)
- [ ] If adding a new documentation page, doc is added to
`docs/mkdocs.yml` navigation
- [ ] Documentation builds and is formatted properly (tag @/ccmao1130
for docs review)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants