summaryrefslogtreecommitdiff
path: root/src/buildtool
AgeCommit message (Collapse)Author
2023-12-21src/buildtool/execution_api/commmon: add message_limits libraryAlberto Sartori
Define the threshold for the grpc messages.
2023-12-21remote/client_common.hpp: add utility functions for logging status of rpc callsAlberto Sartori
2023-12-20just: Query serve endpoint during analysis for non-cached export targetsPaul Cristian Sarbu
2023-12-20directory_map: refuse to read contents of absent rootsKlaus Aehlig
While in our setting, a missing directory is generally OK, it is not OK to ask for the content of an absent root. In particular, we should not assume it to be empty, just because the root is absent.
2023-12-19SystemCommand: Fix handling of child statusOliver Reiche
2023-12-14just describe: Query serve endpoint for export targets with absent rootsPaul Cristian Sarbu
2023-12-14just serve target description: Client-side and API implementationPaul Cristian Sarbu
2023-12-14just serve target description: Server-side implementationPaul Cristian Sarbu
2023-12-14just_serve.proto: Add rpc to serve description of an export targetPaul Cristian Sarbu
2023-12-14just describe: Improve cli description and code documentation of --json optionPaul Cristian Sarbu
2023-12-14just serve target: Add clarifying comment in shard computationPaul Cristian Sarbu
2023-12-14target_map: Remove unneeded method to perform endpoint consistency checkPaul Cristian Sarbu
As we already have a good enough API call and in order to improve specificity in log messages, there is no need for one more level of abstraction. This will also make it easier to drop in the future this check (if deemed unnecessary anymore), while keeping in place the mandatory check that a serve endpoint has been configured.
2023-12-14just analyse: support dumping the provides map of a targetKlaus Aehlig
2023-12-14graph_traverser: Forward repo_config via make_optionalOliver Reiche
... to support building with older GNU libstc++ versions.
2023-12-13just serve: allowing for tuning retry strategy in the configuration fileAlberto Sartori
While parsing the configuration file, if the key `"execution endpoint"` is present, the following three keys are evaluated as well: - "max-attempts" - "initial-backoff-seconds" - "max-backoff-seconds"
2023-12-13bazel client: use the retry strategy, provided by the retry lib, when doing ↵Alberto Sartori
the rpc calls.
2023-12-13Add command line options to tune the retry strategy for rpc callsAlberto Sartori
Three new command line options have been added: - `--max-attempts` - `--initial-backoff-seconds` - `--max-backoff-seconds`
2023-12-13Add 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-13bytestream client: log more info in case of a failureAlberto Sartori
2023-12-13executor.hpp: log more info in case of failureAlberto Sartori
2023-12-13Add debug output for blob splittingSascha Roloff
2023-12-12just: Report progress of export targets served during analysisPaul Cristian Sarbu
2023-12-12just serve: Implement a progress reporting infrastructurePaul Cristian Sarbu
This commit simply defines the logic needed for progress reporting.
2023-12-12absent_target_map: Improved loggingPaul Cristian Sarbu
2023-12-12serve target: Update client-side to add execution configuration fields to ↵Paul Cristian Sarbu
request
2023-12-12serve target: Update server-side to compute correct target cache shardPaul Cristian Sarbu
2023-12-12just_serve.proto: Update serve target requestPaul 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-12execution_api: Move dispatch file parser into separate utilityPaul Cristian Sarbu
2023-12-12build_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-12just serve: Fix handling of missing remote execution endpointPaul 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-12serve configuration: Fix remote execution check to allow unset valuePaul 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-12serve target: Move server-side helper methods in own libraryPaul Cristian Sarbu
2023-12-12serve target: Use consistent scope resolution in grpc callsPaul Cristian Sarbu
2023-12-12Fix formatting of blob used to shard target cachePaul 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-12Filesystem: Fix copy overwrite of symlink with fileOliver Reiche
... and improve log messages in case of failure.
2023-12-07just serve: Implement client-side ServeTree and extend serve APIPaul Cristian Sarbu
2023-12-07just serve: Implement server-side ServeTree RPCPaul Cristian Sarbu
2023-12-07source_tree.cpp: Fix wrong path in log messagePaul Cristian Sarbu
2023-12-07just_serve.proto: Add rpc to serve known tree and sync it to remote CASPaul Cristian Sarbu
2023-12-06install-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-06just serve: make tc write strategy configurableKlaus Aehlig
2023-12-06Add CLI option to set write strategy for target-level cacheKlaus Aehlig
2023-12-05target-cache writing: support different strategiesKlaus Aehlig
2023-12-05just serve: Orchestrate remote build for uncached export targetsPaul Cristian Sarbu
2023-12-05FileRoot: Add ignore-special flag getter and remove unneeded inliningPaul Cristian Sarbu
2023-12-05serve target client: Ensure repository key blob is also in remote CASPaul Cristian Sarbu
2023-12-05just serve: Add configuration fields for remote buildsPaul Cristian Sarbu
2023-12-05serve target: Add missing gc lockPaul Cristian Sarbu
2023-12-05just main: Move useful results processing methods to own libraryPaul Cristian Sarbu
2023-12-05AnalyseTarget: Simplify method signaturePaul 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.