Open Tatskaari opened 2 years ago
This issue has been automatically marked as stale because it has not had any recent activity in the past 90 days. It will be closed if no further activity occurs. If you require additional support, please reply to this message. Thank you for your contributions.
Please is a client of the remote execution API however it has primarily been developed against a bespoke implementation of the servers, so compatibility with external server implementations is poor.
In this issue I will be tracking compatibility with the various major implementations.
General issues
Please requires some features from the as-yet unreleased v2.1 of the REAPI. Specifically, we need
output_paths
e.g. hereSome servers don't automatically store the outputs of a build action either. You may need to set the following in your
.plzconfig
:Please also performs dynamic actions post-build, so often needs to update action results. The build server has to allow this.
We also space separate the valid hashes for the remote asset API subresource integrity checks. This means any
remote_file()
rule that setshashes = []
to a list with more than one item might break. This can be worked around with by passing--nohash_verification
though this is not a production ready solution.Otherwise, we are unaware of any other API compatibility issues, though there are surely more.
Testing setup
I used the
docker-compose
services defined in the remote-apis-testing repository to get the servers set up:And then I can run please against this like so:
BuildBarn
Requires
remote.verifyoutputs
set to true on the Please side.I have managed to build arcat against build barn so compatibility seems pretty good otherwise.
BuildGrid
TODO
buildbuddy
Doesn't support the output paths feature from the v2.1 API, and last i checked it's not a priority of theirs.