summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-11-14system: Implement IWYU suggestionsPaul Cristian Sarbu
2024-11-14storage: Implement IWYU suggestionsPaul Cristian Sarbu
2024-11-14serve_api: Implement IWYU suggestionsPaul Cristian Sarbu
2024-11-14progress_reporting: Implement IWYU suggestionsPaul Cristian Sarbu
2024-11-14multithreading: Implement IWYU suggestionsPaul Cristian Sarbu
2024-11-14main: Implement IWYU suggestionsPaul Cristian Sarbu
2024-11-14logging: Implement IWYU suggestionsPaul Cristian Sarbu
2024-11-14graph_traverser: Implement IWYU suggestionsPaul Cristian Sarbu
2024-11-14file_system: Implement IWYU suggestionsPaul Cristian Sarbu
2024-11-14execution_engine: Implement IWYU suggestionsPaul Cristian Sarbu
2024-11-14execution_api remaining: Implement IWYU suggestionsPaul Cristian Sarbu
2024-11-14execution_api/remote: Implement IWYU suggestionsPaul Cristian Sarbu
2024-11-14execution_api/execution_service: Implement IWYU suggestionsPaul Cristian Sarbu
2024-11-14crypto: Implement IWYU suggestionsPaul Cristian Sarbu
2024-11-14common: Implement IWYU suggestionsPaul Cristian Sarbu
2024-11-14build_engine: Implement IWYU suggestionsPaul Cristian Sarbu
Requires the use of a pragma to avoid wrong removal suggestion for path_hash.hpp. Co-authored-by: Maksim Denisov <denisov.maksim@huawei.com>
2024-11-14auth: Implement IWYU suggestionsPaul Cristian Sarbu
2024-11-14clang-format: Update config filePaul Cristian Sarbu
The base style already handles correctly the system includes, so one needs to only add regex expressions to handle third-party and own includes. This fixes also the include formatting of git_config_run.test.cpp.
2024-11-14tpp includes: Add hint for IWYU lintingPaul Cristian Sarbu
IWYU needs to be explicitly instructed how to handle included .tpp files in order to not falsely suggest their removal. Conversely, it also needs to know not to suggest including .tpp files instead of the corresponding .hpp files.
2024-11-14target_cache_key: Move hash definition to class headerPaul Cristian Sarbu
2024-11-13RepositoryConfig: get rid of implict usage assumptionKlaus Aehlig
The class RepositoryConfig is mutable, but has a set-once derived value, the largest bisimulation of the repositories described. This construction is problematic in that it assumes that all modifications be done before the first inspection of a value happens that implicitly triggers the setting of the derived value. Therefore, at the very least reset this derived value if a repository is modified.
2024-11-13just main: subcommand traverse should only traverseKlaus Aehlig
... regardless of success. If traversing fails, we should just return failure. In this way, we can also avoid an unnecessary else-branch. While there, always return normally for tarverse, avoiding direct exits.
2024-11-11["lint", "targets"]: support reporting the name of the linting performedKlaus Aehlig
2024-11-11repository-config(5): document the possibility of absent rootsKlaus Aehlig
2024-11-08Design computed roots: Add additional root typeKlaus Aehlig
... specifically for the use case of target files depending on the directory structure.
2024-11-06Use "cwd" property of actionsKlaus Aehlig
... instead of composing a shell command doing a cd first.
2024-11-06Use quote and quasi-quote to simplify some expressionsKlaus Aehlig
2024-11-06Prefer built-in "nub_left"Klaus Aehlig
Now that justbuild 1.4 is available, the workaround of defining "nub_left" in terms of "reverse" and "nub_right" is no longer necessary.
2024-11-06Make bootstrap-traverser aware of the "cwd" property of actionsKlaus Aehlig
2024-11-04Start 1.5 development cycleKlaus Aehlig
2024-11-04Release 1.4.0v1.4.0Klaus Aehlig
2024-10-31["lint", "targets"]: support TMPDIRKlaus Aehlig
2024-10-30Release 1.4.0~beta1v1.4.0-beta1Klaus Aehlig
2024-10-30CHANGELOG: mention cooperation of `just serve` with compatible remoteKlaus Aehlig
2024-10-30Update to grpc v1.67.1Paul Cristian Sarbu
Update also direct dependencies: - boringssl b8b3e6e - google_apis fe8ba05 - protobuf v27.2 Also update the bootstrap build description for crypto library. Remove ssl patch for gcc-14 build as fix is now in upstream. Remove bytestream.proto patch as fix is now in upstream. Target utf8_range now taken only from protobuf, where it is first defined. For now, upb dependencies in grpc still taken from its own third_party subdirectory, as it is still kept synchronized with the corresponding tree in the corresponding protobuf version.
2024-10-29Graph traverser: fix wrong wording in trace-level messageKlaus Aehlig
As we write the first message about the actual upload of a blob, we should use future rather than past tense. Also, again at trace level, add a message of successful completion, if we succeeded.
2024-10-29Clean up unused dependenciesKlaus Aehlig
2024-10-28Retry Execution on FAILED_PRECONDITIONKlaus Aehlig
The specification for this status code is as follows. One or more errors occurred in setting up the action requested, such as a missing input or command or no worker being available. The client may be able to fix the errors and retry. We routinely ensure all inputs are available to the remote execution before we start an action, so all prerequisites will be there on a compliant server, however might not actually be on a server where the CAS only has eventual consistency or is incorrect (due to old cache entries on CAS purge) in its answer to FindMissingBlobs. While we have no guarantee that a retry will help, we still retry; at least in the case of an unavailable worker or CAS entries not yet available due to eventual consistency, this will help. Also, we log at debug lvel the full response, including the repeated Any message. In this way, we can find out what useful information (if any) is sent by popular remote-execution services and implement more specific mitigations in the future.
2024-10-28BatchUploadBlobs: decrease log level for retried tasksKlaus Aehlig
In BatchUploadBlobs we accept short writes and, in case of no progress, fall back to single blob upload. Therefore, failure to upload blobs is not fatal and therefore should not be reported at error level. Decrease the log level accordingly: a protocol failure to upload is a performance-related event (as the retry needs additional time), catching an internal exception is something that shouldn't really happen, so we warn the user.
2024-10-28WithRetry: Support reduced log level for failuresKlaus Aehlig
In some situations, we use a retry strategy, but in case of complete failure have another way of attempting that task. In this case, we should not emmit an error message right away. Add support for this.
2024-10-25Add dependencies explicitly that are included directlyKlaus Aehlig
... instead of relying on those dependencies being pulled in indirectly.
2024-10-25["lint", "targets"]: Also have a metadata fileKlaus Aehlig
... containing the names of artifacts (files or directories) that are from the target itself of the runfiles of direct dependencies. This allows tools to check some form of strict dependency structure.
2024-10-25lint information: also provide the direct-deps artifacts separatelyKlaus Aehlig
2024-10-25Enable compatible mode for just-mr and SourceTree serve service...Paul Cristian Sarbu
...by using the new local api that can handle any remote endpoint, irrespective of protocol. Also ensure all tests for the serve service are now being run both in native and compatible modes.
2024-10-25Add new local execution api that can interact with any remotePaul Cristian Sarbu
...irespective of the used protocol. This api is useful in enabling just-mr and the SourceTree service of just serve to interact seamlessly with any remote-execution endpoint.
2024-10-25serve service: Set correct protocol-aware digests in responsesPaul Cristian Sarbu
When returning digests in responses, ensure they are of the type the remote would know. Compatible digests can be found vis the stored mappings from Git digests to bazel objects.
2024-10-25serve service: Use digest when requesting serve to set up a treePaul Cristian Sarbu
...instead of passing just the Git hash, which imposes the remote to always be native. The serve service proto file is updated accordingly.
2024-10-25serve service: Respond with digest for blob and tree checksPaul Cristian Sarbu
...to be able to interrogate remotes irrespective of protocol. When serve endpoint is active, it will provide the correct digest with which to interrogate the remote endpoint. Otherwise, for a compatible remote check the file mappings for the correct digest. The serve service proto file is updated accordingly.
2024-10-25serve service: Respond also with digest in serve repository tree RPCsPaul Cristian Sarbu
...besides the simple Git hash, if syncing was done. This way one can know what digest to ask for from the remote. The serve client also needs to now know what hash function the remote expects. The serve service proto file is updated accordingly.
2024-10-25serve proto: Fix inconsistencies in referring to GitPaul Cristian Sarbu