summaryrefslogtreecommitdiff
path: root/src/buildtool
AgeCommit message (Collapse)Author
2024-02-13local_api: also for retrieve to memory, consult git api as fallbackKlaus Aehlig
2024-02-08rule_map: improve error reportingKlaus Aehlig
By showing the full entity name and also adding the usual newline character after every "While ..." clause.
2024-02-08NamedTarget: support ToString()Klaus Aehlig
2024-02-08JsonFileMap: refuse to read absent rootKlaus Aehlig
... instead of erroring on missing file. In this way, whenever a rule or expression from an absent root would have to be read, we get a meaningful error message and not a complaint about a file not being there.
2024-02-08Target map: on error in rule look up, report the rule being looked forKlaus Aehlig
2024-02-01describe: support -RKlaus Aehlig
... as, for absent repositories, we need to get the description from the serve end point. As a consequence, also support -r and --compatible, as the remote-execution endpoint needs to fit with the one for the serve endpoint.
2024-02-01describe: accept local-build-rootKlaus Aehlig
... as even this command now adds entries to CAS, e.g., the shard for the target-level cache. Also, this command block gc by keeping a lock (also in the local build root).
2024-01-31just serve: Cleanup logging to remove tool namePaul Cristian Sarbu
Also cleans up the logging when parsing the serve service configuration file.
2024-01-31just-mr: Failure in serve api root tree requests should be fatalPaul Cristian Sarbu
The requests to retrieve the tree of a commit, archive, or distdir also set up those trees in a way that the serve endpoint can later build against them, besides allowing just-mr to set up roots locally. Therefore, if the witnessing entity (Git commit, content blob, or distdir, respectively) is known to the serve endpoint, then failing to set up the root tree there should result in a failure also of the just-mr setup on the client side.
2024-01-31serve source tree: Increase server-side granularity in response statusesPaul Cristian Sarbu
For archives and Git repositories we should ensure that not finding the witnessing entity (archive content blob or Git commit, respectively) results in a distinct status in the response to a request that sets up roots on the serve endpoint. This will allow just-mr to better handle its interaction with the serve endpoint.
2024-01-31dispatch file parsing: Improve std::variant usagePaul Cristian Sarbu
2024-01-30Drop unused -R from install-cas and traverse subcommandsKlaus Aehlig
2024-01-30For install-cas with remember use splittingKlaus Aehlig
2024-01-26serve source tree: Client-side and API implementations of to_git ↵Paul Cristian Sarbu
pragma-related RPCs
2024-01-26serve source tree: Server-side implementation of to_git pragma-related RPCsPaul Cristian Sarbu
2024-01-26just_serve.proto: Extend SourceTree with to_git pragma-related requestsPaul Cristian Sarbu
2024-01-26serve source tree: Distdir tree should end up in Git cachePaul Cristian Sarbu
The purpose of the requests for the tree of an archive, commit, or distdir also includes making those trees available for future builds on the serve endpoint, which currently means being in a known Git repository. This commit ensures the distdir tree reqeust also includes the import of the resulting tree from CAS into the Git cache (if the tree is not already in a Git repsoitory).
2024-01-24just: Wrap IExecutionApi raw pointer argumentsPaul Cristian Sarbu
...in accordance to our coding style.
2024-01-19Add tree invariant check for just execute, when uploading treesSascha Roloff
2024-01-19Add digest validity check to the blob split commandSascha Roloff
2024-01-19Fix digest consistency check to also compare sizesSascha Roloff
2024-01-16Keep implied target-cache values aliveKlaus Aehlig
... by uplinking them appropriately.
2024-01-16TargetCacheEntry: serialize implied export targetsKlaus Aehlig
2024-01-16Analysed target: keep track of implied export targetsKlaus Aehlig
... that are eligible for caching. In this way, we can accurately keep track of the dependencies between target-level cache entries. Note that it is enough to track the export targets eligible for caching, as no target depending on an ineligible export target can be eligible.
2024-01-16TargetCacheEntry: return implied targets, if serializedKlaus Aehlig
2024-01-09Refactor GraphTraverser to take in platform properties and dispatch listPaul Cristian Sarbu
In order for the serve endpoint to correctly dispatch a build to the correct remote-execution endpoint, the platform properties and dispatch list for a build need to be passed explicitly to the executor (via the graph traverser instance) instead of always being taken from the RemoteExecutionConfig struct. This commit implements these changes, including updating existing tests accordingly.
2024-01-09just main: Fix log messagePaul Cristian Sarbu
2024-01-08serve distdir tree: Client-side and API implementationsPaul Cristian Sarbu
2024-01-08serve distdir tree: Server-side implementationPaul Cristian Sarbu
2024-01-08GitRepo: Add blob lookup methodPaul Cristian Sarbu
2024-01-08just_serve.proto: Add 'tree of a distdir' requestPaul Cristian Sarbu
2024-01-08serve content or tree: Check for Git object also in local CASPaul Cristian Sarbu
2024-01-08serve source tree: Improve log messages when sync with remote failsPaul Cristian Sarbu
2024-01-08serve archive tree: Add missing check for content in local CASPaul Cristian Sarbu
When serving the tree of an archive, we should check also in the local CAS for the content blob.
2024-01-08serve configuration client: Fix logger namePaul Cristian Sarbu
2024-01-08bugfix: Add missing return in SetRemoteExecutionDispatchPaul Cristian Sarbu
This was a source of occasional std::bad_variant_access exceptions.
2023-12-21serve target handling: store blobs also locallyKlaus Aehlig
... before trying to upload from local storage to the remote CAS. Co-authored-by: Alberto Sartori <alberto.sartori@huawei.com>
2023-12-21ServeTarget: downgrade log level to performanceKlaus Aehlig
The error log level should be reserved for events that inevitably lead to a failed build. A failure to receive a target from the serve endpoint, however, is not such a case; for performance reasons, and also to have the same artifacts as everyone else in the case of non-reproducible dependencies, just inquires the serve end point for every export target whenever a serve end point is given. In this case, the build just continues even if the serve end point is, e.g., lacking a certain root.
2023-12-21BazelCasClient: remove dead code.Alberto Sartori
The removed code has been superseeded by the CreateBatchRequestsMaxSize member function.
2023-12-21BazelCasClient::DoUploadBlobs: returns the count of the uploaded blobs...Alberto Sartori
...instead of the vector containing the digests of the uploaded blobs. The returned vector was never inspected by the callers, except for its size. The tests have been accordingly amended.
2023-12-21BazelNetwork: simplify logic of DoUploadBlobsAlberto Sartori
2023-12-21BazelCasClient: split DoBatchUploadBlobs into multiple calls...Alberto Sartori
...to honor the message limit imposed by GRPC.
2023-12-21BazelCasClient: split BatchReadBlobs into multiple calls...Alberto Sartori
...to honor the maxBatchTransferSize in grpc calls.
2023-12-21BazelCasClient: Split FindMissingBlobs in multiple batches...Alberto Sartori
...such that each request does not exceeds the message limit imposed by GRPC.
2023-12-21SplitBlob: improve error message in case of a failureAlberto Sartori
2023-12-21BazelCasClient: define new templated CreateBatchRequestsMaxSize member function.Alberto Sartori
This function will ensure that each request does not exceeds the maximum message size, currently set by kMaxBatchTransferSize in the message_limits library.
2023-12-21BazelCasClient::UpdateSingleBlob: Emit a log entry upon failureAlberto Sartori
2023-12-21bazel_network: use message_limits libraryAlberto Sartori
2023-12-21src/buildtool/execution_api/commmon: add message_limits libraryAlberto Sartori
Define the threshold for the grpc messages.
2023-12-21remote/client_common.hpp: add utility functions for logging status of rpc callsAlberto Sartori