summaryrefslogtreecommitdiff
path: root/src/other_tools
AgeCommit message (Collapse)Author
45 hoursjust-mr: Fix lifetime of Git CAS lockPaul Cristian Sarbu
If calling just, the shared Git CAS lock, if taken, now lasts past the exec call, the same way as the CAS lock does, in order to prevent any rotation taking place in between.
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-04RepositoryConfig: Give access to a persistent storage config...Paul Cristian Sarbu
...whenever it is given access to a Git repository. The referenced storage config needs to outlive the repository config instance.
2025-06-02just-mr: Warn for non-content-fixed repo reached from absent mainPaul Cristian Sarbu
If the main repository is marked absent, warn if during the dependency closure computation any non-content-fixed repositories are reached, i.e., any "file"-type repositories that are neither implicitly nor explicitly marked "to_git". Also warn if the main repository itself is marked absent but is not content fixed. Add small test checking that the new warning is produced.
2025-05-22just-mr: Fix wrong setup root being picked upPaul Cristian Sarbu
This fixes a bug in which the setup root was falsely being changed by unconditionally searching early for a default configuration files, despite one being explicitly provided at the command line.
2025-05-16rc parsing: fix graph/plain graph confusionKlaus Aehlig
2025-05-15just-mr: support invocation-specific artifacts-to-build loggingKlaus Aehlig
It is already supported to ask just-mr (via the rc file) to log for each invocation the artifacts that were built. Add a similar option for the artifacts that were to be built, i.e., for dumping the intensional description of the output artifacts. That information can be used, e.g., to compute the critical path.
2025-05-09invocation log: include seconds in directory nameKlaus Aehlig
The directory name is designed to allow an easy rough sorting by time. This can also be used to identify the latest build for a specific user. However, users often run several builds in a single minute; therefore, increase time-stamp precission to include seconds as well. While still lexicographic and chronological order will disagree, at least for a single user it will be correct most of the times.
2025-05-08Invocation logging: add new field context variablesSascha Roloff
It allows to specify a list of environment variables, which are captured at invocation time and stored as key-value pairs in the metadata file. This allows to get some information about the invocation context such as username, merge-request ID or source branch (on a CI runner), or others.
2025-05-06just-mr: only set profiling-induced --dump-artifacts if supportedKlaus Aehlig
... by the requested subcommand. In particular, do not set it for pure analyse requests.
2025-04-25just-mr: support invocation-specifing artifact dumpingKlaus Aehlig
2025-04-25just-mr: support custom message with invocation-directory nameKlaus Aehlig
Allow to specify a custom string that is extended by the basename of the logging directory, in case invocation logging is activated. This can be used, e.g., to point to the user to service doing something useful with the logged data (or simply presenting it in a nicer form).
2025-04-22Remove redundant calls to std::filesystem::absoluteMaksim Denisov
...when calling std::filesystem::weakly_canonical, since the latter converts the argument path to an absolute path internally.
2025-04-22FileSystemManager: Always copy directories recursivelyMaksim Denisov
2025-04-10Remove unnecessary targets filesKlaus Aehlig
2025-04-07just-mr progress_reporter: Fix typo in log messagePaul Cristian Sarbu
2025-03-24ExecutionApi: Return TmpDirMaksim Denisov
2025-03-19just-mr progress: consider computed roots as no-workKlaus Aehlig
... as they will be taken care of only during the build.
2025-03-10just-mr: support --profile in invocation loggingKlaus Aehlig
Support passing on an invocation-specific --profile option when launching just. This allows routine profiling of builds.
2025-03-10Support graph options in invocation loggingKlaus Aehlig
2025-03-10Invocation meta-data: include repository-config digestKlaus Aehlig
To do so, extend multi-repo setup to also return the digest of the configuration file.
2025-03-10just-mr: honor invocation-log parameters when launchingKlaus Aehlig
2025-03-10Add rc-parameters for invocation loggingKlaus Aehlig
2025-03-10rc merging: invocation log is merged locallyKlaus Aehlig
2025-03-10Promote IsValidFileName to a public function of the path utilsKlaus Aehlig
... instead of being private to parse_archive.
2025-03-07git_tree_fetch_map: Remove stray semicolonPaul Cristian Sarbu
2025-02-28TreeIdGitMap: Remove unused parametersMaksim Denisov
2025-02-28TreeIdGitMap: Use ServeApi::UploadTreeMaksim Denisov
2025-02-28Include ArtifactDigestFactory into "common" libraryMaksim Denisov
2025-02-24git_tree_fetch_map: Improve warning messagePaul Cristian Sarbu
2025-02-24just-mr setup: Remove warnings when fallback to network is availablePaul Cristian Sarbu
2025-02-19ApiBundle: Remove HashFunction.Maksim Denisov
And ensure every user obtains HashFunction from corresponding IExecutionApi
2025-02-19Store HashFunction by valueMaksim Denisov
Although references give an additional information about ownership, they introduce additional design difficulties.
2025-02-19BazelApi: rename library "bazel" => "bazel_api"Maksim Denisov
2025-02-19LocalApi: rename library "local" => "local_api"Maksim Denisov
2025-02-14code structure: rename symlinks_map folder to symlinksPaul Cristian Sarbu
...to remove the unnecessary link between folder name and the logic of resolve_symlinks_map.
2025-02-11checkout locations: support extra environment variables to inheritKlaus Aehlig
2025-02-11Name library containing ExecutionConfiguration more appropriatelyKlaus Aehlig
2025-02-10content_git_map: remove unused parametersKlaus Aehlig
2025-02-07IExecutionApi: Rename IsAvailable to GetMissingDigestsMaksim Denisov
2025-02-05just-mr gc-repo: support drop onlyKlaus Aehlig
As opposed to the regular CAS/cache, for the git repository implicit in the repository cache we cannot guarantee that data from older generation is always promoted via hard links. Therefore, a certain amount of data can be duplicated between the repo-cache generations. In order to allow compacting storage to the minimum, add an option to gc-repo to only remove the older generation, without rotating.
2025-01-23Remove unused library "root_utils"Maksim Denisov
2025-01-23JustMr: Replace calls to CheckServeHasAbsentRoot with direct calls to serveMaksim Denisov
2025-01-23Remove function EnsureAbsentRootOnServeMaksim Denisov
...since it is superseded by ServeApi's method.
2025-01-23JustMr: ContentGitMap: Remove unused arguments.Maksim Denisov
2025-01-23JustMr: ContentGitMap: Use serve callsMaksim Denisov
...instead of EnsureAbsentRootOnServe.
2025-01-23JustMr: ContentGitMap: Remove code duplication.Maksim Denisov
2025-01-23JustMr: DistdirGitMap: Use serve callsMaksim Denisov
...instead of EnsureAbsentRootOnServe. And remove unused arguments.
2025-01-23JustMr: CommitGitMap: Remove unused arguments.Maksim Denisov
2025-01-23JustMr: CommitGitMap: Use serve callsMaksim Denisov
...instead of EnsureAbsentRootOnServe.