Skip to content

Conversation

P1n3appl3
Copy link
Contributor

We've been considering removing workspace-hack for a couple reasons:

  • Lukas ran into a situation where its build script seemed to be causing spurious rebuilds. This seems more likely to be a cargo bug than an issue with workspace-hack itself (given that it has an empty build script), but we don't necessarily want to take the time to hunt that down right now.
  • Marshall mentioned hakari interacts poorly with automated crate updates (in our case provided by rennovate) because you'd need to have cargo hakari generate && cargo hakari manage-deps after their changes and we prefer to not have actions that make commits.

Currently removing workspace-hack causes our workspace to grow from ~1700 to ~2000 crates being built (depending on platform), which is mainly a problem when you're building the whole workspace or running tests across the the normal and remote binaries (which is where feature-unification nets us the most sharing). It doesn't impact incremental times noticeably when you're just iterating on -p zed, and we'll hopefully get these savings back in the future when rust-lang/cargo#14774 (which re-implements the functionality of hakari) is finished.

Release Notes:

  • N/A

@cla-bot cla-bot bot added the cla-signed The user has signed the Contributor License Agreement label Oct 14, 2025
@Veykril Veykril marked this pull request as ready for review October 16, 2025 07:16
@Veykril
Copy link
Member

Veykril commented Oct 16, 2025

Let's land this and see if the issue disappears with that for now.

@Veykril Veykril enabled auto-merge (squash) October 16, 2025 07:16
@P1n3appl3 P1n3appl3 force-pushed the remove-workspace-hack branch from c1af15d to d403131 Compare October 16, 2025 15:43
@Veykril Veykril disabled auto-merge October 16, 2025 16:10
@Veykril Veykril closed this Oct 16, 2025
@Veykril Veykril reopened this Oct 16, 2025
@Veykril Veykril enabled auto-merge (squash) October 16, 2025 16:10
@P1n3appl3 P1n3appl3 force-pushed the remove-workspace-hack branch from 856a954 to 6d08ffb Compare October 16, 2025 20:46
@P1n3appl3 P1n3appl3 force-pushed the remove-workspace-hack branch from 7feac0c to ad9ea86 Compare October 17, 2025 17:18
@Veykril Veykril merged commit ef5b8c6 into main Oct 17, 2025
23 checks passed
@Veykril Veykril deleted the remove-workspace-hack branch October 17, 2025 18:58
P1n3appl3 added a commit to P1n3appl3/zed that referenced this pull request Oct 18, 2025
We've been considering removing workspace-hack for a couple reasons:
- Lukas ran into a situation where its build script seemed to be causing
spurious rebuilds. This seems more likely to be a cargo bug than an
issue with workspace-hack itself (given that it has an empty build
script), but we don't necessarily want to take the time to hunt that
down right now.
- Marshall mentioned hakari interacts poorly with automated crate
updates (in our case provided by rennovate) because you'd need to have
`cargo hakari generate && cargo hakari manage-deps` after their changes
and we prefer to not have actions that make commits.

Currently removing workspace-hack causes our workspace to grow from
~1700 to ~2000 crates being built (depending on platform), which is
mainly a problem when you're building the whole workspace or running
tests across the the normal and remote binaries (which is where
feature-unification nets us the most sharing). It doesn't impact
incremental times noticeably when you're just iterating on `-p zed`, and
we'll hopefully get these savings back in the future when
rust-lang/cargo#14774 (which re-implements the functionality of hakari)
is finished.

Release Notes:

- N/A
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed The user has signed the Contributor License Agreement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants