We need a stable interface between branched chromite code and unbranched recipe code. Context: https://docs.google.com/document/d/1-UwZUs2tjhxEiPXQDfUw-AcNH0rVT7g4on-6li-XslI/edit
saklein@: are you actively working on this?
Yeah, just started today to get something set up.
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/chromite/+/f4dc4f5be9f0f1b9d3b3ed0907e49b01a96c2406 commit f4dc4f5be9f0f1b9d3b3ed0907e49b01a96c2406 Author: Alex Klein <saklein@chromium.org> Date: Thu Jan 10 21:58:36 2019 Build API: foundations The foundations for the build api; the entrypoint itself, a common proto definitions file, a script to compile the proto, and some scaffolding to build out requests. BUG=chromium:912361 TEST=manual, new tests CQ-DEPEND=CL:1382945 Change-Id: Id3c8ae67b1d8f198f563977fe9c8543af7f41d9a Reviewed-on: https://chromium-review.googlesource.com/1373996 Commit-Ready: Alex Klein <saklein@chromium.org> Tested-by: Alex Klein <saklein@chromium.org> Reviewed-by: Lann Martin <lannm@chromium.org> [add] https://crrev.com/f4dc4f5be9f0f1b9d3b3ed0907e49b01a96c2406/api/gen/__init__.py [add] https://crrev.com/f4dc4f5be9f0f1b9d3b3ed0907e49b01a96c2406/api/README.md [add] https://crrev.com/f4dc4f5be9f0f1b9d3b3ed0907e49b01a96c2406/api/gen/common_pb2.py [add] https://crrev.com/f4dc4f5be9f0f1b9d3b3ed0907e49b01a96c2406/api/proto/common.proto [add] https://crrev.com/f4dc4f5be9f0f1b9d3b3ed0907e49b01a96c2406/api/service/__init__.py [add] https://crrev.com/f4dc4f5be9f0f1b9d3b3ed0907e49b01a96c2406/api/build_api_unittest.py [add] https://crrev.com/f4dc4f5be9f0f1b9d3b3ed0907e49b01a96c2406/api/gen/README.md [add] https://crrev.com/f4dc4f5be9f0f1b9d3b3ed0907e49b01a96c2406/api/gen/build_api_test_pb2.py [add] https://crrev.com/f4dc4f5be9f0f1b9d3b3ed0907e49b01a96c2406/api/build_api [add] https://crrev.com/f4dc4f5be9f0f1b9d3b3ed0907e49b01a96c2406/api/__init__.py [add] https://crrev.com/f4dc4f5be9f0f1b9d3b3ed0907e49b01a96c2406/api/proto/build_api_test.proto [add] https://crrev.com/f4dc4f5be9f0f1b9d3b3ed0907e49b01a96c2406/api/compile_build_api_proto.py [add] https://crrev.com/f4dc4f5be9f0f1b9d3b3ed0907e49b01a96c2406/api/build_api.py [add] https://crrev.com/f4dc4f5be9f0f1b9d3b3ed0907e49b01a96c2406/api/proto/build_api.proto [add] https://crrev.com/f4dc4f5be9f0f1b9d3b3ed0907e49b01a96c2406/api/build_api_unittest [add] https://crrev.com/f4dc4f5be9f0f1b9d3b3ed0907e49b01a96c2406/api/gen/build_api_pb2.py [add] https://crrev.com/f4dc4f5be9f0f1b9d3b3ed0907e49b01a96c2406/api/compile_build_api_proto
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/chromite/+/49b43e8779f45f78c8ea77529d1322aebfb20546 commit 49b43e8779f45f78c8ea77529d1322aebfb20546 Author: Alex Klein <saklein@chromium.org> Date: Thu Jan 10 21:58:37 2019 protobuf: Upgrade to 3.6.1 The chromite third party protobuf version and the portage-stable protobuf versions do not match. Standardize to most recent stable version. BUG=chromium:912361 TEST=manual, TBD Change-Id: I952e7acdb5a7b94bbd48454af6a9fc1b8a604a2b Reviewed-on: https://chromium-review.googlesource.com/1382945 Commit-Ready: Alex Klein <saklein@chromium.org> Tested-by: Alex Klein <saklein@chromium.org> Reviewed-by: Lann Martin <lannm@chromium.org> [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/util/json_format_proto3_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/encoder.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/import_test_package/inner_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/pyext/python_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/descriptor_pool_test1_pb2.py [add] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/map_proto2_unittest_pb2.py [add] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/test_messages_proto2_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/timestamp_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/more_messages_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/import_test_package/outer_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/struct_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/_parameterized.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/json_format_test.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/compiler/plugin_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/text_format_test.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/type_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/unittest_custom_options_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/duration_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/type_checkers.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/message_set_extensions_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/source_context_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/descriptor_pool.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/map_unittest_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/containers.py [add] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/test_messages_proto3_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/api_implementation.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/field_mask_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/python_message.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/message_factory_test.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/empty_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/decoder.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/text_format.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/unittest_no_arena_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/more_extensions_dynamic_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/unknown_fields_test.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/message.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/reflection.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/factory_test1_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/descriptor_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/unittest_proto3_arena_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/unittest_import_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/unittest_no_arena_import_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/__init__.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/descriptor_test.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/well_known_types_test.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/any_test_pb2.py [add] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/no_package_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/factory_test2_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/any_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/missing_enum_values_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/descriptor.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/symbol_database_test.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/generator_test.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/well_known_types.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/descriptor_database_test.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/descriptor_pool_test2_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/__init__.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/unittest_mset_wire_format_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/unittest_import_public_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/unittest_arena_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/test_util.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/reflection_test.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/descriptor_pool_test.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/service_reflection_test.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/json_format.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/packed_field_test_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/descriptor_database.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/test_bad_identifiers_pb2.py [add] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/testing_refleaks.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/unittest_no_generic_services_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/message_test.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/unittest_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/more_extensions_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/wrappers_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/api_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/unittest_mset_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/symbol_database.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/any_test_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/internal/file_options_test_pb2.py [modify] https://crrev.com/49b43e8779f45f78c8ea77529d1322aebfb20546/third_party/google/protobuf/message_factory.py
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/infra/recipes/+/1297e6af1b0330cef14edccae40ff9ebb5dc7301 commit 1297e6af1b0330cef14edccae40ff9ebb5dc7301 Author: Alec Thilenius <athilenius@google.com> Date: Mon Jan 14 21:06:19 2019 Add build_api recipe module. Add the build_api recipe module for calling the Build API (which is proto based and uses files for input/output). Bug: 912361 Change-Id: I7973f32044fc93fe252f963f2e7fff7d56f98f3a Reviewed-on: https://chromium-review.googlesource.com/c/1405693 Reviewed-by: Lann Martin <lannm@chromium.org> Commit-Queue: Alec Thilenius <athilenius@google.com> Tested-by: Alec Thilenius <athilenius@google.com> [add] https://crrev.com/1297e6af1b0330cef14edccae40ff9ebb5dc7301/recipe_modules/build_api/__init__.py [add] https://crrev.com/1297e6af1b0330cef14edccae40ff9ebb5dc7301/recipe_modules/build_api/examples/full.expected/basic.json [add] https://crrev.com/1297e6af1b0330cef14edccae40ff9ebb5dc7301/recipe_modules/build_api/examples/full.py [modify] https://crrev.com/1297e6af1b0330cef14edccae40ff9ebb5dc7301/README.recipes.md [add] https://crrev.com/1297e6af1b0330cef14edccae40ff9ebb5dc7301/recipe_modules/build_api/api.py
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/chromite/+/e19068c5b1023278350149a53b1bb636b8073a13 commit e19068c5b1023278350149a53b1bb636b8073a13 Author: Alex Klein <saklein@chromium.org> Date: Sat Jan 19 12:20:22 2019 build api: Simplify BuildTarget proto The BuildTarget message will probably need some or all of the fields that were in there, but a simpler message is preferable until the additional fields are actually required. BUG=chromium:912361 TEST=None Change-Id: I418e72a1631d0f1aef47a6ea67739a0925a642a2 Reviewed-on: https://chromium-review.googlesource.com/1422547 Commit-Ready: Alex Klein <saklein@chromium.org> Tested-by: Alex Klein <saklein@chromium.org> Reviewed-by: Lann Martin <lannm@chromium.org> [modify] https://crrev.com/e19068c5b1023278350149a53b1bb636b8073a13/api/gen/common_pb2.py [modify] https://crrev.com/e19068c5b1023278350149a53b1bb636b8073a13/api/proto/common.proto
Comment 1 by la...@chromium.org
, Dec 6