summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api
AgeCommit message (Collapse)Author
12 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.
12 daysExecutionService: Support RBE protocol v2.1Oliver Reiche
12 daysExecutionAPI: Support output_paths in requestsOliver Reiche
... and prepare local execution for clients using only RBEv2.1 (setting only output_paths).
12 daysExecutionAPI: Support output_symlinks in responseOliver Reiche
12 daysExecutionApi: Drop DirectorySymlinks from common apiOliver Reiche
... as it is only needed for local execution, there is no need to provide it in the common api interface.
12 daysExecutionService: Use LocalApi directlyOliver Reiche
12 daysBazelNetwork: Read supported remote RBE versionOliver Reiche
12 daysLocalAction: Fix the use of external loggerOliver Reiche
2025-06-16Avoid unnecessary work in accessing container entriesPaul Cristian Sarbu
- in sequence containers, use operator[] instead of .at() when accessing indices guaranteed to be in bound; - in associative containers, prefer .find() and reusing the returned const iterator to using .contains() and .at(); while there, make any so obtained iterators const if they are read-only.
2025-06-04Remove unneeded extra checks for upwards symlinksPaul Cristian Sarbu
2025-06-04Executor: Check validity of action outputs in compatible modePaul Cristian Sarbu
This ensures that any entries that the standard remote execution protocol accepts but are invalid in justbuild, i.e., upwards symlinks, are rejected. For this purpose, do not fail in the action response instances, just perform the check there, as all required information is available, and set a flag that the executor can check as needed.
2025-06-04{Local,Bazel}Response: Fix logic for marking succesful populationPaul Cristian Sarbu
While in practice a failure to populate the fields of a response happens once per invocation, as it will trigger a failure of the execution, from an algorithmic standpoint the flag to mark a successful population of the response fields should only be set on actual success. Fix this.
2025-06-04LocalCasReader: Add validity check for bazel directoriesPaul Cristian Sarbu
This will check if directories contain upwards symlinks.
2025-06-04Execution server: Let the underlying API handle invalid entriesPaul Cristian Sarbu
The execution server itself should not consider anything special in setting the response message to the client, instead let the underlying API fail or not during collection.
2025-06-04RepositoryConfig: Ensure consistency in reading blobs and treesPaul Cristian Sarbu
...with respect to rejecting invalid entries such as upwards symlinks. Also ensure that valid trees are only checked once by remebering known valid tress though marker files in local storage.
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-05-12LocalAction: Fix collection of directory symlinkOliver Reiche
2025-04-22FileSystemManager: Always remove directories recursivelyMaksim Denisov
2025-04-17bazel_msg_factory: avoid copies in lambdas...Alberto Sartori
and while there, replace `auto` with explicit signatures.
2025-04-17bazel_execution_client: eliminate one un-needed copyAlberto Sartori
2025-04-11Remove unused function GetTree from BazelCasClientKlaus Aehlig
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-04-10cas_utils: Fix typo in log messagePaul Cristian Sarbu
2025-04-10BazelAcClient: log cache misses at trace levelKlaus Aehlig
... instead of at debug. We expect actions to be not in cache, so the fact that we experience cache misses is not surprising. Given the information available at this point, a useful logging indicating (in terms meaningful to the user) is not possible. Therefore, keep the debug-level log clean.
2025-04-10Remove unnecessary targets filesKlaus Aehlig
2025-04-08BazelCasClient: only warn on failure of GetTreeKlaus Aehlig
... as that failure does not necessarily abort the build.
2025-03-24BazelNetworkReader: Remove IncrementalReaderMaksim Denisov
2025-03-24BazelResponse: Use non-incremental readingMaksim Denisov
to avoid downloading the same blobs.
2025-03-24BazelApi: Use non-incremental readingMaksim Denisov
...to avoid downloading the same blobs.
2025-03-24BazelNetworkReader: Implement non-incremental reading.Maksim Denisov
2025-03-24BazelCasClient: BatchRead to temporary files.Maksim Denisov
2025-03-24BytestreamClient: Read to temporary files.Maksim Denisov
2025-03-24BazelApi: Use file sources of ArtifactBlobs.Maksim Denisov
2025-03-24LocalApi: Use file sources of ArtifactBlobs.Maksim Denisov
2025-03-24ExecutionApi: Return TmpDirMaksim Denisov
2025-03-24Pass TmpDir to BazelNetwork and BazelCasClientMaksim Denisov
2025-03-24TmpDir: minor refactoringMaksim Denisov
2025-03-24Remove redundant UpdateContainerAndUpload.Maksim Denisov
2025-03-17execution_api: support reading off stdout/stderr digestsKlaus Aehlig
2025-03-11just execute: write pid and info files atomicallyKlaus Aehlig
2025-03-10just execute: set basic timing meta dataKlaus Aehlig
While there, increase the time precision to nanoseconds, which is the resolution of the underlying timestamp proto.
2025-03-10remote actions: include durationKlaus Aehlig
2025-03-10local actions: return durationKlaus Aehlig
2025-03-10execution response interface: include execution durationKlaus Aehlig
2025-03-10ids: add generic interface function for creating a UUIDKlaus Aehlig
2025-03-05Move obtain capabilities failures to debug logOliver Reiche
... instead of reporting an error, although not being fatal.
2025-02-28Avoid rehashing content when using GitRepo::ReadTreeDataMaksim Denisov
2025-02-28Include ArtifactDigestFactory into "common" libraryMaksim Denisov
2025-02-27LocalApi: Create ArtifactBlobs from existing filesMaksim Denisov
2025-02-27BazelNetworkReader: Remove additional validationMaksim Denisov
...since ArtifactBlob rehashes data on construction and guarantees that the digest matches the content.