Age | Commit message (Collapse) | Author | |
---|---|---|---|
9 days | ExecutionAPI: Support output_symlinks in response | Oliver Reiche | |
9 days | ExecutionApi: Drop DirectorySymlinks from common api | Oliver Reiche | |
... as it is only needed for local execution, there is no need to provide it in the common api interface. | |||
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 | {Local,Bazel}Response: Fix logic for marking succesful population | Paul Cristian Sarbu | |
While in practice a failure to populate the fields of a response happens once per invocation, as it will trigger a failure of the execution, from an algorithmic standpoint the flag to mark a successful population of the response fields should only be set on actual success. Fix this. | |||
2025-03-24 | BazelResponse: Use non-incremental reading | Maksim Denisov | |
to avoid downloading the same blobs. | |||
2025-03-24 | Remove redundant UpdateContainerAndUpload. | Maksim Denisov | |
2025-02-27 | ArtifactBlob: Use static function for construction | Maksim Denisov | |
2025-02-27 | ArtifactBlob: Check access to the content | Maksim Denisov | |
2025-02-27 | ArtifactBlob: Convert to a class | Maksim Denisov | |
2025-02-27 | ArtifactBlob: Move from execution_api/common to common | Maksim Denisov | |
2025-02-07 | Move implementation of ContentBlob to artifact_blob | Maksim Denisov | |
...and remove ContentBlob. | |||
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 | BazelNetwork: Use ArtifactBlobs in UploadBlobs | Maksim Denisov | |
2025-02-07 | BazelNetworkReader: Use ArtifactDigest in IncrementalReader | Maksim Denisov | |
...and while there, pass digests needed to be read by pointer to IncrementalReader to avoid an extra copy. | |||
2025-02-07 | BazelNetworkReader: make reading methods that use bazel digest private | Maksim Denisov | |
2025-02-07 | Replace ArtifactBlobContainer and BazelBlobContainer | Maksim Denisov | |
...with explicit std::unordered_set. | |||
2025-02-07 | Replace ContentBlobContainer<T> with std::unordered_set | Maksim Denisov | |
2025-02-07 | BazelNetwork: Use unordered_set in UploadBlobs instead of BazelBlobContainer | Maksim Denisov | |
2024-11-14 | execution_api/remote: Implement IWYU suggestions | Paul Cristian Sarbu | |
2024-09-26 | Fix automatic moves proposed by clang-tidy. | Maksim Denisov | |
Enable performance-no-automatic-move check. | |||
2024-09-16 | remote execution: Check validity of symlinks | Paul Cristian Sarbu | |
Invalid entries, currently all upwards symlinks (pending implementation of a better way of handling them), are now identified and handled properly: in compatible mode on the client side, during handling of remote response, and in native mode on the server side during the population of the action result. | |||
2024-09-16 | bazel_response: Improve error reporting for uploading trees | Paul Cristian Sarbu | |
2024-09-16 | execution_response: Allow failures to be reported while populating | Paul Cristian Sarbu | |
As populating the containers from remote response only takes place once, no assumptions should be made that this cannot fail (for example if wrong or invalid entries were produced). Instead, return error messages on failure to callers that can log accordingly. | |||
2024-09-13 | Check compatibility in BazelAPI based on the hash type | Maksim Denisov | |
2024-09-13 | Rename Compatibility class to ProtocolTraits | Maksim Denisov | |
...and move it to the common stage. | |||
2024-09-09 | Use ArtifactDigest in BazelApi/BazelResponse | Maksim Denisov | |
2024-09-09 | Replace ArtifactDigest::Create | Maksim Denisov | |
...with ArtifactDigestFactory::HashDataAs | |||
2024-08-30 | Use BazelDigestFactory to create bazel_re::Digest directly if needed | Maksim Denisov | |
...bypassing ArtifactDigest functionality. | |||
2024-08-07 | Extend BazelNetworkReader to avoid redundant conversions | Maksim Denisov | |
2024-08-07 | Avoid deep copies of containers in responses. | Maksim Denisov | |
2024-08-07 | Remove code duplication in Populate method in responses. | Maksim Denisov | |
2024-07-22 | Pass HashFunction to BazelNetwork | Maksim Denisov | |
2024-07-22 | Pass HashFunction to ArtifactDigest::Create | Maksim Denisov | |
2024-06-07 | Move reading functionality to BazelNetworkReader | Maksim Denisov | |
...to enable validation of received blobs. | |||
2024-06-04 | blob containers: Store and upload taking into account content size | Paul Cristian Sarbu | |
Update logic populating containers to use the new method which is aware of the maximum transfer limit. | |||
2024-06-04 | bazel_network: Change UploadBlobs to also accept an rvalue | Paul Cristian Sarbu | |
This unifies the signature of all uploader functions consuming a BlobContainer type. | |||
2024-05-28 | Use shared_ptr for data in ContentBlob | Maksim Denisov | |
...to reduce the "price" of copying. | |||
2024-05-28 | Rename BlobContainer to BazelBlobContainer | Maksim Denisov | |
2024-05-27 | Fix headers in local_cas and bazel_network. | Maksim Denisov | |
2024-04-29 | bazel_response: Report failure to read stdout/stderr blobs of an action | Paul Cristian Sarbu | |
2024-03-26 | Add missing system includes | Paul Cristian Sarbu | |
Main culprits: - std::size_t, std::nullptr_t, and NULL require <cstddef> - std::move and std::forward require <utility> - unordered maps and sets require respective includes - std::for_each and std::all_of require <algorithm> | |||
2024-03-15 | Clean up more includes and targets | Paul Cristian Sarbu | |
Some of the more specific issues addressed: - missing log_level target/include - header-only libs wrongly marking deps as private - missing/misplaced gsl includes | |||
2023-06-26 | Allow non-upwards symlinks with Bazel API | Paul Cristian Sarbu | |
2023-06-26 | Execution response: Add output symlink paths | Paul Cristian Sarbu | |
2023-06-06 | style: Use designated initializers | Paul Cristian Sarbu | |
This feature has been introduced with C++20. | |||
2023-04-26 | imports: Switch to Microsoft GSL implementation | Oliver Reiche | |
... with two minor code base changes compared to previous use of gsl-lite: - dag.hpp: ActionNode::Ptr and ArtifactNode::Ptr are not wrapped in gsl::not_null<> anymore, due to lack of support for wrapping std::unique_ptr<>. More specifically, the move constructor is missing, rendering it impossible to use std::vector<>::emplace_back(). - utils/cpp/gsl.hpp: New header file added to implement the macros ExpectsAudit() and EnsureAudit(), asserts running only in debug builds, which were available in gsl-lite but are missing in MS GSL. | |||
2023-02-22 | ExecutionApi: Retrieve to correct CAS directly | Oliver Reiche | |
... by keeping track of each blob being a file or executable and storing it to the correct local physical CAS directory. The new flag is merely a hint and only used by the local execution API. Leaving it out will still correctly transfer the blob but may cause unnecessary duplicates in file CAS. | |||
2022-10-14 | Remove default value of ArtifactDigest::Create template parameter | Sascha Roloff | |
This enforces the explicit specification, which object type, either file or tree, should be used to create an artifact digest. This also avoids subtile errors at locations as in the previous commit, where files as well as trees are supposed to be handled, but digest creation mistakenly defaults to file object type. | |||
2022-10-12 | Add copyright and license notice to all source and header files | Klaus Aehlig | |
Signed-off-by: Goetz Brasche <goetz.brasche@huawei.com> |