summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2025-01-15Add to GitRepo common implementation IsTreeInRepoMaksim Denisov
2025-01-15Use GitRepo::ImportToGit during evaluation of precomputed roots.Maksim Denisov
2025-01-15Use GitRepo::ImportToGit in SourceTreeServiceMaksim Denisov
2025-01-15Add to GitRepo common implementation of ImportToGitMaksim Denisov
2025-01-14Fix typo in log messageKlaus Aehlig
2025-01-13just-mr setup: Fix ensuring 'subdir' only accepts non-upwards pathsPaul Cristian Sarbu
...which implicitly also enforces non-absolute. This ensures that there is no access outside the root directory of a Git checkout or the temporary unpack directory of an archive.
2025-01-10just-mr setup: Fix ensuring field 'subdir' only accepts relative pathsPaul Cristian Sarbu
2025-01-09just build: add new option -pKlaus Aehlig
... allowing to print the unique artifact built (if any). This allows convenient inspection of the build result of targets that define precisely one artifact.
2025-01-08source tree service: Fix ensuring Git cache rootPaul Cristian Sarbu
This is an amendment to the changes in commit 8234079, as the underlying issue was only partially solved there. While the call to GitRepo::InitAndOpen is in itself properly guarded, it does not share a lock with the call to create the path to the Git cache if it is missing. Fix this by moving the call to the method ensuring the Git cache initialization to after acquiring the Git cache root garbage collector shared lock.
2025-01-08Fix indirection of workspace roots in precomputed rootsMaksim Denisov
2025-01-07source tree service: Ensure the Git cache existsPaul Cristian Sarbu
Similarly to just-mr, each SourceTree RPC must ensure that the Git cache folder exists and the Git cache repository is initialized before using it. While there, fix missing shared locks on the Git cache root.
2025-01-07Implement rebuilding of StorageConfigMaksim Denisov
2025-01-07Add backend description to CAS in a ctor of TargetCacheMaksim Denisov
...instead of adding it preliminarily.
2025-01-07TargetCache: use BackendDescription for sharding instead of a plain stringMaksim Denisov
2025-01-07Store BackendDescription in StorageConfigMaksim Denisov
...instead of a plain hash. Hash gets computed for different storage types on the fly.
2025-01-07TargetCache: employ the shard even for a default constructed objectMaksim Denisov
...since this is a more generic approach.
2025-01-07Pass BackendDescription to StorageConfig from the outsideMaksim Denisov
2025-01-07Pack BackendDescription to a classMaksim Denisov
...to let it be stored as an independent instance.
2024-12-20clean up dependenciesKlaus Aehlig
2024-12-20TreeStructure: make just-mr aware of "tree structure" rootsMaksim Denisov
2024-12-20TreeStructure: support parsing in just-mrMaksim Denisov
2024-12-20TreeStructure: Unify parsing of precomputed roots in just-mrMaksim Denisov
2024-12-19TreeStructure: evaluate roots.Maksim Denisov
2024-12-19TreeStructure: Implement computation logicMaksim Denisov
2024-12-19TreeStructure: Implement cache with uplinkingMaksim Denisov
2024-12-19Implement TreeStructureRootMaksim Denisov
2024-12-19FileRoot: disclose RootGit data.Maksim Denisov
2024-12-19Move functionality for staging from CAS to output paths to TreeReaderMaksim Denisov
...and employ it in LocalApi.
2024-12-19Remove FileRoot::ComputedRootMaksim Denisov
2024-12-19Use PrecomputedRoots during evaluationMaksim Denisov
2024-12-19Support substitution of precomputed roots in RepositoryConfigMaksim Denisov
2024-12-19Support PrecomputedRoots in FileRootMaksim Denisov
2024-12-19Implement PrecomputedRootsMaksim Denisov
...that is an abstract representation of roots that must be computed before the start of the main build.
2024-12-19Fix cause of minor warningsOliver Reiche
2024-12-19Fix struct member initializationOliver Reiche
2024-12-19Remove unused headersOliver Reiche
2024-12-19Remove unused functionOliver Reiche
2024-12-19Remove unneeded compat_storageOliver Reiche
2024-12-19Remove unnecessary movesOliver Reiche
2024-12-19JustMr: update output config for computed rootsMaksim Denisov
2024-12-12Computed roots: normalize build argumentsKlaus Aehlig
While building a computed root generally follows the way the main build is carried out, certain parameters need to be cleared. In particular, the computed root is not part of the rebuild and no build output should be dumped anywhere.
2024-12-11main: avoid spourious warningsKlaus Aehlig
... given that a proper reporting of the return code if repo_config.SetGitCAS is contained in main anyway. Therefore, log the details trying to set the git cas to a level less than that of the final reporting.
2024-12-11RepositoryConfig::SetGitCAS: allow setting log_levelKlaus Aehlig
... as there might be cases where it is expected that setting the git CAS fails, e.g., if referring to the implict git repository in the local build root as a fallback CAS.
2024-12-11GitCAS::Open: allow specifying the log-level for failureKlaus Aehlig
This method returns a GitCASPtr allowing the caller to handle failure gracefully. Therefore, logging should be at most at level Warning as it is up to the caller to provide the fatal error message. Moreover, it can be at lower level in cases where failure to open that git cas is not an unexpected event, e.g., when looking for a blob in local mirrors first.
2024-12-11computed root building: synchronize log to remote in case of failureKlaus Aehlig
When materializing a computed root fails, the error is reported as a reference (in form of a blob identifier) to the log. This indirection is necessary as many roots are, in general materialized simultaneously. When building remotely, also upload the build log to remote execution; in this way, it is available in the same way as for serve-build failures (which are the other delegated builds). One particular use case is if the failure happens on a CI build; then the upload ensures the actual log is still available for the observer of the CI (provided they have access to the remote execution used by the CI).
2024-12-10Computed Roots: be aware of the serve end pointKlaus Aehlig
... as the base repository of a computed root might be absent.
2024-12-10just-mr launch: Pass local launcher to just analysePaul Cristian Sarbu
2024-12-09Computed roots: only install artifactsKlaus Aehlig
... however, also build the runfiles, as they are needed to write the target-level cache for the underlying export target.
2024-12-09Avoid writing to the CAS during bootstrappingMaksim Denisov
2024-12-09Move compactifier to a separate libraryMaksim Denisov