Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-12-13 | Add a retry lib that provides useful wrappers to allow to retry... | Alberto Sartori | |
...the provided function until either the function succeeds, maximum number of attempts is reached or the function returns an error indicating that we cannot simply retry. It is meant to be used with rpc calls, but the logic can be applied to other scenarios. | |||
2023-12-13 | bytestream client: log more info in case of a failure | Alberto Sartori | |
2023-12-13 | executor.hpp: log more info in case of failure | Alberto Sartori | |
2023-12-13 | Add debug output for blob splitting | Sascha Roloff | |
2023-12-12 | just: Report progress of export targets served during analysis | Paul Cristian Sarbu | |
2023-12-12 | just serve: Implement a progress reporting infrastructure | Paul Cristian Sarbu | |
This commit simply defines the logic needed for progress reporting. | |||
2023-12-12 | absent_target_map: Improved logging | Paul Cristian Sarbu | |
2023-12-12 | serve target: Update client-side to add execution configuration fields to ↵ | Paul Cristian Sarbu | |
request | |||
2023-12-12 | serve target: Update server-side to compute correct target cache shard | Paul Cristian Sarbu | |
2023-12-12 | just_serve.proto: Update serve target request | Paul Cristian Sarbu | |
The request should only be restricted to the minimal information needed by the remote to answer it. In particular, the execution endpoint address should not be transmitted. | |||
2023-12-12 | execution_api: Move dispatch file parser into separate utility | Paul Cristian Sarbu | |
2023-12-12 | build_utils: Be specific in target cache entry store location... | Paul Cristian Sarbu | |
...by specifying which TargetCache instance to use. This will allow 'just serve' to store target cache entries into the correct sharded location. | |||
2023-12-12 | just serve: Fix handling of missing remote execution endpoint | Paul Cristian Sarbu | |
Only the client needs to make sure that the remote execution endpoint is set in the case 'just serve' acts also as 'just execute', i.e., when a remote execution endpoint is not specified, while for setting up the serve server a missing execution endpoint should remain unset. | |||
2023-12-12 | serve configuration: Fix remote execution check to allow unset value | Paul Cristian Sarbu | |
In the scenario when 'just serve' acts as 'just execute', the remote execution endpoint returned by the serve service should be allowed to be empty. In this case, from the server's perspective, there is nothing to be checked, however a client might still want to ensure that its own configured serve and execution endpoints match. | |||
2023-12-12 | serve target: Move server-side helper methods in own library | Paul Cristian Sarbu | |
2023-12-12 | serve target: Use consistent scope resolution in grpc calls | Paul Cristian Sarbu | |
2023-12-12 | Fix formatting of blob used to shard target cache | Paul Cristian Sarbu | |
The ToJson method of RemoteAddress was wrongly creating a list instead of a simple string, thus a wrongly formatted backend description was being used to shard the target cache. This however does not affect the correctness of the build. Changelog also updated accordingly. | |||
2023-12-12 | Filesystem: Fix copy overwrite of symlink with file | Oliver Reiche | |
... and improve log messages in case of failure. | |||
2023-12-07 | just serve: Implement client-side ServeTree and extend serve API | Paul Cristian Sarbu | |
2023-12-07 | just serve: Implement server-side ServeTree RPC | Paul Cristian Sarbu | |
2023-12-07 | source_tree.cpp: Fix wrong path in log message | Paul Cristian Sarbu | |
2023-12-07 | just_serve.proto: Add rpc to serve known tree and sync it to remote CAS | Paul Cristian Sarbu | |
2023-12-06 | install-cas cli: Remove remote execution properties and dispatch file... | Paul Cristian Sarbu | |
...options from the generated help messages, as these are not used for the install-cas subcommand. This also updates the man page accordingly, where the dispatch file was marked as supported, as well as update any test affected by these changes. | |||
2023-12-06 | just serve: make tc write strategy configurable | Klaus Aehlig | |
2023-12-06 | Add CLI option to set write strategy for target-level cache | Klaus Aehlig | |
2023-12-05 | target-cache writing: support different strategies | Klaus Aehlig | |
2023-12-05 | just serve: Orchestrate remote build for uncached export targets | Paul Cristian Sarbu | |
2023-12-05 | FileRoot: Add ignore-special flag getter and remove unneeded inlining | Paul Cristian Sarbu | |
2023-12-05 | serve target client: Ensure repository key blob is also in remote CAS | Paul Cristian Sarbu | |
2023-12-05 | just serve: Add configuration fields for remote builds | Paul Cristian Sarbu | |
2023-12-05 | serve target: Add missing gc lock | Paul Cristian Sarbu | |
2023-12-05 | just main: Move useful results processing methods to own library | Paul Cristian Sarbu | |
2023-12-05 | AnalyseTarget: Simplify method signature | Paul Cristian Sarbu | |
Similarly to the jobs common argument, we can simply only pass the needed single element from the analysis arguments struct. This will allow for a clearer understanding of what target analysis requires and reduce the overhead when reutilizing this method in just serve. | |||
2023-12-05 | just main: Move root parser into static FileRoot method... | Paul Cristian Sarbu | |
...to make it available also for setting up 'just serve' builds. | |||
2023-12-05 | just main: Make capitalization in log messages consistent | Paul Cristian Sarbu | |
2023-12-05 | executor: Move helper methods inside ExecutorImpl class | Paul Cristian Sarbu | |
...with appropriate scope depending on where they are called from, to avoid unnecessary code duplication. | |||
2023-12-04 | target.hpp: Fix double include statement | Paul Cristian Sarbu | |
2023-11-30 | Resolve inconsistencies in third-party headers include format | Paul Cristian Sarbu | |
2023-11-30 | local API: Implement upload file | Klaus Aehlig | |
... overriding the default implementation. In this way, files can be added directly to the local CAS without having to completely reside in memory. | |||
2023-11-30 | Splice blobs on disk | Klaus Aehlig | |
When using blob splitting, we expect to create a potentially large file. Therefore reconstruct it from its parts on disk rather than keeping the whole file in memory. | |||
2023-11-30 | remote API: support uploading files from the file system | Klaus Aehlig | |
Allow implementations to have a specialized way of uploading a file owned by the build process to the applicable cas, both as file, as well as as tree object (in native mode). If no implementation is provided, the default is to read the file into memory and use the Upload method. | |||
2023-11-30 | Add files to CAS without fully keeping them in memory | Klaus Aehlig | |
2023-11-30 | hash_function: support hashing of files | Klaus Aehlig | |
Extend our internal hash-function abstraction to support hashing of files. In this way, we can provide a way to compute the hash of a potentially large file without having to fully read it to memory first, while still keeping the details of the used hash function abstracted away. | |||
2023-11-30 | ObjectType: Add noexcept specifier | Paul Cristian Sarbu | |
2023-11-30 | FileRoot: Fix content description for ignore-special roots | Paul Cristian Sarbu | |
Ignore-special git-tree-based roots are still content defined, so one should use the correct marker in the JSON description of the root that will be stored in the repository description of target cache keys. This commit fixes the issue and improves documentation. | |||
2023-11-27 | Refactoring RepositoryConfig | Paul Cristian Sarbu | |
With the introduction of 'just serve', export targets can now be built also independently from one another based on their corresponding minimal repository configuration, as stored in the target cache key. In this context, this commit changes the RepositoryConfig usage from one global (static) instance to pointers passed as necessary throughout the code. | |||
2023-11-24 | just: Fix wrong access to moved struct | Paul Cristian Sarbu | |
The traverser instantiation consumes the arguments.build struct, therefore one must not access that struct later in the code. | |||
2023-11-22 | LocalAction: Fix staging of empty trees | Oliver Reiche | |
2023-11-22 | Implement blob splitting protocol on just client side | Sascha Roloff | |
2023-11-22 | Implement blob splitting protocol on just server side | Sascha Roloff | |