summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api/common
AgeCommit message (Collapse)Author
2025-02-07CommonApi: Remove template parameter from UploadAndUpdateContainerMaksim Denisov
...since it works with ArtifactBlobs only.
2025-02-07BazelCasClient: Use ArtifactDigest in bytestream readingMaksim Denisov
2025-02-07BazelCasClient: Use ArtifactBlob in UpdateSingleBlobMaksim Denisov
2025-02-07ByteStreamUtils: Use ArtifactDigestMaksim Denisov
2025-02-07Remove ContentBlobContainer and TransformedRangeMaksim Denisov
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-02-07ContentBlob: Support hashingMaksim Denisov
2024-12-19Move functionality for staging from CAS to output paths to TreeReaderMaksim Denisov
...and employ it in LocalApi.
2024-12-19Remove unnecessary movesOliver Reiche
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-12-05Common API: correctly report failureKlaus Aehlig
If fetching via the primary API failed and there is no fallback, we should fail rather than tacitly continuing with the next object to fetch.
2024-11-14execution_api remaining: Implement IWYU suggestionsPaul Cristian Sarbu
2024-10-29Clean up unused dependenciesKlaus Aehlig
2024-10-25Add dependencies explicitly that are included directlyKlaus Aehlig
... instead of relying on those dependencies being pulled in indirectly.
2024-10-07Enable cppcoreguidelines-* checks.Maksim Denisov
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 readability-redundant-member-init check.Maksim Denisov
2024-10-07Enable bugprone-empty-catch check.Maksim Denisov
2024-10-07Enable bugprone-exception-escape checkMaksim Denisov
2024-10-07Enable bugprone-implicit-widening-of-multiplication-result check.Maksim Denisov
2024-09-26Fix enum sizes proposed by clang-tidy.Maksim Denisov
Enable performance-enum-size check.
2024-09-23Reorder dependencies and remove duplicates in OSSMaksim 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-18TreeReaderUtils: change InfoStoreFunc interfaceMaksim Denisov
...passing constructed Artifact::ObjectInfo by rvalue, to avoid additional copies.
2024-09-18Implement ByteStreamUtils::WriteRequest classMaksim Denisov
...and remove split serialization/deserialization logic.
2024-09-18Implement ByteStreamUtils::ReadRequest classMaksim Denisov
...and remove split serialization/deserialization implementations.
2024-09-18Introduce ByteStreamUtils, wrap kChunkSizeMaksim Denisov
...and use the qualified name ByteStreamUtils::kChunkSize
2024-09-16local execution: Check validity of symlinksPaul Cristian Sarbu
Invalid entries, currently all upwards symlinks (pending implementation of a better way of handling them), are now identified and handled similarly to remote execution: in compatible mode on the client side, during handling of local response, and in native mode during the population of the local action result.
2024-09-16execution_response: Allow failures to be reported while populatingPaul Cristian Sarbu
As populating the containers from remote response only takes place once, no assumptions should be made that this cannot fail (for example if wrong or invalid entries were produced). Instead, return error messages on failure to callers that can log accordingly.
2024-09-13Check compatibility in readers based on the hash typeMaksim Denisov
2024-09-13Rename Compatibility class to ProtocolTraitsMaksim Denisov
...and move it to the common stage.
2024-09-11Use ArtifactDigestFactory in BlobTreeMaksim Denisov
...to create ArtifactDigests.
2024-09-11Use ArtifactDigestFactory in TreeReaderUtilsMaksim Denisov
...to create ArtifactDigests.
2024-09-09ExecutionResponse: a missing headerMaksim Denisov
2024-09-09Use ArtifactDigestFactory casts in readersMaksim Denisov
2024-09-09Replace ArtifactDigest::CreateMaksim Denisov
...with ArtifactDigestFactory::HashDataAs
2024-09-09Generalize GetMissingArtifacts with templated iteratorsMaksim Denisov
2024-08-30Replace bazel_re::Digest in BazelMsgFactory (trees)Maksim Denisov
...with ArtifactDigest.
2024-08-30Move artifact_blob_container to a standalone libraryMaksim Denisov
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-07Avoid deep copies of containers in responses.Maksim 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-30ApiBundle: Use a creator method instead of constructorPaul Cristian Sarbu
This will allow for ApiBundle to be used together with the TestApi implementation of IExecutionApi in tests. Also rename CreateRemote method to MakeRemote in order to remove any semantical confusion.
2024-07-30ApiBundle: Remove deprecated fields now used via RemoteContextPaul Cristian Sarbu
2024-07-30Pass RemoteContext to ApiBundlePaul Cristian Sarbu
The CreateRemote method is also updated to receive all remote-related information as arguments, such that it does not have to rely on the ApiBundle internal fields which will eventually be removed.
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.