summaryrefslogtreecommitdiff
path: root/src/buildtool/serve_api
AgeCommit message (Collapse)Author
2023-12-05just serve: Add configuration fields for remote buildsPaul Cristian Sarbu
2023-12-05serve target: Add missing gc lockPaul Cristian Sarbu
2023-12-04target.hpp: Fix double include statementPaul Cristian Sarbu
2023-11-30Resolve inconsistencies in third-party headers include formatPaul Cristian Sarbu
2023-11-27Refactoring RepositoryConfigPaul Cristian Sarbu
With the introduction of 'just serve', export targets can now be built also independently from one another based on their corresponding minimal repository configuration, as stored in the target cache key. In this context, this commit changes the RepositoryConfig usage from one global (static) instance to pointers passed as necessary throughout the code.
2023-11-21just serve: Implement client-side ServeContent and extend serve APIPaul Cristian Sarbu
2023-11-21just serve: Implement server-side ServeContent RPCPaul Cristian Sarbu
2023-11-21just_serve.proto: define ServeContent RPCPaul Cristian Sarbu
2023-11-21SourceTree service: Bump up server-side log levelsPaul Cristian Sarbu
Log levels on the server-side should reflect the meaning of the status codes in the response messages. As such, anything that leads directly to an error-type status code has been bumped up to log level Error, the rest to log level Info.
2023-11-16remote-execution-endpoint: fall back to remote-serve-endpointAlberto Sartori
If only the `--remote-serve-endpoint` option is specified on the command line, the `--remote-execution-endpoint` is also set to the given value. This makes the spawning and usage of just-execute consistent. When just-serve is started, if no remote execution endpoint is provided, the same process will also act as a just-execute instance. With the current patch, the client can thus only write, on command line, the remote serve address, avoiding the repetition of the same address for two different options.
2023-11-15just-serve: Extend client and API for services Target and ConfigurationPaul Cristian Sarbu
Co-authored-by: Alberto Sartori <alberto.sartori@huawei.com>
2023-11-15just-serve: initial server-side implementation of "Target" and ↵Alberto Sartori
"Configuration" services. The RPC ServeTarget has not implemented the orchestration of remote build yet. If the TargetCacheKey is not found in the target cache, the response contains status == grpc::StatusCode::UNIMPLEMENTED. Co-authored-by: Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com>
2023-11-15just-serve: start a just-execute instance if the user does not provide...Alberto Sartori
...a remote execution end-point for just-serve.
2023-11-15just_serve.proto: add Configuration serviceAlberto Sartori
This service allows to query the configuration of the just-serve instance. In particular, it is used to double-check that the associated remote end point is the same used by the interrogating client.
2023-11-15just_serve.proto: define service TargetAlberto Sartori
It defines two RPC: - ServeTarget: Given a target-level caching key, returns the computed value. - ServeTargetVariables: Given the target-level root tree and the name of an export target, returns the list of flexible variables from that target's description. Co-authored-by: Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com>
2023-11-15serve api config: Fix missing header guardPaul Cristian Sarbu
2023-11-15source_tree: add missing depAlberto Sartori
2023-11-02remote serve: Extend client and API with tree-of-archive service callsPaul Cristian Sarbu
2023-11-02just serve: Implement service to get Git tree of an archive contentPaul Cristian Sarbu
Also adds missing TARGETS file in serve_api folder and ensures code comments are consistent with the proto file.
2023-11-02just serve: Fix inconsistenciesPaul Cristian Sarbu
- add missing serve_api TARGETS file - rename service client to align with server naming scheme - fix inconsistencies in comments between implementation and protocol
2023-11-02just serve: add a request to get the tree of an archiveKlaus Aehlig
Co-authored-by: Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com>
2023-10-06CreateExecutionApi: define a new library to avoid code duplicationAlberto Sartori
2023-09-22RemoteServeConfig: Remove problematic inheritancePaul Cristian Sarbu
This was causing the remote serve address to overwrite the one set for remote execution. Also, to keep things clean, some common remote server-related methods and definitions were moved into their own library.
2023-09-19just serve protocol: clean upKlaus Aehlig
Just like the remote-execution protocol has several services (Execution, ActionCache, ContentAddressableStorage, etc), so will the serve protocol: the actual target-level caching, as well auxilliary services, like the service to obtain the tree for a given root. Already follow that scheme, before the protocol gets part of any release. Also, move the status enum into the respective answer messages. In this way, we can have different enums for different requests without causing conflicts on the named enum constants.
2023-09-19ServeServerImpl: create and `git-init` StorageConfig::GitRoot() when the ↵Alberto Sartori
server is started
2023-09-15just serve: add remote execution endpoint and --fetch-absent optionPaul Cristian Sarbu
The serve service will communicate with this endpoint when needed, as well as ensure artifacts it provides are synced with the remote execution CAS, if requested by the client. If just-mr is given the --fetch-absent option, it Always produce present roots irrespective of the 'absent' pragma. For Git repositories marked with the 'absent' pragma, first try to fetch any commit trees provided by the serve endpoint from the execution endpoint CAS, before reverting to a network fetch. Co-authored-by: Klaus Aehlig <klaus.aehlig@huawei.com> Co-authored-by: Alberto Sartori <alberto.sartori@huawei.com>
2023-09-13just serve: Implement basic API handling service requestsPaul Cristian Sarbu
2023-09-13just serve: Implement initial serve clientPaul Cristian Sarbu
...able to request the tree of a commit known to the remote.
2023-09-13just serve: Basic service implementation with commit-of-tree RPCPaul Cristian Sarbu
Initial version, to be extended later with other RPCs.