Skip to content

feat(deploy): thread caller_path into deployers — bare-name deploy-time spawns still resolve against daemon PATH (follow-up to #1219) #1234

Description

@zackees

Follow-up to #1219 / PR #1231, raised by CodeRabbit review there.

Problem

PR #1231 forwards the caller CLI's PATH per request and applies it to bare-name tool spawns on the build path (the five sites #1219 enumerated). The deploy path has the same class of exposure and was deliberately left out of that PR to keep it reviewable:

Scope

  1. Thread caller_path from the daemon DeployRequest (field already exists after fix(daemon): forward the caller CLI's PATH per request for bare-name tool spawns #1231) into deployer construction — likely a field on the deploy context/config struct rather than a Deployer::deploy signature change, whichever is less invasive given the trait's implementors.
  2. Apply fbuild_core::subprocess::bare_name_path_overlay (added in fix(daemon): forward the caller CLI's PATH per request for bare-name tool spawns #1231) at deploy-time spawns that can run a bare name — audit fbuild-deploy for run_command/run_command_no_timeout calls with env: None where the program can be a bare fallback name. Provisioned absolute-path tools stay untouched (the helper no-ops for them).
  3. Cover both the normal deploy path and skip_build.

Acceptance

  • A deploy whose esptool provisioning fails resolves the bare-name fallback against the requesting CLI's PATH, not the daemon's.
  • skip_build deploys carry caller_path the same way.
  • Regression tests at the deployer-construction level for both paths.

Defaults chosen by the drafting agent are listed inline — edit as needed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    Triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions