Rsync plugin does not work from CLI

Drone version: v0.4

$ drone exec --deploy

[DRONE] starting job #1
Drone Rsync Plugin built from c2425ba
$ rsync -az -r -e ssh -p 22 -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o StrictHostKeyChecking=no /drone/src/android-k/ [email protected]:/home/public/releases
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]
Rsync: exit status 255
[info] build failed (exit code 1)
[DRONE] finished job #1
[DRONE] exit code 1
[DRONE] job #1 failed
[DRONE] build failed

After inserting debugging logs into drone-rsync, it appears that the ‘workspace’ parameter is empty, which is required to supply the RSA keys when running with drone exec --deploy locally. My debug version didn’t take effect for the ‘drone server’ because it always pulls the plugins from the Dockerhub.

I then attempted to build the drone daemon by myself to see what I can do. Unfortunately the dependencies are seemingly mismatched with the v0.4.0 version (they are API-incompatibly upgraded maybe?).

Any advises on how to diagnose the problem or hints on what I obviously do wrong?

You could try adding a clone block to your .drone.yml to hardcode the workspace path. The workspace path is populated automatically by the server, but the CLI does not have access to all the repository and build meta-data to set the path automatically.

clone:
  path: github.com/foo/bar

Note that most of the issues described here no longer apply to 0.5