summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api/remote/bazel/bazel_api.cpp
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-06-02ParallelRetrieveToCasWithCache: abort early on failureKlaus Aehlig
... and do mark artifacts internally as synchronized. First all all, we will abort anyway, to the entry won't even be read and, secondly it is not necessarily true that the artifact is synchronized.
2025-04-11Drop unused directory mapKlaus Aehlig
The BazelNetworkReader contains an optimization for reading directories in case the remote execution (in compatible mode) supports the GetTree request. This is, however not the case for many remote exeuciton services, including our own single-node execution service. So the code is basically untested and rarely used, if at all. Moreover, justbuild is usually used in native mode and using compatibility mode is expected to handle tree operations less efficient. Therefore, remove this basically dead code and decrease complexity this way.
2025-03-24BazelApi: Use non-incremental readingMaksim Denisov
...to avoid downloading the same blobs.
2025-03-24BazelApi: Use file sources of ArtifactBlobs.Maksim Denisov
2025-03-24ExecutionApi: Return TmpDirMaksim Denisov
2025-03-24Pass TmpDir to BazelNetwork and BazelCasClientMaksim Denisov
2025-02-27ArtifactBlob: Check access to the contentMaksim Denisov
2025-02-27ArtifactBlob: Convert to a classMaksim Denisov
2025-02-27ArtifactBlob: Move from execution_api/common to commonMaksim Denisov
2025-02-19BazelApi: Use BackMap to get missing digestsMaksim Denisov
2025-02-19BazelApi: Create BackMap in ::RetrieveToCasMaksim Denisov
and drop precreated info_map.
2025-02-19IExecutionApi: Return supported HashFunction::TypeMaksim Denisov
2025-02-19Store HashFunction by valueMaksim Denisov
Although references give an additional information about ownership, they introduce additional design difficulties.
2025-02-11Name library containing ExecutionConfiguration more appropriatelyKlaus Aehlig
2025-02-07Move implementation of ContentBlob to artifact_blobMaksim Denisov
...and remove ContentBlob.
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-07BazelNetwork: Use ArtifactDigests in IsAvailableMaksim Denisov
2025-02-07BazelNetwork: Use ArtifactBlobs in UploadBlobsMaksim Denisov
2025-02-07BazelNetworkReader: Use ArtifactDigest in IncrementalReaderMaksim Denisov
...and while there, pass digests needed to be read by pointer to IncrementalReader to avoid an extra copy.
2025-02-07Replace ArtifactBlobContainer and BazelBlobContainerMaksim Denisov
...with explicit std::unordered_set.
2025-02-07Replace ContentBlobContainer<T> with std::unordered_setMaksim Denisov
2025-02-07BazelNetwork: Use unordered_set in UploadBlobs instead of BazelBlobContainerMaksim Denisov
2025-02-07IExecutionApi: Rename IsAvailable to GetMissingDigestsMaksim Denisov
2025-02-07IExecutionApi: Use unordered_set in IsAvailableMaksim Denisov
2025-02-07Remove logging related to blob splitting form BazelApiMaksim Denisov
2025-02-07BazelCasClient: Use unordered_set in FindMissingBlobsMaksim Denisov
2024-12-19Fix cause of minor warningsOliver Reiche
2024-12-09Remove redundant copies from BazelApi::IsAvailableMaksim Denisov
...and ignore non-requested digests.
2024-12-05While there, also avoid unnecessary indirection in RertrieveToPaths.Klaus Aehlig
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/remote: 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 bugprone-unhandled-exception-at-new check.Maksim Denisov
2024-10-07Enable bugprone-narrowing-conversions checkMaksim Denisov
2024-09-23Store HashFunction by const reference.Maksim Denisov
Despite the fact that HashFunction is a small type, it still makes sense to store it by reference to reflect the ownership. StorageConfig becomes the main holder. Reference holders store HashFunction by const ref and aren't allowed to change it. However, they are free to return HashFunction by value since this doesn't benefit readability anyhow.
2024-09-17Small code improvements based on lint warningsPaul Cristian Sarbu
- add more noexcept requirements and enforce existing - fixing inconsistencies related to function arguments - remove redundant static keywords - silencing excessive lint reporting in test cases While there, make more getters const ref.
2024-09-13Check compatibility in BazelAPI based on the hash typeMaksim Denisov
2024-09-13Rename Compatibility class to ProtocolTraitsMaksim Denisov
...and move it to the common stage.
2024-09-09Use ArtifactDigest in BazelApi/BazelResponseMaksim Denisov
2024-09-09Return ArtifactDigest from CreateActionDigestFromCommandLineMaksim Denisov
2024-09-09Remove redundant operator lessMaksim Denisov
...from ObjectInfo and ArtifactDigest
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-07Extend BazelNetworkReader to avoid redundant conversionsMaksim Denisov
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-22Pass HashFunction to BazelApiMaksim Denisov
2024-07-22Pass HashFunction to BazelNetworkMaksim Denisov