This feature is still experimental; some aspects may not work fully or at all just yet. Proceed with caution!
From v15 onwards, Please has the ability to submit build actions to remote
executors.
By default, work is still executed on your local machine, but this means
parallelism is fundamentally limited by the available local compute capacity;
larger teams may want to improve the overall speed with access to a larger pool of
compute capacity. There are also a number of other considerable benefits such
as being able to share artifacts globally between all executions (essentially
ensuring each build action only happens once) and executing them in a more
controlled environment.
Please makes use of the Remote Execution API to distribute work. This is a generic gRPC-based API with a number of options for the server-side; see their documentation for some more information.
The API is fairly involved and there are some requirements that the server
must fulfil to work with plz. Setting it up can be a reasonable amount of
work.
A few things you might want to keep in mind are:
go
you have
to have that on the PATH on the remote.remote_file
rules to work.
We're actively working on a number of things to make the above easier and expect it to evolve quite a bit over the next few versions.
Come and chat with us on Gitter if you're interested in setting up Please for remote execution and would like some tips!