Skip to content

Conversation

emilk
Copy link
Member

@emilk emilk commented Aug 18, 2025

Problem

We have many crates.
They depend on 3rd party crates, with different combination of feature flags.
Depending on what target we build for (which binary, or test, etc) different feature flags gets enabled for those 3rd party crates. If they are not EXACTLY THE SAME as THE LAST TIME you compiled, they will be recompiled from scratch (I'm looking at you, datafusion).

The solution

Enter re_workspace_hack:

  • It depends on ALL our 3rd party crates with all features we need anywhere enabled
  • All our crates depend on re_workspace_hack
  • We remove the dependencies on re_workspace_hack just before cargo publish

Maintaining this would be hell… except we have https://crates.io/crates/cargo-hakari

TODO

  • Disable re_workspace_hack in rust_checks.py
  • @rerun-bot full-check

@emilk emilk added the 🧑‍💻 dev experience developer experience (excluding CI) label Aug 18, 2025
Copy link

github-actions bot commented Aug 18, 2025

Web viewer built successfully. If applicable, you should also test it:

  • I have tested the web viewer
Result Commit Link Manifest
7d537c3 https://rerun.io/viewer/pr/10933 +nightly +main

Note: This comment is updated whenever you push a commit.

Copy link

github-actions bot commented Aug 18, 2025

Latest documentation preview deployed successfully.

Result Commit Link
7d537c3 https://landing-i2phmbaom-rerun.vercel.app/docs

Note: This comment is updated whenever you push a commit.

@emilk emilk force-pushed the emilk/cargo-workspace-hack branch from 3bb8d7d to 5053b23 Compare August 24, 2025 15:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🧑‍💻 dev experience developer experience (excluding CI)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant