summaryrefslogtreecommitdiff
path: root/test/utils/remote_execution/bazel_action_creator.hpp
diff options
context:
space:
mode:
authorMaksim Denisov <denisov.maksim@huawei.com>2025-02-25 13:42:22 +0100
committerMaksim Denisov <denisov.maksim@huawei.com>2025-02-27 09:03:30 +0100
commit461312b57d3b49f92861d2c6c5e8a6b13ffa839b (patch)
treec642cd0d3379e6886d1b3847d38661e249e75d58 /test/utils/remote_execution/bazel_action_creator.hpp
parenteccc7dcfb22fb9c6c42bbcd5566cd044acd1a2f3 (diff)
downloadjustbuild-461312b57d3b49f92861d2c6c5e8a6b13ffa839b.tar.gz
ArtifactBlob: Use static function for construction
Diffstat (limited to 'test/utils/remote_execution/bazel_action_creator.hpp')
-rw-r--r--test/utils/remote_execution/bazel_action_creator.hpp40
1 files changed, 24 insertions, 16 deletions
diff --git a/test/utils/remote_execution/bazel_action_creator.hpp b/test/utils/remote_execution/bazel_action_creator.hpp
index 30dcc20a..69a5b172 100644
--- a/test/utils/remote_execution/bazel_action_creator.hpp
+++ b/test/utils/remote_execution/bazel_action_creator.hpp
@@ -37,6 +37,7 @@
#include "src/buildtool/execution_api/remote/bazel/bazel_cas_client.hpp"
#include "src/buildtool/execution_api/remote/config.hpp"
#include "src/buildtool/file_system/object_type.hpp"
+#include "src/utils/cpp/expected.hpp"
#include "test/utils/remote_execution/test_auth_config.hpp"
#include "test/utils/remote_execution/test_remote_config.hpp"
@@ -71,27 +72,34 @@
return env_var_message;
});
- auto cmd_data = cmd.SerializeAsString();
- auto cmd_id = ArtifactDigestFactory::HashDataAs<ObjectType::File>(
- hash_function, cmd_data);
- blobs.emplace(cmd_id, cmd_data, /*is_exec=*/false);
+ auto const cmd_blob = ArtifactBlob::FromMemory(
+ hash_function, ObjectType::File, cmd.SerializeAsString());
+ if (not cmd_blob.has_value()) {
+ return nullptr;
+ }
+ blobs.emplace(*cmd_blob);
- bazel_re::Directory empty_dir;
- auto dir_data = empty_dir.SerializeAsString();
- auto dir_id = ArtifactDigestFactory::HashDataAs<ObjectType::Tree>(
- hash_function, dir_data);
- blobs.emplace(dir_id, dir_data, /*is_exec=*/false);
+ bazel_re::Directory const empty_dir;
+ auto const dir_blob = ArtifactBlob::FromMemory(
+ hash_function, ObjectType::Tree, empty_dir.SerializeAsString());
+ if (not dir_blob.has_value()) {
+ return nullptr;
+ }
+ blobs.emplace(*dir_blob);
bazel_re::Action action;
- (*action.mutable_command_digest()) = ArtifactDigestFactory::ToBazel(cmd_id);
+ (*action.mutable_command_digest()) =
+ ArtifactDigestFactory::ToBazel(cmd_blob->GetDigest());
action.set_do_not_cache(false);
(*action.mutable_input_root_digest()) =
- ArtifactDigestFactory::ToBazel(dir_id);
+ ArtifactDigestFactory::ToBazel(dir_blob->GetDigest());
- auto action_data = action.SerializeAsString();
- auto action_id = ArtifactDigestFactory::HashDataAs<ObjectType::File>(
- hash_function, action_data);
- blobs.emplace(action_id, action_data, /*is_exec=*/false);
+ auto const action_blob = ArtifactBlob::FromMemory(
+ hash_function, ObjectType::File, action.SerializeAsString());
+ if (not action_blob.has_value()) {
+ return nullptr;
+ }
+ blobs.emplace(*action_blob);
auto auth_config = TestAuthConfig::ReadFromEnvironment();
if (not auth_config) {
@@ -117,7 +125,7 @@
if (cas_client.BatchUpdateBlobs(instance_name, blobs) == blobs.size()) {
return std::make_unique<bazel_re::Digest>(
- ArtifactDigestFactory::ToBazel(action_id));
+ ArtifactDigestFactory::ToBazel(action_blob->GetDigest()));
}
return nullptr;
}