summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2025-06-12Release 1.5.3v1.5.3Klaus Aehlig
2025-06-11GitRepo: Fix wrong handling of fatal loggingPaul Cristian Sarbu
...in creating Git tree from filesystem directory. (cherry-picked from 6b31a88acbe6a6556e36f838b914a82879949811)
2025-06-11GitRepo: Use std::invoke to call generic loggerPaul Cristian Sarbu
(cherry-picked from cf33c43c8b12d39d0a6b3751db3f58a9895cd41d)
2025-06-11ParallelRetrieveToCasWithCache: 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. (cherry-picked from d1dc5cce32ba20c0dae13aecf63e88fe8ead899f)
2025-06-11WriteTargetCacheEntries: do not use quadratic many jobsKlaus Aehlig
When backing up target-cache entries we use parallelism at two dimensions, the independent cache entries and for each entry we retrieve the artifacts in parallel. If for each dimension we use the full amount of parallelism allowed, that gives a number of threads up to the square of the amount of parallelism specified by the user. Therefore, use in each dimension only the square root of the allowed parallelism keeping the total parallelism (up to rounding) within the specified range. (cherry-picked from f4e9de93b50fe8135d378830577cda687cae28ee)
2025-06-11GitRepo: Methods expected to use a logger should do so...Paul Cristian Sarbu
...in all return paths, including in reporting caught exceptions. In this way give the opportunity for any calling AsyncMap to receive an expected fatal logger call on failure and thus be able to shut down gracefully. This is in line with the AsyncMap design, where the loggers are assumed to be safe to call by a consumer. (cherry-picked from ae33d0f287e83769dbef9287e64006e1c0c463e9)
2025-06-11Start 1.5.3 development cycleKlaus Aehlig
2025-05-19Release 1.5.2v1.5.2Klaus Aehlig
2025-05-19LocalAction: Fix collection of directory symlinkOliver Reiche
(cherry-picked from fe4006fce755432b1ae3a273873f3649512c7f94)
2025-05-19computed_roots: Fix missing return on fatal in evaluation async mapPaul Cristian Sarbu
(cherry-picked from fe11e1cc49ed46b1837336df33fb0805668905a6)
2025-05-19generic rule: fix conflict checkKlaus Aehlig
For a generic rule, it is an error if map union of various inputs (overlayed in correct order) does not form a proper stage. To implement this check properly, we first have to construct the map of all inputs and only then perform the staging check and not do the check with only the runfiles, as 5e104a526cf76fe75312d2fd288a3c88f506fb0a accidentally did. Fix this. (cherry-picked from f249a220913f4421c58c9c6251e4f3dce67e251c)
2025-05-19Start 1.5.2 development cycleKlaus Aehlig
2025-04-01Release 1.5.1v1.5.1Klaus Aehlig
2025-04-01built-in rule "tree": fix supported fieldsKlaus Aehlig
The built-in rule "tree" does not support the field "data". Hence remove it from the list of white-listed fields so that an appropriate warning is issued if it occurs for that rule. (cherry-picked from 1324f45fa7b1938b39854f7b38d981c238da2fbc)
2025-04-01just-mr progress: consider computed roots as no-workKlaus Aehlig
... as they will be taken care of only during the build. (cherry-picked from ff4ef1723619fb78c6eaf44c35138145f5af39ca)
2025-04-01serve service: receive trees in parallel in local CASKlaus Aehlig
The serve service can be asked to get a tree root from the designated remote-execution endpoint. Speed this process up by going through local CAS; in this way, - identical blobs are fetched only once, and - the fetching happens in parallel. (cherry-picked from 360ddbb0285554c936d5eaa95460d5aad3e13b1e)
2025-04-01just serve: write pid and info files atomicallyKlaus Aehlig
(cherry-picked from 241ccadfc5b9bcebbbd5f41c96eda6b0d208a390)
2025-04-01just execute: write pid and info files atomicallyKlaus Aehlig
(cherry-picked from 5e24dd0fc5e255d094a3d78e8e1b64a202c1e7a4)
2025-04-01Add library for atomically writing filesKlaus Aehlig
... by using the write-rename dance. This allows processes waiting for pid or similar files to rely on the information being available as soon as the file is available. (cherry-picked from 1efdbe20d506990028caccbfbc7fd241b5a01a99)
2025-04-01utils atomic: Update link to libcxx C++20 adoption pagePaul Cristian Sarbu
(cherry-picked from f93e4cdb371aa01ac157ce1a79e392ceb0108dad)
2025-04-01git_tree_fetch_map: Remove stray semicolonPaul Cristian Sarbu
(cherry-picked from 0cef4facae7bd3d2345c8f099b0382168b0c2a63)
2025-04-01Start 1.5.1 development cycleKlaus Aehlig
2025-03-06Release 1.5.0v1.5.0Klaus Aehlig
2025-03-05Move obtain capabilities failures to debug logOliver Reiche
... instead of reporting an error, although not being fatal.
2025-03-05resolve_symlinks_map: Fix missing ignore special flag in reading treePaul Cristian Sarbu
2025-03-05FileSystemManager: Let caller decide log level for reading directoryPaul Cristian Sarbu
Do not emit errors when it does not lead to build failures. Callers handle the log level at which failures of this method should be logged.
2025-02-28Release 1.5.0~beta2v1.5.0-beta2Klaus Aehlig
2025-02-28Modernize conceptsMaksim Denisov
2025-02-28Avoid rehashing content when using GitRepo::ReadTreeDataMaksim Denisov
2025-02-28GraphTraverser: Pass blobs to UploadBlobs by rvalueMaksim Denisov
...in order to avoid copying while uploading.
2025-02-28GraphTraverser: Pass artifacts, blobs and trees to BuildAndStage by rvalueMaksim Denisov
2025-02-28TreeIdGitMap: Remove unused parametersMaksim Denisov
2025-02-28TreeIdGitMap: Use ServeApi::UploadTreeMaksim Denisov
2025-02-28LogConfig: avoid returning constant valuesMaksim Denisov
...and remove an unused method.
2025-02-28Make statistics a separate libraryMaksim Denisov
2025-02-28Artifact: Use ArtifactDigestFactoryMaksim Denisov
...to remove code duplication.
2025-02-28Include ArtifactDigestFactory into "common" libraryMaksim Denisov
2025-02-27LocalApi: Create ArtifactBlobs from existing filesMaksim Denisov
2025-02-27ArtifactBlob: Support construction from an existing fileMaksim Denisov
2025-02-27ArtifactBlob: Allow different content sourcesMaksim Denisov
2025-02-27BazelNetworkReader: Remove additional validationMaksim Denisov
...since ArtifactBlob rehashes data on construction and guarantees that the digest matches the content.
2025-02-27ArtifactBlob: Remove public constructor.Maksim Denisov
2025-02-27ArtifactBlob: Use static function for constructionMaksim Denisov
2025-02-27ArtifactBlob: Support construction in memoryMaksim Denisov
2025-02-27ArtifactBlob: Check access to the contentMaksim Denisov
2025-02-27ArtifactBlob: Support incremental readingMaksim Denisov
2025-02-27ArtifactBlob: Add cpp fileMaksim Denisov
2025-02-27ArtifactBlob: Convert to a classMaksim Denisov
2025-02-27ArtifactBlob: Move from execution_api/common to commonMaksim Denisov
2025-02-27GitApi: remove intermediate ArtifactBlob containerMaksim Denisov