Age | Commit message (Collapse) | Author | |
---|---|---|---|
9 days | Executor: Verify types of output artifacts | Oliver Reiche | |
... as Justbuild has a strict separation between output files and output directories, but the RBE protocol does not necessarily maintain such a separation and therefore does not perform such a verification. | |||
2025-06-16 | Avoid unnecessary work in accessing container entries | Paul 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-05 | Executor: Log action outputs sorted by path | Paul Cristian Sarbu | |
...also on failure or warning. | |||
2025-06-04 | Executor: Check validity of action outputs in compatible mode | Paul Cristian Sarbu | |
This ensures that any entries that the standard remote execution protocol accepts but are invalid in justbuild, i.e., upwards symlinks, are rejected. For this purpose, do not fail in the action response instances, just perform the check there, as all required information is available, and set a flag that the executor can check as needed. | |||
2025-06-04 | Executor: Move noexcept enforcement to main public call points | Paul Cristian Sarbu | |
...and remove specifiers from methods that might throw in unexpected ways. By doing this, balance the need to avoid wrongly silencing exception sources during execution with reducing the amount of try-catch blocks. | |||
2025-06-04 | FileRoot: Ensure all read blobs and trees contain valid entries | Paul Cristian Sarbu | |
In particular, ensure that Git roots check for, e.g., upwards symlinks, before returning blobs and trees. To ensure that only the bear minimum extra work is performed for this purpose, Git roots now keep also the root's GitTreeEntry as a field, allowing the validity check of root source trees to take place only once and only if required. | |||
2025-06-04 | RepositoryConfig: Ensure consistency in reading blobs and trees | Paul Cristian Sarbu | |
...with respect to rejecting invalid entries such as upwards symlinks. Also ensure that valid trees are only checked once by remebering known valid tress though marker files in local storage. | |||
2025-05-12 | TreeOperationsUtils: Fix Bazel Directory creation | Oliver Reiche | |
... which requires all entries to be sorted in lexicographical order. | |||
2025-05-05 | TreeOperationsUtils: apply AsyncMap to compute tree overlay | Sascha Roloff | |
2025-05-05 | TreeOperationsUtils: make WriteTree method directly return ObjectInfo ↵ | Sascha Roloff | |
instead of ArtifactDigest | |||
2025-05-05 | TreeOperationsUtils: make free-standing implementation functions member ↵ | Sascha Roloff | |
functions of the class | |||
2025-05-05 | TreeOperationsUtils: refactor digest population into proto messages | Sascha Roloff | |
2025-05-05 | TreeOperationsUtils: add missing switch case in bazel directory generation | Sascha Roloff | |
2025-05-05 | TreeOperationsUtils: fix typo in comment | Sascha Roloff | |
2025-04-17 | profile: also honor action cwd | Klaus Aehlig | |
In all presentations of actions to the user, we use output paths relative to the root of the action directory. Therefore, we should do the same in the profile. However, when noting the completion of an action, we get paths as in the wire protocol, i.e., relative to the working directory of the action. Therefore, rebase appropriately. | |||
2025-04-10 | Remove unnecessary targets files | Klaus Aehlig | |
2025-04-08 | executor: for a tree-overlay action, also report inputs in case of error | Klaus Aehlig | |
2025-04-08 | Tree-overlay utils: also report the path within the original tree | Klaus Aehlig | |
... instead of only the file name. Having the full path into the tree makes it more easy for the user to understand the root cause of a conflict. | |||
2025-04-08 | executor: also track begin and end of tree-overlay operations | Klaus Aehlig | |
Those operations require fetching objects through the network. The fetch is already restricted to only the tree-objects where a merge is necessary, leaving out unchanged trees as well as all blobs. Still, some time may be required, especially over slow networks. Therefore report this activity in the progress. | |||
2025-04-08 | executor: properly report failure of tree actions | Klaus Aehlig | |
... calling them as such, and not trying to report command and environment. | |||
2025-04-08 | Improve reporting on tree errors | Klaus Aehlig | |
- break lines at logicial point, following the layout of our other error messages - fix a typo - properly quote the path of the conflict | |||
2025-04-07 | executor: also handle tree-overlay actions | Klaus Aehlig | |
2025-04-07 | TreeOperationsUtils: sequential version of tree overlay computation | Sascha Roloff | |
2025-04-07 | dag: be aware of tree-overlays | Klaus Aehlig | |
2025-04-02 | Executor: use the passed logger | Klaus Aehlig | |
... instead of blindly logging globally. | |||
2025-03-24 | ExecutionApi: Return TmpDir | Maksim Denisov | |
2025-03-10 | Profiling: start collecting informations per actions | Klaus Aehlig | |
... so far, which actions where considered, and which of those were cached. | |||
2025-02-28 | Modernize concepts | Maksim Denisov | |
2025-02-28 | Make statistics a separate library | Maksim Denisov | |
2025-02-28 | Include ArtifactDigestFactory into "common" library | Maksim Denisov | |
2025-02-27 | ArtifactBlob: Use static function for construction | Maksim Denisov | |
2025-02-27 | ArtifactBlob: Move from execution_api/common to common | Maksim Denisov | |
2025-02-19 | ApiBundle: Remove HashFunction. | Maksim Denisov | |
And ensure every user obtains HashFunction from corresponding IExecutionApi | |||
2025-02-19 | Store HashFunction by value | Maksim Denisov | |
Although references give an additional information about ownership, they introduce additional design difficulties. | |||
2025-02-19 | BazelApi: rename library "bazel" => "bazel_api" | Maksim Denisov | |
2025-02-12 | BackMap: make non-copyable and non-movable | Maksim Denisov | |
...and use std::unique_ptr for construction instead of std::optional. | |||
2025-02-11 | Name library containing ExecutionConfiguration more appropriately | Klaus Aehlig | |
2025-02-07 | Rename artifact_blob_container to artifact_blob | Maksim Denisov | |
2025-02-07 | CommonApi: Remove template parameter from UploadAndUpdateContainer | Maksim Denisov | |
...since it works with ArtifactBlobs only. | |||
2025-02-07 | Replace ArtifactBlobContainer and BazelBlobContainer | Maksim Denisov | |
...with explicit std::unordered_set. | |||
2025-02-07 | IExecutionApi: Rename IsAvailable to GetMissingDigests | Maksim Denisov | |
2025-02-07 | IExecutionApi: Use unordered_set in IsAvailable | Maksim Denisov | |
2025-02-07 | DAG: Drop usage of TransformedRange. | Maksim Denisov | |
2024-12-19 | Fix cause of minor warnings | Oliver Reiche | |
2024-12-06 | executor: On failure to execute an action, also report which action it was | Klaus Aehlig | |
Failure to execute an action can be infrastructure problems, like failure to reach the server, etc. However, it can also be an action timeout; in the latter case, we want to know which action it was that did time out. | |||
2024-12-06 | Log: report outputs of failed actions by default | Klaus Aehlig | |
Some actions are allowed to fail, typically tests. By reporting the output of failed such actions early, the user can already have a look at those artifacts, typically a test log, while the build is still going on. | |||
2024-11-14 | execution_engine: Implement IWYU suggestions | Paul Cristian Sarbu | |
2024-10-29 | Clean up unused dependencies | Klaus Aehlig | |
2024-10-21 | configured_target: honor --expression-log-limit when shortening representation | Klaus Aehlig | |
2024-10-08 | Name type template parameters using CamelCase. | Maksim Denisov | |