facebook / buck2

Build system, successor to Buck
https://buck2.build/
Apache License 2.0
3.33k stars 194 forks source link

documentation mentions `frecli` which doesn't seem to be available publicly #622

Open vaibhav-shah opened 1 month ago

vaibhav-shah commented 1 month ago

When attempting to find the command that an action run remotely, I came across https://buck2.build/docs/developers/what-ran/ and saw mention of frecli which is supposed to help reproduce actions.

Is this a tool that Meta plans to open-source? What other functionality does frecli have?

Is https://github.com/bazelbuild/remote-apis-sdks/blob/master/go/cmd/remotetool/main.go an appropriate substitution? Here's how it can be used through Bazel:

 bazel run go/cmd/remotetool -- --operation=download_action --service=$REMOTE_ENDPOINT --service_no_auth --use_application_default_credentials --tls_client_auth_cert=$PATH_TO_CERT --tls_client_auth_key=$PATH_TO_KEY --path=/tmp/foo --digest=$ACTION_DIGEST
JakobDegen commented 3 weeks ago

What other functionality does frecli have?

Frecli is a pretty broad client that supports a whole bunch of operations against our RE service. Downloading actions/artifacts, inspecting the action cache, executing actions, etc.

Is this a tool that Meta plans to open-source?

It is heavily tied to our RE service and can't really be made to work in open source, so no.

Is https://github.com/bazelbuild/remote-apis-sdks/blob/master/go/cmd/remotetool/main.go an appropriate substitution?

Possibly, yes. It really depends on which RBE implementation you use though. They'll be able to tell you if such a tool is appropriate or if there's a better option.

Really though, buck2 should have an RE client built directly into it, ie you should just be able to do buck2 re download-action, buck2 re download-blob, etc. That would let everyone have access to this functionality in a backend independent way.

That's a somewhat larger project though (although not too large). In the meantime, I've submitted a patch to remove the frecli reference from the OSS docs