Skip to content

docs(contributing): document testing agent changes against a remote provider - #832

Draft
skevetter wants to merge 1 commit into
mainfrom
docs/remote-agent-testing
Draft

docs(contributing): document testing agent changes against a remote provider#832
skevetter wants to merge 1 commit into
mainfrom
docs/remote-agent-testing

Conversation

@skevetter

Copy link
Copy Markdown
Contributor

Summary

  • The existing "Testing Your Changes" quick start only covers the local docker provider case, where the CLI process itself is the agent. For remote/SSH/cloud providers, the agent runs as a separate binary injected onto that host — testing a change there hit two real gotchas while validating fix(git): check write/root capability before installing git-lfs #831 against a live ws3-ssh workspace:
    • Dev builds (version == v0.0.0) skip the remote version check and only verify a binary exists at the target path, so a stale cached agent binary is silently reused instead of a freshly built one.
    • DEVSY_AGENT_BINARY must match the remote host's OS/arch, not the local machine's — a plain go build . on a macOS laptop injected onto a Linux ARM64 host fails with posix_spawn: no such file or directory.
  • Adds a "Testing Agent Changes Against a Remote/SSH Provider" section to CONTRIBUTING.md explaining both gotchas and the manual steps.
  • Adds task cli:test:remote (Taskfile.yml) to automate it: builds dev binaries for every OS/arch via the existing cli:build:dev, clears the remote's cached binary via SSH, and runs workspace up --reset with DEVSY_AGENT_BINARY pointed at the binary matching the remote's OS/arch.
  • Verified task cli:test:remote end-to-end against a real ws3-ssh workspace (HOST=ws3@orb AGENT_PATH=/tmp/skevetter/devsy/agent task cli:test:remote -- <workspace>) — builds, force-reinjects, and brings the workspace up successfully.

…rovider

Testing changes to pkg/agent/pkg/git against a local docker provider
just works, since the CLI process is the agent. Against a remote/SSH
provider, the agent is a separate binary injected onto that host, and
two things bit us debugging the git-lfs install fix: dev builds skip
the remote version check (so a stale cached binary silently gets
reused instead of a freshly built one), and DEVSY_AGENT_BINARY has to
match the remote's OS/arch, not the local machine's.

Adds a cli:test:remote task that builds dev binaries for every
OS/arch, clears the remote's cached agent binary, and runs `up --reset`
with DEVSY_AGENT_BINARY pointed at the right one.
@netlify

netlify Bot commented Jul 31, 2026

Copy link
Copy Markdown

Deploy Preview for images-devsy-sh canceled.

Name Link
🔨 Latest commit 7b569ca
🔍 Latest deploy log https://app.netlify.com/projects/images-devsy-sh/deploys/6a6c1188467f3c000784563c

@coderabbitai

coderabbitai Bot commented Jul 31, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: f00a476b-9211-404e-ab04-31c6120acf3b

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@netlify

netlify Bot commented Jul 31, 2026

Copy link
Copy Markdown

Deploy Preview for devsydev canceled.

Name Link
🔨 Latest commit 7b569ca
🔍 Latest deploy log https://app.netlify.com/projects/devsydev/deploys/6a6c1188d52d610008283fd8

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant