summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-03-06Release 1.5.0v1.5.0Klaus Aehlig
2025-03-06tutorial: Add chapter on just-lockPaul Cristian Sarbu
Also update the README.
2025-03-06tutorial: Consistently use the fmtlib release tagPaul Cristian Sarbu
...instead of using the master branch.
2025-03-05Move obtain capabilities failures to debug logOliver Reiche
... instead of reporting an error, although not being fatal.
2025-03-05Update CHANGELOGKlaus Aehlig
... documenting fixes since 1.5.0~beta2
2025-03-05end-to-end/just-mr: Add test to check special entries are correctly ignoredPaul Cristian Sarbu
...during setup of git roots, when the appropriate pragma is set. Check both symlinks and other special entries, e.g., submodules.
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-03-05end-to-end tests: Fix small typos and inconsistenciesPaul Cristian Sarbu
2025-03-04Update grpc to v1.70.1Paul Cristian Sarbu
...together with its dependencies: - boringssl dec0d8f681348af8bb675e07bd89989665fca8bc - protobuf v29.0 - abseil 20240722.0 Also update the bootstrap command for ssl to account for the fact that now also the crypto library has fully moved to C++ and the location of its sources has changed.
2025-03-03Add regression test for just-import-gitKlaus Aehlig
... verifying that indiections are correctly taken into account.
2025-03-03prune bootstrap sourcesKlaus Aehlig
Originally, it was a good idea to add the full "bin" directory to the bootstrap sources; all scripts there where used in some form or another during bootstap and by taking the whole directory, we wouldn't have to update the target when adding new scripts. However, times have changed. The set of scripts neede for bootstrapping is stable for quite a while now; on the other hand actively-developped tools (like just-lock and just-import-git) now reside in "bin". So, to avoid unnecessary runs of the bootstrap tests, prune the dependency set. While there, also mark as tainted.
2025-03-03just-lock: follow indirection when checking for computed rootsPaul Cristian Sarbu
When deciding if a repository is a computed root (i.e., of type "computed" or "tree structure"), first follow indirections. Otherwise we would try to read of the "type" entry of a string which, of course, crashes. Based on the similar fix for just-import-git.
2025-03-03just-import-git: follow indirection when checking for computed rootsKlaus T. Aehlig
When deciding if a repository is a computed root (i.e., of type "computed" or "tree structure"), first follow indirections. Otherwise we would try to read of the "type" entry of a string which, of course, crashes.
2025-02-28Release 1.5.0~beta2v1.5.0-beta2Klaus Aehlig
2025-02-28just-lock: Parallelize cloning, subject to GILPaul Cristian Sarbu
Python's Global Interpreter Lock (GIL) hugely reduces the amount of parallelism one can achieve. However, as cloning repositories is I/O bound, the total runtime is improved by running it in parallel.
2025-02-28just-lock imports: Parallelize checkouts, subject to GILPaul Cristian Sarbu
Python's Global Interpreter Lock (GIL) hugely reduces the amount of parallelism one can achieve. However, as the checkout methods are I/O bound, the total runtime is improved by running them in parallel.
2025-02-28just-lock git-tree imports: Separate checkout logic into own methodPaul Cristian Sarbu
This will allow it to be run mostly asynchronously with other checkouts in the future.
2025-02-28just-lock archive imports: Separate checkout logic into own methodPaul Cristian Sarbu
This will allow it to be run mostly asynchronously with other checkouts in the future.
2025-02-28just-lock git imports: Separate checkout logic into own methodPaul Cristian Sarbu
This will allow it to be run mostly asynchronously with other checkouts in the future.
2025-02-28just-lock: Improve thread safety in Git operationsPaul Cristian Sarbu
Similarly to how it is done in just-mr: - lock against concurrent git-tag calls; - extend git-fetch call with arguments that ensure thread-safe operation.
2025-02-28just-lock: Always use os.environ.copy()Paul Cristian Sarbu
2025-02-28just-lock git imports: Improve cache hit ratePaul Cristian Sarbu
...by first retrieving only the desired commit id from the definitive remote in order to allow it to be checked against the local Git cache. This massively reduces the average network traffic from regenerating the just-mr configuration in justbuild projects that always require the latest version of their dependencies.
2025-02-28just-lock: Allow stderr capture and reporting when running commandsPaul Cristian Sarbu
2025-02-28just-lock: Properly format multi-line logsPaul Cristian Sarbu
2025-02-28just-lock: Fix missing fail conditionPaul Cristian Sarbu
2025-02-28just-lock clone: Fix wrong order in resolving treesPaul Cristian Sarbu
Match correctly the behavior of just-mr, i.e., resolve the special entries of the relevant subtree of the original tree instead of taking the subtree of the resolved original tree. This also means that the clones of archives can directly stage the relevant subdir of the unpacked content and forward any 'special' pragma (same as for other cloned repository types).
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-27BazelNetwork: Adapt the test that reads objects of unknown sizeMaksim Denisov
2025-02-27Remove BytestreamClient test.Maksim Denisov
ArtifactBlob rehashes content, there's no way to construct it with a wrong digest.
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