Skip to content

Conversation

@Wumpf
Copy link
Member

@Wumpf Wumpf commented Nov 7, 2025

I got annoyed by having two (four with _wasm variants) target folders around because of unintentionally switching between the pixi environment & "raw" invocations.

This PR removes target_pixi again and addresses the reason we introduced this in the first place: there are certain environment variables in the pixi environment that get picked up by rust build scripts.
Using CARGO_LOG=cargo::core::compiler::fingerprint=info I identified two:

The fix in both cases is to move those env vars to .cargo/config.toml. For AR that's trivial, for CONDA_PREFIX not so much! Every pixi environment has its own conda prefix (and yes that would also cause rebuilds between pixi environments!). So instead I'm setting PYO3_PYTHON which directly governs which python install pyo3 uses for linking. Here be dragons (a little bit ;-)): This means we no longer fix the python version used and instead rely on whatever python points to.

things I tried to verify this:

  • pixi run cargo check & cargo check not causing to rebuild each other
  • clean pixi environment, then run pixi run py-build then execute some script that needs a Rerun install
  • macos web build via pixi run rerun-web
  • full-ci

out of pragmatism I left the pixi target folder in git & prettier ignore lists 🤷

@Wumpf Wumpf added the 🧑‍💻 dev experience developer experience (excluding CI) label Nov 7, 2025
@Wumpf
Copy link
Member Author

Wumpf commented Nov 7, 2025

@rerun-bot full-check

@github-actions
Copy link

github-actions bot commented Nov 7, 2025

Web viewer built successfully.

Result Commit Link Manifest
4f9afa0 https://rerun.io/viewer/pr/11826 +nightly +main

View image diff on kitdiff.

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

@github-actions
Copy link

github-actions bot commented Nov 7, 2025

Latest documentation preview deployed successfully.

Result Commit Link
4f9afa0 https://landing-dlh7gd15s-rerun.vercel.app/docs

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

@github-actions
Copy link

github-actions bot commented Nov 7, 2025

Started a full build: https://github.com/rerun-io/rerun/actions/runs/19175265974

@Wumpf Wumpf added the exclude from changelog PRs with this won't show up in CHANGELOG.md label Nov 7, 2025
@Wumpf Wumpf changed the title Move re-build causing env vars to .cargo config.toml, remove target_pixi again Move re-build causing env vars to .cargoconfig.toml, remove target_pixi again Nov 7, 2025
@Wumpf Wumpf changed the title Move re-build causing env vars to .cargoconfig.toml, remove target_pixi again Remove target_pixi again & address env var changes that caused rebuilds Nov 7, 2025
@Wumpf Wumpf marked this pull request as ready for review November 7, 2025 17:06
# https://pyo3.rs/main/building-and-distribution.html#configuring-the-python-version
PYO3_PYTHON = "python"

# TODO(rust-lang/stacker#127): Work around until wasm build on mac is resolved
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly an FYI that stacker took my PR. Doing a cargo tree --invert stacker shows that everything depends on it indirectly through recursive which doesn't pin the patch version. That means on the next build of datafusion > 50.3 we should no longer need the AR workaround.

Copy link
Member

@emilk emilk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nicely done!

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) exclude from changelog PRs with this won't show up in CHANGELOG.md

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants