summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api/local/local_api.hpp
AgeCommit message (Collapse)Author
9 daysClarify use of a clang-tidy checkPaul Cristian Sarbu
The google-default-arguments check normally imposes that virtual methods have no default arguments. For our use-cases, all implementations of such methods are expected to use the same default arguments, and thus this check is manually disabled via NOLINT comments. However, this is not done consistently. This commit cleans this up and clarifies our intent by: - removing the default values (and the NOLINT statement) for all implementations of virtual methods with default argument values, matching the desired intended behaviour, but - keeping the clang-tidy check for future cases where derived classes would want to provide each different defaults.
9 daysExecutionAPI: Support output_paths in requestsOliver Reiche
... and prepare local execution for clients using only RBEv2.1 (setting only output_paths).
2025-03-24ExecutionApi: Return TmpDirMaksim Denisov
2025-02-27ArtifactBlob: Move from execution_api/common to commonMaksim Denisov
2025-02-19IExecutionApi: Return supported HashFunction::TypeMaksim Denisov
2025-02-19LocalApi: Add cpp fileMaksim Denisov
2025-02-07Rename artifact_blob_container to artifact_blobMaksim Denisov
2025-02-07CommonApi: Remove template parameter from UploadAndUpdateContainerMaksim Denisov
...since it works with ArtifactBlobs only.
2025-02-07Replace ArtifactBlobContainer and BazelBlobContainerMaksim Denisov
...with explicit std::unordered_set.
2025-02-07Replace ContentBlobContainer<T> with std::unordered_setMaksim Denisov
2025-02-07IExecutionApi: Rename IsAvailable to GetMissingDigestsMaksim Denisov
2025-02-07IExecutionApi: Use unordered_set in IsAvailableMaksim Denisov
2025-01-29local api: absence of a git api is not a success in retrievingKlaus Aehlig
While there, also check for availability first, to avoid duplicated error messages (from git_cas and the caller).
2025-01-22local api: take git fallback seriouslyKlaus Aehlig
... and, when asked if an artifact is available, also inspect the git cas.
2024-12-19Move functionality for staging from CAS to output paths to TreeReaderMaksim Denisov
...and employ it in LocalApi.
2024-12-05execution api: support retrieving from more than one API, also for fdKlaus Aehlig
Extend the api to optionally accept a different API for preferred fetching. This is already supported when fetching to a file path; therefore, extend to keep the interface symmetric.
2024-11-14execution_api remaining: Implement IWYU suggestionsPaul Cristian Sarbu
2024-10-07Disable misc-no-recursion checkMaksim Denisov
...since we use recursion for trees a lot, but skip this check manually.
2024-10-07Enable readability-* checks.Maksim Denisov
2024-10-07Enable bugprone-unhandled-exception-at-new check.Maksim Denisov
2024-09-18Remove a redundant variableMaksim Denisov
2024-09-13Check compatibility in LocalAPI based on the hash typeMaksim Denisov
2024-09-13Rename Compatibility class to ProtocolTraitsMaksim Denisov
...and move it to the common stage.
2024-09-09Replace ArtifactDigest::CreateMaksim Denisov
...with ArtifactDigestFactory::HashDataAs
2024-08-30Cast ArtifactDigest to bazel_re::Digest explicitlyMaksim Denisov
...to simplify further refactoring.
2024-08-30Replace bazel_re::Digest in BazelMsgFactory (trees)Maksim Denisov
...with ArtifactDigest.
2024-08-30Replace bazel_re::Digest in CASUtilsMaksim Denisov
...with ArtifactDigest
2024-08-30Replace bazel_re::Digest in LocalCAS::{...}PathMaksim Denisov
...with ArtifactDigest.
2024-08-30Return the IsTree flag from ArtifactDigestMaksim Denisov
...and replace obvious redundant conversions to bazel_re::Digest, which were done to ensure that the digest represents a tree.
2024-08-01Execution API: support cwdKlaus Aehlig
... following the remote-execution standard that all output paths (but none of the input paths) are relative to the working directory. Therefore, the executor has to do the path translation. For our implementation of the API interface - the local API now handles cwd correctly, - the remote API forwards cwd correctly, and - the git API continues to report actions as not implemented.
2024-07-30Pass LocalContext to LocalApiPaul Cristian Sarbu
The context is passed by not_null const pointer to avoid binding to temporaries. The LocalApi also stores the context as const ref for further access and passing it to LocalAction.
2024-07-22Use HashFunction from Storage in LocalResponseMaksim Denisov
2024-07-22Pass HashFunction to ArtifactDigest::CreateMaksim Denisov
2024-07-22Use a precreated GitApi in LocalCASMaksim Denisov
2024-07-16Pass LocalExecutionConfig to LocalAction and LocalApiPaul Cristian Sarbu
2024-07-12Capture in TreeReaders by pointer to avoid temporariesMaksim Denisov
2024-07-05Pass StorageConfig and Storage to LocalApiMaksim Denisov
2024-06-28Use (un)expected for CAS utilsOliver Reiche
2024-06-27Use a raw pointer for passing optional RepositoryConfigMaksim Denisov
...instead of std::optional<gsl::not_null<RepositoryConfig const*>>.
2024-06-27Use a raw pointer for passing optional IExecutionApiMaksim Denisov
...instead of std::optional<gsl::not_null<IExecutionApi const*>>
2024-06-25Introduce a type allias for an optional ptr to IExecutionApiMaksim Denisov
...and replace verbose constructions.
2024-06-25Pass IExecutionApi to IExecutionApi by referenceMaksim Denisov
...instead of not_null const ptr.
2024-06-25Mark IExecutionApi's methods constantMaksim Denisov
2024-06-07Remove unused code.Maksim Denisov
IExecutionApi::UploadFile was introduced to handle adding of a temporary file to the storage. The call was redirected to LocalCAS internal methods that do the similar thing, so this virtual method can be removed.
2024-06-04blob containers: Store and upload taking into account content sizePaul Cristian Sarbu
Update logic populating containers to use the new method which is aware of the maximum transfer limit.
2024-05-28Use shared_ptr for data in ContentBlobMaksim Denisov
...to reduce the "price" of copying.
2024-05-28Use ArtifactBlobContainer in IExecutionApiMaksim Denisov
...instead of BazelBlobContainer to not bring bazel_re::Digest to IExecutionApi.
2024-05-28Move blob_tree to the common stage since it is used only there.Maksim Denisov
2024-05-28Rename BlobContainer to BazelBlobContainerMaksim Denisov
2024-05-28Use TransformedRange in BlobContainerMaksim Denisov
...instead of various iterators.