remote: Set current_dir for cargo zigbuild cross-compilation (#53951)

## Summary

- The cross-compile path for building `remote_server` via `cargo
zigbuild` was missing `.current_dir()`, causing it to inherit the
process cwd
- This fails with "cannot specify features for packages outside of
workspace" when Zed is launched from outside its source tree
- The native build path at the same location already sets
`.current_dir()` correctly — this aligns the cross-compile path

Closes #53950

## Test plan

- [x] Build Zed from source
- [x] Launch from `/tmp`: `cd /tmp && /path/to/zed some-project
--dev-container`
- [x] Verify dev container cross-compilation succeeds

Release Notes:

- Fixed dev container cross-compilation failing when Zed is launched
from outside its source directory

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Toni Alatalo 2026-04-15 12:07:53 +03:00 committed by GitHub
parent b928e595c2
commit ac02b1bf24
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -316,6 +316,7 @@ async fn build_remote_server_from_source(
log::info!("building remote binary from source for {triple} with Zig");
run_cmd(
new_command("cargo")
.current_dir(concat!(env!("CARGO_MANIFEST_DIR"), "/../.."))
.args([
"zigbuild",
"--package",
@ -331,7 +332,8 @@ async fn build_remote_server_from_source(
)
.await?;
};
let bin_path = Path::new("target")
let bin_path = Path::new(concat!(env!("CARGO_MANIFEST_DIR"), "/../.."))
.join("target")
.join("remote_server")
.join(&triple)
.join("debug")