Merge remote-tracking branch 'cros/main' into master
The main branch isn't active yet, but a commit landed there by
accident. The change has also landed on the master branch now,
so Merge the histories so they're in sync again.
BUG=chromium:1159924
Change-Id: Id9be322ca3ac95fdab3fb1cca920d41439d8ae31
diff --git a/OWNERS b/OWNERS
index 66c95ee..98eb462 100644
--- a/OWNERS
+++ b/OWNERS
@@ -1,6 +1,7 @@
include /OWNERS.build
include /OWNERS.ci
+per-file OWNERS.au = file://OWNERS.au
per-file OWNERS.kernel = file://OWNERS.kernel
per-file OWNERS.testplatform = file://OWNERS.testplatform
diff --git a/OWNERS.au b/OWNERS.au
index 07e51d9..c27c88d 100644
--- a/OWNERS.au
+++ b/OWNERS.au
@@ -6,4 +6,4 @@
ahassani@chromium.org
dhaddock@chromium.org
kimjae@chromium.org
-andrewlassalle@chromium.org
+vyshu@chromium.org
diff --git a/api/api_config.py b/api/api_config.py
index a26f5fa..17801c3 100644
--- a/api/api_config.py
+++ b/api/api_config.py
@@ -90,6 +90,12 @@
def mock_invalid(self):
return self._call_type == self.CALL_TYPE_MOCK_INVALID
+ @property
+ def run_endpoint(self) -> bool:
+ """Run the endpoint when none of the special calls are invoked."""
+ return (not self.validate_only and not self.mock_call and
+ not self.mock_error and not self.mock_invalid)
+
def get_proto(self, for_inside_execution=True):
"""Get the config as a proto.
diff --git a/api/contrib/call_templates/image__push_image_example_input.json b/api/contrib/call_templates/image__push_image_example_input.json
new file mode 100644
index 0000000..2d0d4f7
--- /dev/null
+++ b/api/contrib/call_templates/image__push_image_example_input.json
@@ -0,0 +1,14 @@
+{
+ "dryrun": true,
+ "gs_image_dir": "gs://chromeos-image-archive/atlas-release/R89-13604.0.0",
+ "sysroot": {
+ "build_target": {
+ "name": "atlas"
+ }
+ },
+ "profile": {
+ "name": "baz"
+ },
+ "sign_types_description": ["IMAGE_TYPE_BASE", "IMAGE_TYPE_RECOVERY"],
+ "sign_types": [1, 6]
+}
diff --git a/api/controller/android.py b/api/controller/android.py
index cb2e2a3..b3fe214 100644
--- a/api/controller/android.py
+++ b/api/controller/android.py
@@ -35,7 +35,7 @@
@faux.success(_MarkStableResponse)
@faux.empty_error
-@validate.require('tracking_branch', 'package_name', 'android_build_branch')
+@validate.require('package_name', 'android_build_branch')
@validate.validation_complete
def MarkStable(input_proto, output_proto, _config):
"""Uprev Android, if able.
diff --git a/api/controller/android_unittest.py b/api/controller/android_unittest.py
index 7fdca0e..2be0ce9 100644
--- a/api/controller/android_unittest.py
+++ b/api/controller/android_unittest.py
@@ -57,13 +57,6 @@
'android-package-name')
self.assertEqual(self.response.android_atom.version, '1.2')
- def testFailsIfTrackingBranchMissing(self):
- """Fails if tracking_branch is missing."""
- self.input_proto.tracking_branch = ''
- with self.assertRaises(cros_build_lib.DieSystemExit):
- android.MarkStable(self.input_proto, self.response, self.api_config)
- self.uprev.assert_not_called()
-
def testFailsIfPackageNameMissing(self):
"""Fails if package_name is missing."""
self.input_proto.package_name = ''
diff --git a/api/controller/artifacts.py b/api/controller/artifacts.py
index c7c0ccb..3a1def7 100644
--- a/api/controller/artifacts.py
+++ b/api/controller/artifacts.py
@@ -598,3 +598,55 @@
tarball = artifacts.BundleGceTarball(output_dir, image_dir)
output_proto.artifacts.add().path = tarball
+
+
+def _BundleDebugSymbolsResponse(input_proto, output_proto, _config):
+ """Add artifact tarball to a successful response."""
+ output_proto.artifacts.add().path = os.path.join(input_proto.output_dir,
+ constants.DEBUG_SYMBOLS_TAR)
+
+
+@faux.success(_BundleDebugSymbolsResponse)
+@faux.empty_error
+@validate.require('build_target.name', 'output_dir')
+@validate.exists('output_dir')
+@validate.validation_complete
+def BundleDebugSymbols(input_proto, output_proto, _config):
+ """Bundle the debug symbols into a tarball suitable for importing into GCE.
+
+ Args:
+ input_proto (BundleRequest): The input proto.
+ output_proto (BundleResponse): The output proto.
+ _config (api_config.ApiConfig): The API call config.
+ """
+ target = input_proto.build_target.name
+ output_dir = input_proto.output_dir
+
+ chroot = controller_util.ParseChroot(input_proto.chroot)
+ result = artifacts.GenerateBreakpadSymbols(chroot,
+ target,
+ debug=True)
+
+ # Verify breakpad symbol generation before gathering the sym files.
+ if result.returncode != 0:
+ return controller.RETURN_CODE_COMPLETED_UNSUCCESSFULLY
+
+ with chroot.tempdir() as symbol_tmpdir, chroot.tempdir() as dest_tmpdir:
+ breakpad_dir = os.path.join('/build', target, 'usr/lib/debug/breakpad')
+ sym_file_list = artifacts.GatherSymbolFiles(tempdir=symbol_tmpdir,
+ destdir=dest_tmpdir,
+ paths=[breakpad_dir])
+ if len(sym_file_list) == 0:
+ logging.warning('No sym files found in %s.', breakpad_dir)
+ # Create tarball from destination_tmp, then copy it...
+ tarball_path = os.path.join(output_dir, constants.DEBUG_SYMBOLS_TAR)
+ result = cros_build_lib.CreateTarball(tarball_path, dest_tmpdir)
+ if result.returncode != 0:
+ logging.error('Error (%d) when creating tarball %s from %s',
+ result.returncode,
+ tarball_path,
+ dest_tmpdir)
+ return controller.RETURN_CODE_COMPLETED_UNSUCCESSFULLY
+ output_proto.artifacts.add().path = tarball_path
+
+ return controller.RETURN_CODE_SUCCESS
diff --git a/api/controller/artifacts_unittest.py b/api/controller/artifacts_unittest.py
index 7a0364c..862340a 100644
--- a/api/controller/artifacts_unittest.py
+++ b/api/controller/artifacts_unittest.py
@@ -1130,3 +1130,71 @@
with self.assertRaises(cros_build_lib.DieSystemExit):
artifacts.BundleGceTarball(self.target_request, self.response,
self.api_config)
+
+
+class BundleDebugSymbolsTest(BundleTestCase):
+ """Unittests for BundleDebugSymbols."""
+
+ def setUp(self):
+ # Create a chroot_path that also includes a chroot tmp dir.
+ self.chroot_path = os.path.join(self.tempdir, 'chroot_dir')
+ osutils.SafeMakedirs(self.chroot_path)
+ osutils.SafeMakedirs(os.path.join(self.chroot_path, 'tmp'))
+ # Create output dir.
+ output_dir = os.path.join(self.tempdir, 'output_dir')
+ osutils.SafeMakedirs(output_dir)
+ # Build target request.
+ self.target_request = self.BuildTargetRequest(
+ build_target='target',
+ output_dir=self.output_dir,
+ chroot=self.chroot_path)
+
+ def testValidateOnly(self):
+ """Check that a validate only call does not execute any logic."""
+ patch = self.PatchObject(artifacts_svc, 'GenerateBreakpadSymbols')
+ artifacts.BundleDebugSymbols(self.target_request, self.response,
+ self.validate_only_config)
+ patch.assert_not_called()
+
+ def testMockCall(self):
+ """Test that a mock call does not execute logic, returns mocked value."""
+ patch = self.PatchObject(artifacts_svc, 'GenerateBreakpadSymbols')
+ artifacts.BundleDebugSymbols(self.target_request, self.response,
+ self.mock_call_config)
+ patch.assert_not_called()
+ self.assertEqual(len(self.response.artifacts), 1)
+ self.assertEqual(self.response.artifacts[0].path,
+ os.path.join(self.output_dir,
+ constants.DEBUG_SYMBOLS_TAR))
+
+ def testBundleDebugSymbols(self):
+ """BundleDebugSymbols calls cbuildbot/commands with correct args."""
+ # Patch service layer functions.
+ generate_breakpad_symbols_patch = self.PatchObject(
+ artifacts_svc, 'GenerateBreakpadSymbols',
+ return_value=cros_build_lib.CommandResult(returncode=0, output=''))
+ gather_symbol_files_patch = self.PatchObject(
+ artifacts_svc, 'GatherSymbolFiles',
+ return_value=[artifacts_svc.SymbolFileTuple(
+ source_file_name='path/to/source/file1.sym',
+ relative_path='file1.sym')])
+
+ artifacts.BundleDebugSymbols(self.target_request, self.response,
+ self.api_config)
+ # Verify mock objects were called.
+ generate_breakpad_symbols_patch.assert_called()
+ gather_symbol_files_patch.assert_called()
+
+ # Verify response proto contents and output directory contents.
+ self.assertEqual(
+ [artifact.path for artifact in self.response.artifacts],
+ [os.path.join(self.output_dir, constants.DEBUG_SYMBOLS_TAR)])
+ files = os.listdir(self.output_dir)
+ self.assertEqual(files, [constants.DEBUG_SYMBOLS_TAR])
+
+ def testBundleGceTarballNoImageDir(self):
+ """BundleDebugSymbols dies when image dir does not exist."""
+ self.PatchObject(os.path, 'exists', return_value=False)
+ with self.assertRaises(cros_build_lib.DieSystemExit):
+ artifacts.BundleDebugSymbols(self.target_request, self.response,
+ self.api_config)
diff --git a/api/controller/image.py b/api/controller/image.py
index bc25c15..0a75bad 100644
--- a/api/controller/image.py
+++ b/api/controller/image.py
@@ -21,10 +21,11 @@
from chromite.lib import cros_build_lib
from chromite.lib import constants
from chromite.lib import image_lib
+from chromite.lib import cros_logging as logging
+from chromite.scripts import pushimage
from chromite.service import image
from chromite.utils import metrics
-
# The image.proto ImageType enum ids.
_BASE_ID = common_pb2.BASE
_DEV_ID = common_pb2.DEV
@@ -60,6 +61,17 @@
_TEST_GUEST_VM_ID: _IMAGE_MAPPING[_TEST_ID],
}
+# Supported image types for PushImage.
+SUPPORTED_IMAGE_TYPES = {
+ common_pb2.IMAGE_TYPE_RECOVERY: constants.IMAGE_TYPE_RECOVERY,
+ common_pb2.IMAGE_TYPE_FACTORY: constants.IMAGE_TYPE_FACTORY,
+ common_pb2.IMAGE_TYPE_FIRMWARE: constants.IMAGE_TYPE_FIRMWARE,
+ common_pb2.IMAGE_TYPE_ACCESSORY_USBPD: constants.IMAGE_TYPE_ACCESSORY_USBPD,
+ common_pb2.IMAGE_TYPE_ACCESSORY_RWSIG: constants.IMAGE_TYPE_ACCESSORY_RWSIG,
+ common_pb2.IMAGE_TYPE_BASE: constants.IMAGE_TYPE_BASE,
+ common_pb2.IMAGE_TYPE_GSC_FIRMWARE: constants.IMAGE_TYPE_GSC_FIRMWARE
+}
+
def _CreateResponse(_input_proto, output_proto, _config):
"""Set output_proto success field on a successful Create response."""
@@ -88,8 +100,8 @@
build_config = _ParseCreateBuildConfig(input_proto)
# Sorted isn't really necessary here, but it's much easier to test.
- result = image.Build(board=board, images=sorted(list(image_types)),
- config=build_config)
+ result = image.Build(
+ board=board, images=sorted(list(image_types)), config=build_config)
output_proto.success = result.success
@@ -171,8 +183,11 @@
disk_layout = input_proto.disk_layout or None
builder_path = input_proto.builder_path or None
return image.BuildConfig(
- enable_rootfs_verification=enable_rootfs_verification, replace=True,
- version=version, disk_layout=disk_layout, builder_path=builder_path,
+ enable_rootfs_verification=enable_rootfs_verification,
+ replace=True,
+ version=version,
+ disk_layout=disk_layout,
+ builder_path=builder_path,
)
@@ -258,3 +273,48 @@
return controller.RETURN_CODE_SUCCESS
else:
return controller.RETURN_CODE_COMPLETED_UNSUCCESSFULLY
+
+
+@faux.empty_success
+@faux.empty_completed_unsuccessfully_error
+@validate.require('gs_image_dir', 'sysroot.build_target.name')
+def PushImage(input_proto, _output_proto, config):
+ """Push artifacts from the archive bucket to the release bucket.
+
+ Wraps chromite/scripts/pushimage.py.
+
+ Args:
+ input_proto (PushImageRequest): Input proto.
+ _output_proto (PushImageResponse): Output proto.
+ config (api.config.ApiConfig): The API call config.
+
+ Returns:
+ A controller return code (e.g. controller.RETURN_CODE_SUCCESS).
+ """
+ sign_types = []
+ if input_proto.sign_types:
+ for sign_type in input_proto.sign_types:
+ if sign_type not in SUPPORTED_IMAGE_TYPES:
+ logging.error('unsupported sign type %g', sign_type)
+ return controller.RETURN_CODE_INVALID_INPUT
+ sign_types.append(SUPPORTED_IMAGE_TYPES[sign_type])
+
+ # If configured for validation only we're done here.
+ if config.validate_only:
+ return controller.RETURN_CODE_VALID_INPUT
+
+ kwargs = {}
+ if input_proto.profile.name:
+ kwargs['profile'] = input_proto.profile.name
+ if input_proto.dest_bucket:
+ kwargs['dest_bucket'] = input_proto.dest_bucket
+ try:
+ pushimage.PushImage(
+ input_proto.gs_image_dir,
+ input_proto.sysroot.build_target.name,
+ dry_run=input_proto.dryrun,
+ sign_types=sign_types,
+ **kwargs)
+ return controller.RETURN_CODE_SUCCESS
+ except Exception:
+ return controller.RETURN_CODE_COMPLETED_UNSUCCESSFULLY
diff --git a/api/controller/image_unittest.py b/api/controller/image_unittest.py
index 56de3c3..6fabccf 100644
--- a/api/controller/image_unittest.py
+++ b/api/controller/image_unittest.py
@@ -16,11 +16,13 @@
from chromite.api.controller import image as image_controller
from chromite.api.gen.chromite.api import image_pb2
from chromite.api.gen.chromiumos import common_pb2
+from chromite.api.gen.chromite.api import sysroot_pb2
from chromite.lib import constants
from chromite.lib import cros_build_lib
from chromite.lib import cros_test_lib
from chromite.lib import image_lib
from chromite.lib import osutils
+from chromite.scripts import pushimage
from chromite.service import image as image_service
@@ -30,7 +32,11 @@
def setUp(self):
self.response = image_pb2.CreateImageResult()
- def _GetRequest(self, board=None, types=None, version=None, builder_path=None,
+ def _GetRequest(self,
+ board=None,
+ types=None,
+ version=None,
+ builder_path=None,
disable_rootfs_verification=False):
"""Helper to build a request instance."""
return image_pb2.CreateImageRequest(
@@ -84,8 +90,8 @@
build_patch = self.PatchObject(image_service, 'Build', return_value=result)
image_controller.Create(request, self.response, self.api_config)
- build_patch.assert_called_with(images=[constants.IMAGE_TYPE_BASE],
- board='board', config=mock.ANY)
+ build_patch.assert_called_with(
+ images=[constants.IMAGE_TYPE_BASE], board='board', config=mock.ANY)
def testSingleTypeSpecified(self):
"""Test it's properly using a specified type."""
@@ -96,8 +102,8 @@
build_patch = self.PatchObject(image_service, 'Build', return_value=result)
image_controller.Create(request, self.response, self.api_config)
- build_patch.assert_called_with(images=[constants.IMAGE_TYPE_DEV],
- board='board', config=mock.ANY)
+ build_patch.assert_called_with(
+ images=[constants.IMAGE_TYPE_DEV], board='board', config=mock.ANY)
def testMultipleAndImpliedTypes(self):
"""Test multiple types and implied type handling."""
@@ -112,8 +118,8 @@
build_patch = self.PatchObject(image_service, 'Build', return_value=result)
image_controller.Create(request, self.response, self.api_config)
- build_patch.assert_called_with(images=expected_images, board='board',
- config=mock.ANY)
+ build_patch.assert_called_with(
+ images=expected_images, board='board', config=mock.ANY)
def testFailedPackageHandling(self):
"""Test failed packages are populated correctly."""
@@ -320,3 +326,112 @@
self.PatchObject(image_service, 'Test', return_value=False)
image_controller.Test(input_proto, output_proto, self.api_config)
self.assertFalse(output_proto.success)
+
+
+class PushImageTest(cros_test_lib.MockTestCase, api_config.ApiConfigMixin):
+ """Push image test."""
+
+ def setUp(self):
+ self.response = image_pb2.PushImageResponse()
+
+ def _GetRequest(
+ self,
+ gs_image_dir='gs://chromeos-image-archive/atlas-release/R89-13604.0.0',
+ build_target_name='atlas',
+ profile='foo',
+ sign_types=None,
+ dryrun=True):
+ return image_pb2.PushImageRequest(
+ gs_image_dir=gs_image_dir,
+ sysroot=sysroot_pb2.Sysroot(
+ build_target=common_pb2.BuildTarget(name=build_target_name)),
+ profile=common_pb2.Profile(name=profile),
+ sign_types=sign_types,
+ dryrun=dryrun)
+
+ def testValidateOnly(self):
+ """Check that a validate only call does not execute any logic."""
+ patch = self.PatchObject(pushimage, 'PushImage')
+
+ req = self._GetRequest(sign_types=[
+ common_pb2.IMAGE_TYPE_RECOVERY, common_pb2.IMAGE_TYPE_FACTORY,
+ common_pb2.IMAGE_TYPE_FIRMWARE, common_pb2.IMAGE_TYPE_ACCESSORY_USBPD,
+ common_pb2.IMAGE_TYPE_ACCESSORY_RWSIG, common_pb2.IMAGE_TYPE_BASE,
+ common_pb2.IMAGE_TYPE_GSC_FIRMWARE
+ ])
+ res = image_controller.PushImage(req, self.response,
+ self.validate_only_config)
+ patch.assert_not_called()
+ self.assertEqual(res, controller.RETURN_CODE_VALID_INPUT)
+
+ def testValidateOnlyInvalid(self):
+ """Check that validate call rejects invalid sign types."""
+ patch = self.PatchObject(pushimage, 'PushImage')
+
+ # Pass unsupported image type.
+ req = self._GetRequest(sign_types=[common_pb2.IMAGE_TYPE_DLC])
+ res = image_controller.PushImage(req, self.response,
+ self.validate_only_config)
+ patch.assert_not_called()
+ self.assertEqual(res, controller.RETURN_CODE_INVALID_INPUT)
+
+ def testMockCall(self):
+ """Test that mock call does not execute any logic, returns mocked value."""
+ patch = self.PatchObject(pushimage, 'PushImage')
+
+ rc = image_controller.PushImage(self._GetRequest(), self.response,
+ self.mock_call_config)
+ patch.assert_not_called()
+ self.assertEqual(controller.RETURN_CODE_SUCCESS, rc)
+
+ def testMockError(self):
+ """Test that mock call does not execute any logic, returns error."""
+ patch = self.PatchObject(pushimage, 'PushImage')
+
+ rc = image_controller.PushImage(self._GetRequest(), self.response,
+ self.mock_error_config)
+ patch.assert_not_called()
+ self.assertEqual(controller.RETURN_CODE_COMPLETED_UNSUCCESSFULLY, rc)
+
+ def testNoBuildTarget(self):
+ """Test no build target given fails."""
+ request = self._GetRequest(build_target_name='')
+
+ # No build target should cause it to fail.
+ with self.assertRaises(cros_build_lib.DieSystemExit):
+ image_controller.PushImage(request, self.response, self.api_config)
+
+ def testNoGsImageDir(self):
+ """Test no image dir given fails."""
+ request = self._GetRequest(gs_image_dir='')
+
+ # No image dir should cause it to fail.
+ with self.assertRaises(cros_build_lib.DieSystemExit):
+ image_controller.PushImage(request, self.response, self.api_config)
+
+ def testCallCorrect(self):
+ """Check that a call is called with the correct parameters."""
+ patch = self.PatchObject(pushimage, 'PushImage')
+
+ request = self._GetRequest(
+ dryrun=False, profile='', sign_types=[common_pb2.IMAGE_TYPE_RECOVERY])
+ request.dest_bucket = 'gs://foo'
+ image_controller.PushImage(request, self.response, self.api_config)
+ patch.assert_called_with(
+ request.gs_image_dir,
+ request.sysroot.build_target.name,
+ dry_run=request.dryrun,
+ sign_types=['recovery'],
+ dest_bucket=request.dest_bucket)
+
+ def testCallSucceeds(self):
+ """Check that a (dry run) call is made successfully."""
+ request = self._GetRequest(sign_types=[common_pb2.IMAGE_TYPE_RECOVERY])
+ res = image_controller.PushImage(request, self.response, self.api_config)
+ self.assertEqual(res, controller.RETURN_CODE_SUCCESS)
+
+ def testCallFailsWithBadImageDir(self):
+ """Check that a (dry run) call fails when given a bad gs_image_dir."""
+ request = self._GetRequest(gs_image_dir='foo')
+ res = image_controller.PushImage(request, self.response, self.api_config)
+ self.assertEqual(res, controller.RETURN_CODE_COMPLETED_UNSUCCESSFULLY)
diff --git a/api/gen/chromite/api/build_api_test_pb2.py b/api/gen/chromite/api/build_api_test_pb2.py
index b7dc231..224f6e3 100644
--- a/api/gen/chromite/api/build_api_test_pb2.py
+++ b/api/gen/chromite/api/build_api_test_pb2.py
@@ -3,6 +3,7 @@
import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
+from google.protobuf.internal import enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
@@ -22,10 +23,45 @@
package='chromite.api',
syntax='proto3',
serialized_options=_b('Z6go.chromium.org/chromiumos/infra/proto/go/chromite/api'),
- serialized_pb=_b('\n!chromite/api/build_api_test.proto\x12\x0c\x63hromite.api\x1a\x1c\x63hromite/api/build_api.proto\x1a\x17\x63hromiumos/common.proto\x1a\x18\x63hromiumos/metrics.proto\",\n\nNestedPath\x12\x1e\n\x04path\x18\x01 \x01(\x0b\x32\x10.chromiumos.Path\";\n\x11MultiFieldMessage\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04\x66lag\x18\x03 \x01(\x08\"\xd1\x03\n\x12TestRequestMessage\x12\n\n\x02id\x18\x01 \x01(\t\x12\"\n\x06\x63hroot\x18\x02 \x01(\x0b\x32\x12.chromiumos.Chroot\x12\x1e\n\x04path\x18\x03 \x01(\x0b\x32\x10.chromiumos.Path\x12&\n\x0c\x61nother_path\x18\x04 \x01(\x0b\x32\x10.chromiumos.Path\x12-\n\x0bnested_path\x18\x05 \x01(\x0b\x32\x18.chromite.api.NestedPath\x12+\n\x0bresult_path\x18\x06 \x01(\x0b\x32\x16.chromiumos.ResultPath\x12-\n\x0c\x62uild_target\x18\x07 \x01(\x0b\x32\x17.chromiumos.BuildTarget\x12.\n\rbuild_targets\x18\x08 \x03(\x0b\x32\x17.chromiumos.BuildTarget\x12)\n\nsynced_dir\x18\t \x01(\x0b\x32\x15.chromiumos.SyncedDir\x12*\n\x0bsynced_dirs\x18\n \x03(\x0b\x32\x15.chromiumos.SyncedDir\x12\x31\n\x08messages\x18\x0b \x03(\x0b\x32\x1f.chromite.api.MultiFieldMessage\"\xc8\x01\n\x11TestResultMessage\x12\x0e\n\x06result\x18\x01 \x01(\t\x12\"\n\x08\x61rtifact\x18\x02 \x01(\x0b\x32\x10.chromiumos.Path\x12\x31\n\x0fnested_artifact\x18\x03 \x01(\x0b\x32\x18.chromite.api.NestedPath\x12#\n\tartifacts\x18\x04 \x03(\x0b\x32\x10.chromiumos.Path\x12\'\n\x06\x65vents\x18\x05 \x03(\x0b\x32\x17.chromiumos.MetricEvent2\xe5\x01\n\x0eTestApiService\x12V\n\x11InputOutputMethod\x12 .chromite.api.TestRequestMessage\x1a\x1f.chromite.api.TestResultMessage\x12\x65\n\rRenamedMethod\x12 .chromite.api.TestRequestMessage\x1a\x1f.chromite.api.TestResultMessage\"\x11\xc2\xed\x1a\r\n\x0b\x43orrectName\x1a\x14\xc2\xed\x1a\x10\n\x0e\x62uild_api_test2\xf9\x01\n\x16InsideChrootApiService\x12^\n\x19InsideServiceInsideMethod\x12 .chromite.api.TestRequestMessage\x1a\x1f.chromite.api.TestResultMessage\x12g\n\x1aInsideServiceOutsideMethod\x12 .chromite.api.TestRequestMessage\x1a\x1f.chromite.api.TestResultMessage\"\x06\xc2\xed\x1a\x02\x10\x02\x1a\x16\xc2\xed\x1a\x12\n\x0e\x62uild_api_test\x10\x01\x32\xfc\x01\n\x17OutsideChrootApiService\x12`\n\x1bOutsideServiceOutsideMethod\x12 .chromite.api.TestRequestMessage\x1a\x1f.chromite.api.TestResultMessage\x12g\n\x1aOutsideServiceInsideMethod\x12 .chromite.api.TestRequestMessage\x1a\x1f.chromite.api.TestResultMessage\"\x06\xc2\xed\x1a\x02\x10\x01\x1a\x16\xc2\xed\x1a\x12\n\x0e\x62uild_api_test\x10\x02\x42\x38Z6go.chromium.org/chromiumos/infra/proto/go/chromite/apib\x06proto3')
+ serialized_pb=_b('\n!chromite/api/build_api_test.proto\x12\x0c\x63hromite.api\x1a\x1c\x63hromite/api/build_api.proto\x1a\x17\x63hromiumos/common.proto\x1a\x18\x63hromiumos/metrics.proto\",\n\nNestedPath\x12\x1e\n\x04path\x18\x01 \x01(\x0b\x32\x10.chromiumos.Path\"f\n\x11MultiFieldMessage\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04\x66lag\x18\x03 \x01(\x08\x12)\n\ttest_enum\x18\x04 \x01(\x0e\x32\x16.chromite.api.TestEnum\"\xc9\x04\n\x12TestRequestMessage\x12\n\n\x02id\x18\x01 \x01(\t\x12\"\n\x06\x63hroot\x18\x02 \x01(\x0b\x32\x12.chromiumos.Chroot\x12\x1e\n\x04path\x18\x03 \x01(\x0b\x32\x10.chromiumos.Path\x12&\n\x0c\x61nother_path\x18\x04 \x01(\x0b\x32\x10.chromiumos.Path\x12-\n\x0bnested_path\x18\x05 \x01(\x0b\x32\x18.chromite.api.NestedPath\x12+\n\x0bresult_path\x18\x06 \x01(\x0b\x32\x16.chromiumos.ResultPath\x12-\n\x0c\x62uild_target\x18\x07 \x01(\x0b\x32\x17.chromiumos.BuildTarget\x12.\n\rbuild_targets\x18\x08 \x03(\x0b\x32\x17.chromiumos.BuildTarget\x12)\n\nsynced_dir\x18\t \x01(\x0b\x32\x15.chromiumos.SyncedDir\x12*\n\x0bsynced_dirs\x18\n \x03(\x0b\x32\x15.chromiumos.SyncedDir\x12\x31\n\x08messages\x18\x0b \x03(\x0b\x32\x1f.chromite.api.MultiFieldMessage\x12)\n\ttest_enum\x18\x0c \x01(\x0e\x32\x16.chromite.api.TestEnum\x12*\n\ntest_enums\x18\r \x03(\x0e\x32\x16.chromite.api.TestEnum\x12\x0e\n\x06number\x18\x0e \x01(\x05\x12\x0f\n\x07numbers\x18\x0f \x03(\x05\"\xc8\x01\n\x11TestResultMessage\x12\x0e\n\x06result\x18\x01 \x01(\t\x12\"\n\x08\x61rtifact\x18\x02 \x01(\x0b\x32\x10.chromiumos.Path\x12\x31\n\x0fnested_artifact\x18\x03 \x01(\x0b\x32\x18.chromite.api.NestedPath\x12#\n\tartifacts\x18\x04 \x03(\x0b\x32\x10.chromiumos.Path\x12\'\n\x06\x65vents\x18\x05 \x03(\x0b\x32\x17.chromiumos.MetricEvent*^\n\x08TestEnum\x12\x19\n\x15TEST_ENUM_UNSPECIFIED\x10\x00\x12\x11\n\rTEST_ENUM_FOO\x10\x01\x12\x11\n\rTEST_ENUM_BAR\x10\x02\x12\x11\n\rTEST_ENUM_BAZ\x10\x03\x32\xe5\x01\n\x0eTestApiService\x12V\n\x11InputOutputMethod\x12 .chromite.api.TestRequestMessage\x1a\x1f.chromite.api.TestResultMessage\x12\x65\n\rRenamedMethod\x12 .chromite.api.TestRequestMessage\x1a\x1f.chromite.api.TestResultMessage\"\x11\xc2\xed\x1a\r\n\x0b\x43orrectName\x1a\x14\xc2\xed\x1a\x10\n\x0e\x62uild_api_test2\xf9\x01\n\x16InsideChrootApiService\x12^\n\x19InsideServiceInsideMethod\x12 .chromite.api.TestRequestMessage\x1a\x1f.chromite.api.TestResultMessage\x12g\n\x1aInsideServiceOutsideMethod\x12 .chromite.api.TestRequestMessage\x1a\x1f.chromite.api.TestResultMessage\"\x06\xc2\xed\x1a\x02\x10\x02\x1a\x16\xc2\xed\x1a\x12\n\x0e\x62uild_api_test\x10\x01\x32\xfc\x01\n\x17OutsideChrootApiService\x12`\n\x1bOutsideServiceOutsideMethod\x12 .chromite.api.TestRequestMessage\x1a\x1f.chromite.api.TestResultMessage\x12g\n\x1aOutsideServiceInsideMethod\x12 .chromite.api.TestRequestMessage\x1a\x1f.chromite.api.TestResultMessage\"\x06\xc2\xed\x1a\x02\x10\x01\x1a\x16\xc2\xed\x1a\x12\n\x0e\x62uild_api_test\x10\x02\x42\x38Z6go.chromium.org/chromiumos/infra/proto/go/chromite/apib\x06proto3')
,
dependencies=[chromite_dot_api_dot_build__api__pb2.DESCRIPTOR,chromiumos_dot_common__pb2.DESCRIPTOR,chromiumos_dot_metrics__pb2.DESCRIPTOR,])
+_TESTENUM = _descriptor.EnumDescriptor(
+ name='TestEnum',
+ full_name='chromite.api.TestEnum',
+ filename=None,
+ file=DESCRIPTOR,
+ values=[
+ _descriptor.EnumValueDescriptor(
+ name='TEST_ENUM_UNSPECIFIED', index=0, number=0,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='TEST_ENUM_FOO', index=1, number=1,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='TEST_ENUM_BAR', index=2, number=2,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='TEST_ENUM_BAZ', index=3, number=3,
+ serialized_options=None,
+ type=None),
+ ],
+ containing_type=None,
+ serialized_options=None,
+ serialized_start=1073,
+ serialized_end=1167,
+)
+_sym_db.RegisterEnumDescriptor(_TESTENUM)
+
+TestEnum = enum_type_wrapper.EnumTypeWrapper(_TESTENUM)
+TEST_ENUM_UNSPECIFIED = 0
+TEST_ENUM_FOO = 1
+TEST_ENUM_BAR = 2
+TEST_ENUM_BAZ = 3
@@ -88,6 +124,13 @@
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='test_enum', full_name='chromite.api.MultiFieldMessage.test_enum', index=3,
+ number=4, type=14, cpp_type=8, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
@@ -101,7 +144,7 @@
oneofs=[
],
serialized_start=178,
- serialized_end=237,
+ serialized_end=280,
)
@@ -189,6 +232,34 @@
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='test_enum', full_name='chromite.api.TestRequestMessage.test_enum', index=11,
+ number=12, type=14, cpp_type=8, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='test_enums', full_name='chromite.api.TestRequestMessage.test_enums', index=12,
+ number=13, type=14, cpp_type=8, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='number', full_name='chromite.api.TestRequestMessage.number', index=13,
+ number=14, type=5, cpp_type=1, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='numbers', full_name='chromite.api.TestRequestMessage.numbers', index=14,
+ number=15, type=5, cpp_type=1, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
@@ -201,8 +272,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=240,
- serialized_end=705,
+ serialized_start=283,
+ serialized_end=868,
)
@@ -260,11 +331,12 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=708,
- serialized_end=908,
+ serialized_start=871,
+ serialized_end=1071,
)
_NESTEDPATH.fields_by_name['path'].message_type = chromiumos_dot_common__pb2._PATH
+_MULTIFIELDMESSAGE.fields_by_name['test_enum'].enum_type = _TESTENUM
_TESTREQUESTMESSAGE.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_TESTREQUESTMESSAGE.fields_by_name['path'].message_type = chromiumos_dot_common__pb2._PATH
_TESTREQUESTMESSAGE.fields_by_name['another_path'].message_type = chromiumos_dot_common__pb2._PATH
@@ -275,6 +347,8 @@
_TESTREQUESTMESSAGE.fields_by_name['synced_dir'].message_type = chromiumos_dot_common__pb2._SYNCEDDIR
_TESTREQUESTMESSAGE.fields_by_name['synced_dirs'].message_type = chromiumos_dot_common__pb2._SYNCEDDIR
_TESTREQUESTMESSAGE.fields_by_name['messages'].message_type = _MULTIFIELDMESSAGE
+_TESTREQUESTMESSAGE.fields_by_name['test_enum'].enum_type = _TESTENUM
+_TESTREQUESTMESSAGE.fields_by_name['test_enums'].enum_type = _TESTENUM
_TESTRESULTMESSAGE.fields_by_name['artifact'].message_type = chromiumos_dot_common__pb2._PATH
_TESTRESULTMESSAGE.fields_by_name['nested_artifact'].message_type = _NESTEDPATH
_TESTRESULTMESSAGE.fields_by_name['artifacts'].message_type = chromiumos_dot_common__pb2._PATH
@@ -283,6 +357,7 @@
DESCRIPTOR.message_types_by_name['MultiFieldMessage'] = _MULTIFIELDMESSAGE
DESCRIPTOR.message_types_by_name['TestRequestMessage'] = _TESTREQUESTMESSAGE
DESCRIPTOR.message_types_by_name['TestResultMessage'] = _TESTRESULTMESSAGE
+DESCRIPTOR.enum_types_by_name['TestEnum'] = _TESTENUM
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
NestedPath = _reflection.GeneratedProtocolMessageType('NestedPath', (_message.Message,), dict(
@@ -322,8 +397,8 @@
file=DESCRIPTOR,
index=0,
serialized_options=_b('\302\355\032\020\n\016build_api_test'),
- serialized_start=911,
- serialized_end=1140,
+ serialized_start=1170,
+ serialized_end=1399,
methods=[
_descriptor.MethodDescriptor(
name='InputOutputMethod',
@@ -355,8 +430,8 @@
file=DESCRIPTOR,
index=1,
serialized_options=_b('\302\355\032\022\n\016build_api_test\020\001'),
- serialized_start=1143,
- serialized_end=1392,
+ serialized_start=1402,
+ serialized_end=1651,
methods=[
_descriptor.MethodDescriptor(
name='InsideServiceInsideMethod',
@@ -388,8 +463,8 @@
file=DESCRIPTOR,
index=2,
serialized_options=_b('\302\355\032\022\n\016build_api_test\020\002'),
- serialized_start=1395,
- serialized_end=1647,
+ serialized_start=1654,
+ serialized_end=1906,
methods=[
_descriptor.MethodDescriptor(
name='OutsideServiceOutsideMethod',
diff --git a/api/gen/chromite/api/image_pb2.py b/api/gen/chromite/api/image_pb2.py
index 2217d48..32c0063 100644
--- a/api/gen/chromite/api/image_pb2.py
+++ b/api/gen/chromite/api/image_pb2.py
@@ -13,6 +13,7 @@
from chromite.api.gen.chromite.api import build_api_pb2 as chromite_dot_api_dot_build__api__pb2
+from chromite.api.gen.chromite.api import sysroot_pb2 as chromite_dot_api_dot_sysroot__pb2
from chromite.api.gen.chromiumos import common_pb2 as chromiumos_dot_common__pb2
from chromite.api.gen.chromiumos import metrics_pb2 as chromiumos_dot_metrics__pb2
@@ -22,9 +23,9 @@
package='chromite.api',
syntax='proto3',
serialized_options=_b('Z6go.chromium.org/chromiumos/infra/proto/go/chromite/api'),
- serialized_pb=_b('\n\x18\x63hromite/api/image.proto\x12\x0c\x63hromite.api\x1a\x1c\x63hromite/api/build_api.proto\x1a\x17\x63hromiumos/common.proto\x1a\x18\x63hromiumos/metrics.proto\"i\n\x05Image\x12\x0c\n\x04path\x18\x01 \x01(\t\x12#\n\x04type\x18\x02 \x01(\x0e\x32\x15.chromiumos.ImageType\x12-\n\x0c\x62uild_target\x18\x03 \x01(\x0b\x32\x17.chromiumos.BuildTarget\"\xf4\x01\n\x12\x43reateImageRequest\x12-\n\x0c\x62uild_target\x18\x01 \x01(\x0b\x32\x17.chromiumos.BuildTarget\x12*\n\x0bimage_types\x18\x02 \x03(\x0e\x32\x15.chromiumos.ImageType\x12#\n\x1b\x64isable_rootfs_verification\x18\x03 \x01(\x08\x12\x0f\n\x07version\x18\x04 \x01(\t\x12\x13\n\x0b\x64isk_layout\x18\x05 \x01(\t\x12\x14\n\x0c\x62uilder_path\x18\x06 \x01(\t\x12\"\n\x06\x63hroot\x18\x07 \x01(\x0b\x32\x12.chromiumos.Chroot\"\xa4\x01\n\x11\x43reateImageResult\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12#\n\x06images\x18\x02 \x03(\x0b\x32\x13.chromite.api.Image\x12\x30\n\x0f\x66\x61iled_packages\x18\x03 \x03(\x0b\x32\x17.chromiumos.PackageInfo\x12\'\n\x06\x65vents\x18\x04 \x03(\x0b\x32\x17.chromiumos.MetricEvent\"\xdd\x01\n\x10TestImageRequest\x12\"\n\x05image\x18\x01 \x01(\x0b\x32\x13.chromite.api.Image\x12-\n\x0c\x62uild_target\x18\x02 \x01(\x0b\x32\x17.chromiumos.BuildTarget\x12\x35\n\x06result\x18\x03 \x01(\x0b\x32%.chromite.api.TestImageRequest.Result\x12\"\n\x06\x63hroot\x18\x04 \x01(\x0b\x32\x12.chromiumos.Chroot\x1a\x1b\n\x06Result\x12\x11\n\tdirectory\x18\x01 \x01(\t\"\"\n\x0fTestImageResult\x12\x0f\n\x07success\x18\x01 \x01(\x08\x32\xfe\x01\n\x0cImageService\x12K\n\x06\x43reate\x12 .chromite.api.CreateImageRequest\x1a\x1f.chromite.api.CreateImageResult\x12\x45\n\x04Test\x12\x1e.chromite.api.TestImageRequest\x1a\x1d.chromite.api.TestImageResult\x12K\n\nSignerTest\x12\x1e.chromite.api.TestImageRequest\x1a\x1d.chromite.api.TestImageResult\x1a\r\xc2\xed\x1a\t\n\x05image\x10\x01\x42\x38Z6go.chromium.org/chromiumos/infra/proto/go/chromite/apib\x06proto3')
+ serialized_pb=_b('\n\x18\x63hromite/api/image.proto\x12\x0c\x63hromite.api\x1a\x1c\x63hromite/api/build_api.proto\x1a\x1a\x63hromite/api/sysroot.proto\x1a\x17\x63hromiumos/common.proto\x1a\x18\x63hromiumos/metrics.proto\"i\n\x05Image\x12\x0c\n\x04path\x18\x01 \x01(\t\x12#\n\x04type\x18\x02 \x01(\x0e\x32\x15.chromiumos.ImageType\x12-\n\x0c\x62uild_target\x18\x03 \x01(\x0b\x32\x17.chromiumos.BuildTarget\"\xf4\x01\n\x12\x43reateImageRequest\x12-\n\x0c\x62uild_target\x18\x01 \x01(\x0b\x32\x17.chromiumos.BuildTarget\x12*\n\x0bimage_types\x18\x02 \x03(\x0e\x32\x15.chromiumos.ImageType\x12#\n\x1b\x64isable_rootfs_verification\x18\x03 \x01(\x08\x12\x0f\n\x07version\x18\x04 \x01(\t\x12\x13\n\x0b\x64isk_layout\x18\x05 \x01(\t\x12\x14\n\x0c\x62uilder_path\x18\x06 \x01(\t\x12\"\n\x06\x63hroot\x18\x07 \x01(\x0b\x32\x12.chromiumos.Chroot\"\xa4\x01\n\x11\x43reateImageResult\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12#\n\x06images\x18\x02 \x03(\x0b\x32\x13.chromite.api.Image\x12\x30\n\x0f\x66\x61iled_packages\x18\x03 \x03(\x0b\x32\x17.chromiumos.PackageInfo\x12\'\n\x06\x65vents\x18\x04 \x03(\x0b\x32\x17.chromiumos.MetricEvent\"\xdd\x01\n\x10TestImageRequest\x12\"\n\x05image\x18\x01 \x01(\x0b\x32\x13.chromite.api.Image\x12-\n\x0c\x62uild_target\x18\x02 \x01(\x0b\x32\x17.chromiumos.BuildTarget\x12\x35\n\x06result\x18\x03 \x01(\x0b\x32%.chromite.api.TestImageRequest.Result\x12\"\n\x06\x63hroot\x18\x04 \x01(\x0b\x32\x12.chromiumos.Chroot\x1a\x1b\n\x06Result\x12\x11\n\tdirectory\x18\x01 \x01(\t\"\"\n\x0fTestImageResult\x12\x0f\n\x07success\x18\x01 \x01(\x08\"\xea\x01\n\x10PushImageRequest\x12\"\n\x06\x63hroot\x18\x01 \x01(\x0b\x32\x12.chromiumos.Chroot\x12\x0e\n\x06\x64ryrun\x18\x02 \x01(\x08\x12\x14\n\x0cgs_image_dir\x18\x03 \x01(\t\x12&\n\x07sysroot\x18\x04 \x01(\x0b\x32\x15.chromite.api.Sysroot\x12$\n\x07profile\x18\x05 \x01(\x0b\x32\x13.chromiumos.Profile\x12)\n\nsign_types\x18\x06 \x03(\x0e\x32\x15.chromiumos.ImageType\x12\x13\n\x0b\x64\x65st_bucket\x18\x07 \x01(\t\"\x13\n\x11PushImageResponse2\xcc\x02\n\x0cImageService\x12K\n\x06\x43reate\x12 .chromite.api.CreateImageRequest\x1a\x1f.chromite.api.CreateImageResult\x12\x45\n\x04Test\x12\x1e.chromite.api.TestImageRequest\x1a\x1d.chromite.api.TestImageResult\x12K\n\nSignerTest\x12\x1e.chromite.api.TestImageRequest\x1a\x1d.chromite.api.TestImageResult\x12L\n\tPushImage\x12\x1e.chromite.api.PushImageRequest\x1a\x1f.chromite.api.PushImageResponse\x1a\r\xc2\xed\x1a\t\n\x05image\x10\x01\x42\x38Z6go.chromium.org/chromiumos/infra/proto/go/chromite/apib\x06proto3')
,
- dependencies=[chromite_dot_api_dot_build__api__pb2.DESCRIPTOR,chromiumos_dot_common__pb2.DESCRIPTOR,chromiumos_dot_metrics__pb2.DESCRIPTOR,])
+ dependencies=[chromite_dot_api_dot_build__api__pb2.DESCRIPTOR,chromite_dot_api_dot_sysroot__pb2.DESCRIPTOR,chromiumos_dot_common__pb2.DESCRIPTOR,chromiumos_dot_metrics__pb2.DESCRIPTOR,])
@@ -69,8 +70,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=123,
- serialized_end=228,
+ serialized_start=151,
+ serialized_end=256,
)
@@ -142,8 +143,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=231,
- serialized_end=475,
+ serialized_start=259,
+ serialized_end=503,
)
@@ -194,8 +195,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=478,
- serialized_end=642,
+ serialized_start=506,
+ serialized_end=670,
)
@@ -225,8 +226,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=839,
- serialized_end=866,
+ serialized_start=867,
+ serialized_end=894,
)
_TESTIMAGEREQUEST = _descriptor.Descriptor(
@@ -276,8 +277,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=645,
- serialized_end=866,
+ serialized_start=673,
+ serialized_end=894,
)
@@ -307,8 +308,105 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=868,
- serialized_end=902,
+ serialized_start=896,
+ serialized_end=930,
+)
+
+
+_PUSHIMAGEREQUEST = _descriptor.Descriptor(
+ name='PushImageRequest',
+ full_name='chromite.api.PushImageRequest',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='chroot', full_name='chromite.api.PushImageRequest.chroot', index=0,
+ number=1, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='dryrun', full_name='chromite.api.PushImageRequest.dryrun', index=1,
+ number=2, type=8, cpp_type=7, label=1,
+ has_default_value=False, default_value=False,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='gs_image_dir', full_name='chromite.api.PushImageRequest.gs_image_dir', index=2,
+ number=3, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='sysroot', full_name='chromite.api.PushImageRequest.sysroot', index=3,
+ number=4, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='profile', full_name='chromite.api.PushImageRequest.profile', index=4,
+ number=5, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='sign_types', full_name='chromite.api.PushImageRequest.sign_types', index=5,
+ number=6, type=14, cpp_type=8, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='dest_bucket', full_name='chromite.api.PushImageRequest.dest_bucket', index=6,
+ number=7, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=933,
+ serialized_end=1167,
+)
+
+
+_PUSHIMAGERESPONSE = _descriptor.Descriptor(
+ name='PushImageResponse',
+ full_name='chromite.api.PushImageResponse',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=1169,
+ serialized_end=1188,
)
_IMAGE.fields_by_name['type'].enum_type = chromiumos_dot_common__pb2._IMAGETYPE
@@ -324,11 +422,17 @@
_TESTIMAGEREQUEST.fields_by_name['build_target'].message_type = chromiumos_dot_common__pb2._BUILDTARGET
_TESTIMAGEREQUEST.fields_by_name['result'].message_type = _TESTIMAGEREQUEST_RESULT
_TESTIMAGEREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
+_PUSHIMAGEREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
+_PUSHIMAGEREQUEST.fields_by_name['sysroot'].message_type = chromite_dot_api_dot_sysroot__pb2._SYSROOT
+_PUSHIMAGEREQUEST.fields_by_name['profile'].message_type = chromiumos_dot_common__pb2._PROFILE
+_PUSHIMAGEREQUEST.fields_by_name['sign_types'].enum_type = chromiumos_dot_common__pb2._IMAGETYPE
DESCRIPTOR.message_types_by_name['Image'] = _IMAGE
DESCRIPTOR.message_types_by_name['CreateImageRequest'] = _CREATEIMAGEREQUEST
DESCRIPTOR.message_types_by_name['CreateImageResult'] = _CREATEIMAGERESULT
DESCRIPTOR.message_types_by_name['TestImageRequest'] = _TESTIMAGEREQUEST
DESCRIPTOR.message_types_by_name['TestImageResult'] = _TESTIMAGERESULT
+DESCRIPTOR.message_types_by_name['PushImageRequest'] = _PUSHIMAGEREQUEST
+DESCRIPTOR.message_types_by_name['PushImageResponse'] = _PUSHIMAGERESPONSE
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
Image = _reflection.GeneratedProtocolMessageType('Image', (_message.Message,), dict(
@@ -374,6 +478,20 @@
))
_sym_db.RegisterMessage(TestImageResult)
+PushImageRequest = _reflection.GeneratedProtocolMessageType('PushImageRequest', (_message.Message,), dict(
+ DESCRIPTOR = _PUSHIMAGEREQUEST,
+ __module__ = 'chromite.api.image_pb2'
+ # @@protoc_insertion_point(class_scope:chromite.api.PushImageRequest)
+ ))
+_sym_db.RegisterMessage(PushImageRequest)
+
+PushImageResponse = _reflection.GeneratedProtocolMessageType('PushImageResponse', (_message.Message,), dict(
+ DESCRIPTOR = _PUSHIMAGERESPONSE,
+ __module__ = 'chromite.api.image_pb2'
+ # @@protoc_insertion_point(class_scope:chromite.api.PushImageResponse)
+ ))
+_sym_db.RegisterMessage(PushImageResponse)
+
DESCRIPTOR._options = None
@@ -383,8 +501,8 @@
file=DESCRIPTOR,
index=0,
serialized_options=_b('\302\355\032\t\n\005image\020\001'),
- serialized_start=905,
- serialized_end=1159,
+ serialized_start=1191,
+ serialized_end=1523,
methods=[
_descriptor.MethodDescriptor(
name='Create',
@@ -413,6 +531,15 @@
output_type=_TESTIMAGERESULT,
serialized_options=None,
),
+ _descriptor.MethodDescriptor(
+ name='PushImage',
+ full_name='chromite.api.ImageService.PushImage',
+ index=3,
+ containing_service=None,
+ input_type=_PUSHIMAGEREQUEST,
+ output_type=_PUSHIMAGERESPONSE,
+ serialized_options=None,
+ ),
])
_sym_db.RegisterServiceDescriptor(_IMAGESERVICE)
diff --git a/api/gen/chromiumos/bot_scaling_pb2.py b/api/gen/chromiumos/bot_scaling_pb2.py
index d03714e..81d61e6 100644
--- a/api/gen/chromiumos/bot_scaling_pb2.py
+++ b/api/gen/chromiumos/bot_scaling_pb2.py
@@ -19,7 +19,7 @@
package='chromiumos',
syntax='proto3',
serialized_options=_b('Z4go.chromium.org/chromiumos/infra/proto/go/chromiumos'),
- serialized_pb=_b('\n\x1c\x63hromiumos/bot_scaling.proto\x12\nchromiumos\"Z\n\x07\x42otType\x12\x10\n\x08\x62ot_size\x18\x01 \x01(\t\x12\x15\n\rcores_per_bot\x18\x02 \x01(\x02\x12\x13\n\x0bhourly_cost\x18\x03 \x01(\x02\x12\x11\n\tmemory_gb\x18\x04 \x01(\x02\"@\n\x11SwarmingDimension\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x12\x0e\n\x06values\x18\x03 \x03(\t\"\xff\x05\n\tBotPolicy\x12\x11\n\tbot_group\x18\x01 \x01(\t\x12%\n\x08\x62ot_type\x18\x02 \x01(\x0b\x32\x13.chromiumos.BotType\x12\x45\n\x13scaling_restriction\x18\x03 \x01(\x0b\x32(.chromiumos.BotPolicy.ScalingRestriction\x12\x44\n\x13region_restrictions\x18\x04 \x03(\x0b\x32\'.chromiumos.BotPolicy.RegionRestriction\x12:\n\x13swarming_dimensions\x18\x05 \x03(\x0b\x32\x1d.chromiumos.SwarmingDimension\x12/\n\x0bpolicy_mode\x18\x06 \x01(\x0e\x32\x1a.chromiumos.BotPolicy.Mode\x12\x16\n\x0elookback_hours\x18\x07 \x01(\x11\x12:\n\x0cscaling_mode\x18\x08 \x01(\x0e\x32$.chromiumos.BotPolicy.BotScalingMode\x12\x19\n\x11swarming_instance\x18\t \x01(\t\x12\x13\n\x0b\x61pplication\x18\n \x01(\t\x1aw\n\x12ScalingRestriction\x12\x13\n\x0b\x62ot_ceiling\x18\x01 \x01(\x05\x12\x11\n\tbot_floor\x18\x02 \x01(\x05\x12\x10\n\x08min_idle\x18\x03 \x01(\x05\x12\x11\n\tstep_size\x18\x04 \x01(\x05\x12\x14\n\x0c\x62ot_fallback\x18\x05 \x01(\x05\x1a\x43\n\x11RegionRestriction\x12\x0e\n\x06region\x18\x01 \x01(\t\x12\x0e\n\x06prefix\x18\x02 \x01(\t\x12\x0e\n\x06weight\x18\x03 \x01(\x02\"7\n\x04Mode\x12\x10\n\x0cUNKNOWN_MODE\x10\x00\x12\r\n\tMONITORED\x10\x01\x12\x0e\n\nCONFIGURED\x10\x02\"C\n\x0e\x42otScalingMode\x12\x18\n\x14UNKNOWN_SCALING_MODE\x10\x00\x12\x0b\n\x07STEPPED\x10\x01\x12\n\n\x06\x44\x45MAND\x10\x02\";\n\x0c\x42otPolicyCfg\x12+\n\x0c\x62ot_policies\x18\x01 \x03(\x0b\x32\x15.chromiumos.BotPolicy\"\xab\x03\n\rScalingAction\x12\x11\n\tbot_group\x18\x01 \x01(\t\x12%\n\x08\x62ot_type\x18\x02 \x01(\x0b\x32\x13.chromiumos.BotType\x12\x38\n\nactionable\x18\x03 \x01(\x0e\x32$.chromiumos.ScalingAction.Actionable\x12\x16\n\x0e\x62ots_requested\x18\x04 \x01(\x05\x12\x42\n\x10regional_actions\x18\x05 \x03(\x0b\x32(.chromiumos.ScalingAction.RegionalAction\x12\x19\n\x11\x65stimated_savings\x18\x06 \x01(\x02\x12\x0f\n\x07\x62ot_min\x18\x07 \x01(\x05\x12\x0f\n\x07\x62ot_max\x18\x08 \x01(\x05\x12\x13\n\x0b\x61pplication\x18\t \x01(\t\x1aH\n\x0eRegionalAction\x12\x0e\n\x06region\x18\x01 \x01(\t\x12\x0e\n\x06prefix\x18\x02 \x01(\t\x12\x16\n\x0e\x62ots_requested\x18\x03 \x01(\x05\".\n\nActionable\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x07\n\x03YES\x10\x01\x12\x06\n\x02NO\x10\x02\"v\n\x13ResourceUtilization\x12\x0e\n\x06region\x18\x01 \x01(\t\x12\x0b\n\x03vms\x18\x02 \x01(\x05\x12\x0c\n\x04\x63pus\x18\x03 \x01(\x02\x12\x11\n\tmemory_gb\x18\x04 \x01(\x02\x12\x0f\n\x07\x64isk_gb\x18\x05 \x01(\x02\x12\x10\n\x08max_cpus\x18\x06 \x01(\x02\"l\n\x16\x41pplicationUtilization\x12\x13\n\x0b\x61pplication\x18\x01 \x01(\t\x12=\n\x14resource_utilization\x18\x02 \x03(\x0b\x32\x1f.chromiumos.ResourceUtilization\"\xca\x01\n\x0eRoboCropAction\x12\x32\n\x0fscaling_actions\x18\x01 \x03(\x0b\x32\x19.chromiumos.ScalingAction\x12=\n\x14resource_utilization\x18\x02 \x03(\x0b\x32\x1f.chromiumos.ResourceUtilization\x12\x45\n\x19\x61ppl_resource_utilization\x18\x03 \x03(\x0b\x32\".chromiumos.ApplicationUtilizationB6Z4go.chromium.org/chromiumos/infra/proto/go/chromiumosb\x06proto3')
+ serialized_pb=_b('\n\x1c\x63hromiumos/bot_scaling.proto\x12\nchromiumos\"Z\n\x07\x42otType\x12\x10\n\x08\x62ot_size\x18\x01 \x01(\t\x12\x15\n\rcores_per_bot\x18\x02 \x01(\x02\x12\x13\n\x0bhourly_cost\x18\x03 \x01(\x02\x12\x11\n\tmemory_gb\x18\x04 \x01(\x02\"@\n\x11SwarmingDimension\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x12\x0e\n\x06values\x18\x03 \x03(\t\"\x95\x06\n\tBotPolicy\x12\x11\n\tbot_group\x18\x01 \x01(\t\x12%\n\x08\x62ot_type\x18\x02 \x01(\x0b\x32\x13.chromiumos.BotType\x12\x45\n\x13scaling_restriction\x18\x03 \x01(\x0b\x32(.chromiumos.BotPolicy.ScalingRestriction\x12\x44\n\x13region_restrictions\x18\x04 \x03(\x0b\x32\'.chromiumos.BotPolicy.RegionRestriction\x12:\n\x13swarming_dimensions\x18\x05 \x03(\x0b\x32\x1d.chromiumos.SwarmingDimension\x12/\n\x0bpolicy_mode\x18\x06 \x01(\x0e\x32\x1a.chromiumos.BotPolicy.Mode\x12\x16\n\x0elookback_hours\x18\x07 \x01(\x11\x12:\n\x0cscaling_mode\x18\x08 \x01(\x0e\x32$.chromiumos.BotPolicy.BotScalingMode\x12\x19\n\x11swarming_instance\x18\t \x01(\t\x12\x13\n\x0b\x61pplication\x18\n \x01(\t\x1aw\n\x12ScalingRestriction\x12\x13\n\x0b\x62ot_ceiling\x18\x01 \x01(\x05\x12\x11\n\tbot_floor\x18\x02 \x01(\x05\x12\x10\n\x08min_idle\x18\x03 \x01(\x05\x12\x11\n\tstep_size\x18\x04 \x01(\x05\x12\x14\n\x0c\x62ot_fallback\x18\x05 \x01(\x05\x1a\x43\n\x11RegionRestriction\x12\x0e\n\x06region\x18\x01 \x01(\t\x12\x0e\n\x06prefix\x18\x02 \x01(\t\x12\x0e\n\x06weight\x18\x03 \x01(\x02\"7\n\x04Mode\x12\x10\n\x0cUNKNOWN_MODE\x10\x00\x12\r\n\tMONITORED\x10\x01\x12\x0e\n\nCONFIGURED\x10\x02\"Y\n\x0e\x42otScalingMode\x12\x18\n\x14UNKNOWN_SCALING_MODE\x10\x00\x12\x0b\n\x07STEPPED\x10\x01\x12\n\n\x06\x44\x45MAND\x10\x02\x12\x14\n\x10STEPPED_DECREASE\x10\x03\";\n\x0c\x42otPolicyCfg\x12+\n\x0c\x62ot_policies\x18\x01 \x03(\x0b\x32\x15.chromiumos.BotPolicy\"\xbd\x01\n\x10ReducedBotPolicy\x12\x11\n\tbot_group\x18\x01 \x01(\t\x12%\n\x08\x62ot_type\x18\x02 \x01(\x0b\x32\x13.chromiumos.BotType\x12\x36\n\x0bpolicy_mode\x18\x03 \x01(\x0e\x32!.chromiumos.ReducedBotPolicy.Mode\"7\n\x04Mode\x12\x10\n\x0cUNKNOWN_MODE\x10\x00\x12\r\n\tMONITORED\x10\x01\x12\x0e\n\nCONFIGURED\x10\x02\"I\n\x13ReducedBotPolicyCfg\x12\x32\n\x0c\x62ot_policies\x18\x01 \x03(\x0b\x32\x1c.chromiumos.ReducedBotPolicy\"\xab\x03\n\rScalingAction\x12\x11\n\tbot_group\x18\x01 \x01(\t\x12%\n\x08\x62ot_type\x18\x02 \x01(\x0b\x32\x13.chromiumos.BotType\x12\x38\n\nactionable\x18\x03 \x01(\x0e\x32$.chromiumos.ScalingAction.Actionable\x12\x16\n\x0e\x62ots_requested\x18\x04 \x01(\x05\x12\x42\n\x10regional_actions\x18\x05 \x03(\x0b\x32(.chromiumos.ScalingAction.RegionalAction\x12\x19\n\x11\x65stimated_savings\x18\x06 \x01(\x02\x12\x0f\n\x07\x62ot_min\x18\x07 \x01(\x05\x12\x0f\n\x07\x62ot_max\x18\x08 \x01(\x05\x12\x13\n\x0b\x61pplication\x18\t \x01(\t\x1aH\n\x0eRegionalAction\x12\x0e\n\x06region\x18\x01 \x01(\t\x12\x0e\n\x06prefix\x18\x02 \x01(\t\x12\x16\n\x0e\x62ots_requested\x18\x03 \x01(\x05\".\n\nActionable\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x07\n\x03YES\x10\x01\x12\x06\n\x02NO\x10\x02\"v\n\x13ResourceUtilization\x12\x0e\n\x06region\x18\x01 \x01(\t\x12\x0b\n\x03vms\x18\x02 \x01(\x05\x12\x0c\n\x04\x63pus\x18\x03 \x01(\x02\x12\x11\n\tmemory_gb\x18\x04 \x01(\x02\x12\x0f\n\x07\x64isk_gb\x18\x05 \x01(\x02\x12\x10\n\x08max_cpus\x18\x06 \x01(\x02\"l\n\x16\x41pplicationUtilization\x12\x13\n\x0b\x61pplication\x18\x01 \x01(\t\x12=\n\x14resource_utilization\x18\x02 \x03(\x0b\x32\x1f.chromiumos.ResourceUtilization\"\xca\x01\n\x0eRoboCropAction\x12\x32\n\x0fscaling_actions\x18\x01 \x03(\x0b\x32\x19.chromiumos.ScalingAction\x12=\n\x14resource_utilization\x18\x02 \x03(\x0b\x32\x1f.chromiumos.ResourceUtilization\x12\x45\n\x19\x61ppl_resource_utilization\x18\x03 \x03(\x0b\x32\".chromiumos.ApplicationUtilizationB6Z4go.chromium.org/chromiumos/infra/proto/go/chromiumosb\x06proto3')
)
@@ -68,14 +68,44 @@
name='DEMAND', index=2, number=2,
serialized_options=None,
type=None),
+ _descriptor.EnumValueDescriptor(
+ name='STEPPED_DECREASE', index=3, number=3,
+ serialized_options=None,
+ type=None),
],
containing_type=None,
serialized_options=None,
serialized_start=903,
- serialized_end=970,
+ serialized_end=992,
)
_sym_db.RegisterEnumDescriptor(_BOTPOLICY_BOTSCALINGMODE)
+_REDUCEDBOTPOLICY_MODE = _descriptor.EnumDescriptor(
+ name='Mode',
+ full_name='chromiumos.ReducedBotPolicy.Mode',
+ filename=None,
+ file=DESCRIPTOR,
+ values=[
+ _descriptor.EnumValueDescriptor(
+ name='UNKNOWN_MODE', index=0, number=0,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='MONITORED', index=1, number=1,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='CONFIGURED', index=2, number=2,
+ serialized_options=None,
+ type=None),
+ ],
+ containing_type=None,
+ serialized_options=None,
+ serialized_start=846,
+ serialized_end=901,
+)
+_sym_db.RegisterEnumDescriptor(_REDUCEDBOTPOLICY_MODE)
+
_SCALINGACTION_ACTIONABLE = _descriptor.EnumDescriptor(
name='Actionable',
full_name='chromiumos.ScalingAction.Actionable',
@@ -97,8 +127,8 @@
],
containing_type=None,
serialized_options=None,
- serialized_start=1415,
- serialized_end=1461,
+ serialized_start=1704,
+ serialized_end=1750,
)
_sym_db.RegisterEnumDescriptor(_SCALINGACTION_ACTIONABLE)
@@ -394,7 +424,7 @@
oneofs=[
],
serialized_start=203,
- serialized_end=970,
+ serialized_end=992,
)
@@ -424,8 +454,85 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=972,
- serialized_end=1031,
+ serialized_start=994,
+ serialized_end=1053,
+)
+
+
+_REDUCEDBOTPOLICY = _descriptor.Descriptor(
+ name='ReducedBotPolicy',
+ full_name='chromiumos.ReducedBotPolicy',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='bot_group', full_name='chromiumos.ReducedBotPolicy.bot_group', index=0,
+ number=1, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='bot_type', full_name='chromiumos.ReducedBotPolicy.bot_type', index=1,
+ number=2, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='policy_mode', full_name='chromiumos.ReducedBotPolicy.policy_mode', index=2,
+ number=3, type=14, cpp_type=8, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ _REDUCEDBOTPOLICY_MODE,
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=1056,
+ serialized_end=1245,
+)
+
+
+_REDUCEDBOTPOLICYCFG = _descriptor.Descriptor(
+ name='ReducedBotPolicyCfg',
+ full_name='chromiumos.ReducedBotPolicyCfg',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='bot_policies', full_name='chromiumos.ReducedBotPolicyCfg.bot_policies', index=0,
+ number=1, type=11, cpp_type=10, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=1247,
+ serialized_end=1320,
)
@@ -469,8 +576,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=1341,
- serialized_end=1413,
+ serialized_start=1630,
+ serialized_end=1702,
)
_SCALINGACTION = _descriptor.Descriptor(
@@ -556,8 +663,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=1034,
- serialized_end=1461,
+ serialized_start=1323,
+ serialized_end=1750,
)
@@ -622,8 +729,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=1463,
- serialized_end=1581,
+ serialized_start=1752,
+ serialized_end=1870,
)
@@ -660,8 +767,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=1583,
- serialized_end=1691,
+ serialized_start=1872,
+ serialized_end=1980,
)
@@ -705,8 +812,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=1694,
- serialized_end=1896,
+ serialized_start=1983,
+ serialized_end=2185,
)
_BOTPOLICY_SCALINGRESTRICTION.containing_type = _BOTPOLICY
@@ -720,6 +827,10 @@
_BOTPOLICY_MODE.containing_type = _BOTPOLICY
_BOTPOLICY_BOTSCALINGMODE.containing_type = _BOTPOLICY
_BOTPOLICYCFG.fields_by_name['bot_policies'].message_type = _BOTPOLICY
+_REDUCEDBOTPOLICY.fields_by_name['bot_type'].message_type = _BOTTYPE
+_REDUCEDBOTPOLICY.fields_by_name['policy_mode'].enum_type = _REDUCEDBOTPOLICY_MODE
+_REDUCEDBOTPOLICY_MODE.containing_type = _REDUCEDBOTPOLICY
+_REDUCEDBOTPOLICYCFG.fields_by_name['bot_policies'].message_type = _REDUCEDBOTPOLICY
_SCALINGACTION_REGIONALACTION.containing_type = _SCALINGACTION
_SCALINGACTION.fields_by_name['bot_type'].message_type = _BOTTYPE
_SCALINGACTION.fields_by_name['actionable'].enum_type = _SCALINGACTION_ACTIONABLE
@@ -733,6 +844,8 @@
DESCRIPTOR.message_types_by_name['SwarmingDimension'] = _SWARMINGDIMENSION
DESCRIPTOR.message_types_by_name['BotPolicy'] = _BOTPOLICY
DESCRIPTOR.message_types_by_name['BotPolicyCfg'] = _BOTPOLICYCFG
+DESCRIPTOR.message_types_by_name['ReducedBotPolicy'] = _REDUCEDBOTPOLICY
+DESCRIPTOR.message_types_by_name['ReducedBotPolicyCfg'] = _REDUCEDBOTPOLICYCFG
DESCRIPTOR.message_types_by_name['ScalingAction'] = _SCALINGACTION
DESCRIPTOR.message_types_by_name['ResourceUtilization'] = _RESOURCEUTILIZATION
DESCRIPTOR.message_types_by_name['ApplicationUtilization'] = _APPLICATIONUTILIZATION
@@ -783,6 +896,20 @@
))
_sym_db.RegisterMessage(BotPolicyCfg)
+ReducedBotPolicy = _reflection.GeneratedProtocolMessageType('ReducedBotPolicy', (_message.Message,), dict(
+ DESCRIPTOR = _REDUCEDBOTPOLICY,
+ __module__ = 'chromiumos.bot_scaling_pb2'
+ # @@protoc_insertion_point(class_scope:chromiumos.ReducedBotPolicy)
+ ))
+_sym_db.RegisterMessage(ReducedBotPolicy)
+
+ReducedBotPolicyCfg = _reflection.GeneratedProtocolMessageType('ReducedBotPolicyCfg', (_message.Message,), dict(
+ DESCRIPTOR = _REDUCEDBOTPOLICYCFG,
+ __module__ = 'chromiumos.bot_scaling_pb2'
+ # @@protoc_insertion_point(class_scope:chromiumos.ReducedBotPolicyCfg)
+ ))
+_sym_db.RegisterMessage(ReducedBotPolicyCfg)
+
ScalingAction = _reflection.GeneratedProtocolMessageType('ScalingAction', (_message.Message,), dict(
RegionalAction = _reflection.GeneratedProtocolMessageType('RegionalAction', (_message.Message,), dict(
diff --git a/api/gen/chromiumos/builder_config_pb2.py b/api/gen/chromiumos/builder_config_pb2.py
index c1c467a..77b5b5c 100644
--- a/api/gen/chromiumos/builder_config_pb2.py
+++ b/api/gen/chromiumos/builder_config_pb2.py
@@ -22,7 +22,7 @@
package='chromiumos',
syntax='proto3',
serialized_options=_b('Z4go.chromium.org/chromiumos/infra/proto/go/chromiumos'),
- serialized_pb=_b('\n\x1f\x63hromiumos/builder_config.proto\x12\nchromiumos\x1a\x17\x63hromiumos/common.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xaf\'\n\rBuilderConfig\x12(\n\x02id\x18\x01 \x01(\x0b\x32\x1c.chromiumos.BuilderConfig.Id\x12\x32\n\x07general\x18\x02 \x01(\x0b\x32!.chromiumos.BuilderConfig.General\x12<\n\x0corchestrator\x18\x03 \x01(\x0b\x32&.chromiumos.BuilderConfig.Orchestrator\x12\x36\n\tartifacts\x18\x04 \x01(\x0b\x32#.chromiumos.BuilderConfig.Artifacts\x12\x30\n\x06\x63hrome\x18\x05 \x01(\x0b\x32 .chromiumos.BuilderConfig.Chrome\x12.\n\x05\x62uild\x18\x06 \x01(\x0b\x32\x1f.chromiumos.BuilderConfig.Build\x12\x37\n\nunit_tests\x18\x07 \x01(\x0b\x32#.chromiumos.BuilderConfig.UnitTests\x1a\xb8\x01\n\x02Id\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x62ranch\x18\x02 \x01(\t\x12/\n\x04type\x18\x03 \x01(\x0e\x32!.chromiumos.BuilderConfig.Id.Type\"c\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x06\n\x02\x43Q\x10\x01\x12\x0e\n\nPOSTSUBMIT\x10\x02\x12\r\n\tTOOLCHAIN\x10\x03\x12\x11\n\rINFORMATIONAL\x10\x04\x12\x0b\n\x07RELEASE\x10\x05\x1a\xa3\x05\n\x07General\x12,\n\x08\x63ritical\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x42\n\x0b\x65nvironment\x18\x02 \x01(\x0e\x32-.chromiumos.BuilderConfig.General.Environment\x12;\n\x08run_when\x18\x03 \x01(\x0b\x32).chromiumos.BuilderConfig.General.RunWhen\x12\x31\n\rbroken_before\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x19\n\x11sdk_cache_version\x18\x05 \x01(\x05\x12\x10\n\x08unibuild\x18\x06 \x01(\x08\x12<\n\x08manifest\x18\x07 \x01(\x0e\x32*.chromiumos.BuilderConfig.General.Manifest\x1a\xc2\x01\n\x07RunWhen\x12<\n\x04mode\x18\x01 \x01(\x0e\x32..chromiumos.BuilderConfig.General.RunWhen.Mode\x12\x15\n\rfile_patterns\x18\x02 \x03(\t\"b\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x0e\n\nALWAYS_RUN\x10\x01\x12\x1a\n\x16ONLY_RUN_ON_FILE_MATCH\x10\x02\x12\x18\n\x14NO_RUN_ON_FILE_MATCH\x10\x03\"G\n\x0b\x45nvironment\x12\x1b\n\x17\x45NVIRONMENT_UNSPECIFIED\x10\x00\x12\x0e\n\nPRODUCTION\x10\x01\x12\x0b\n\x07STAGING\x10\x02\"=\n\x08Manifest\x12\x18\n\x14MANIFEST_UNSPECIFIED\x10\x00\x12\n\n\x06PUBLIC\x10\x01\x12\x0b\n\x07PRIVATE\x10\x02\x1a\xc2\x04\n\x0cOrchestrator\x12\x45\n\x0b\x63hild_specs\x18\x05 \x03(\x0b\x32\x30.chromiumos.BuilderConfig.Orchestrator.ChildSpec\x12\x31\n\x0egitiles_commit\x18\x02 \x01(\x0b\x32\x19.chromiumos.GitilesCommit\x12\x30\n\x0egerrit_changes\x18\x03 \x03(\x0b\x32\x18.chromiumos.GerritChange\x12[\n\x16\x66ollow_on_orchestrator\x18\x04 \x01(\x0b\x32;.chromiumos.BuilderConfig.Orchestrator.FollowOnOrchestrator\x1a\xe2\x01\n\tChildSpec\x12\x0c\n\x04name\x18\x01 \x01(\t\x12Z\n\x10\x63ollect_handling\x18\x02 \x01(\x0e\x32@.chromiumos.BuilderConfig.Orchestrator.ChildSpec.CollectHandling\"k\n\x0f\x43ollectHandling\x12 \n\x1c\x43OLLECT_HANDLING_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x43OLLECT\x10\x01\x12\x0e\n\nNO_COLLECT\x10\x02\x12\x19\n\x15\x43OLLECT_AFTER_HW_TEST\x10\x03\x1a>\n\x14\x46ollowOnOrchestrator\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x61wait_completion\x18\x02 \x01(\x08J\x04\x08\x01\x10\x02\x1a\x92\r\n\tArtifacts\x12@\n\tprebuilts\x18\x01 \x01(\x0e\x32-.chromiumos.BuilderConfig.Artifacts.Prebuilts\x12I\n\x0e\x61rtifact_types\x18\x02 \x03(\x0e\x32\x31.chromiumos.BuilderConfig.Artifacts.ArtifactTypes\x12\x1b\n\x13prebuilts_gs_bucket\x18\x03 \x01(\t\x12\x1b\n\x13\x61rtifacts_gs_bucket\x18\x04 \x01(\t\x12J\n\x11publish_artifacts\x18\x05 \x03(\x0b\x32/.chromiumos.BuilderConfig.Artifacts.PublishInfo\x12N\n\x0finput_artifacts\x18\x06 \x03(\x0b\x32\x35.chromiumos.BuilderConfig.Artifacts.InputArtifactInfo\x12>\n\x15\x61rtifact_profile_info\x18\x07 \x01(\x0b\x32\x1f.chromiumos.ArtifactProfileInfo\x12\x36\n\x0e\x61rtifacts_info\x18\x08 \x01(\x0b\x32\x1e.chromiumos.ArtifactsByService\x1a\x8c\x01\n\x0bPublishInfo\x12H\n\rpublish_types\x18\x02 \x03(\x0e\x32\x31.chromiumos.BuilderConfig.Artifacts.ArtifactTypes\x12\x1b\n\x13publish_gs_location\x18\x03 \x01(\t\x12\x10\n\x08\x61\x63l_name\x18\x04 \x01(\tJ\x04\x08\x01\x10\x02\x1a\x88\x01\n\x11InputArtifactInfo\x12N\n\x13input_artifact_type\x18\x01 \x01(\x0e\x32\x31.chromiumos.BuilderConfig.Artifacts.ArtifactTypes\x12#\n\x1binput_artifact_gs_locations\x18\x02 \x03(\t\"I\n\tPrebuilts\x12\x19\n\x15PREBUILTS_UNSPECIFIED\x10\x00\x12\n\n\x06PUBLIC\x10\x01\x12\x0b\n\x07PRIVATE\x10\x02\x12\x08\n\x04NONE\x10\x03\"\xc4\x06\n\rArtifactTypes\x12\x1e\n\x1a\x41RTIFACT_TYPES_UNSPECIFIED\x10\x00\x12\r\n\tIMAGE_ZIP\x10\x01\x12\x17\n\x13TEST_UPDATE_PAYLOAD\x10\x02\x12\x12\n\x0e\x41UTOTEST_FILES\x10\x03\x12\x0e\n\nTAST_FILES\x10\x04\x12\x17\n\x13PINNED_GUEST_IMAGES\x10\x05\x12\x0c\n\x08\x46IRMWARE\x10\x06\x12\x0f\n\x0b\x45\x42UILD_LOGS\x10\x07\x12\x13\n\x0f\x43HROMEOS_CONFIG\x10\x08\x12\x0e\n\nCPE_REPORT\x10\t\x12\x12\n\x0eIMAGE_ARCHIVES\x10\n\x12$\n UNVERIFIED_CHROME_LLVM_ORDERFILE\x10\x0b\x12\"\n\x1eVERIFIED_CHROME_LLVM_ORDERFILE\x10\x0c\x12\x1e\n\x1a\x43HROME_CLANG_WARNINGS_FILE\x10\r\x12\x1c\n\x18UNVERIFIED_LLVM_PGO_FILE\x10\x0e\x12)\n%UNVERIFIED_CHROME_BENCHMARK_AFDO_FILE\x10\x0f\x12\'\n#VERIFIED_CHROME_BENCHMARK_AFDO_FILE\x10\x10\x12!\n\x1dVERIFIED_KERNEL_CWP_AFDO_FILE\x10\x11\x12#\n\x1fUNVERIFIED_KERNEL_CWP_AFDO_FILE\x10\x12\x12#\n\x1fUNVERIFIED_CHROME_CWP_AFDO_FILE\x10\x13\x12!\n\x1dVERIFIED_CHROME_CWP_AFDO_FILE\x10\x14\x12\x1e\n\x1aVERIFIED_RELEASE_AFDO_FILE\x10\x15\x12)\n%UNVERIFIED_CHROME_BENCHMARK_PERF_FILE\x10\x16\x12\x17\n\x13\x43HROME_DEBUG_BINARY\x10\x17\x12\x1a\n\x16TOOLCHAIN_WARNING_LOGS\x10\x18\x12)\n%CHROME_AFDO_PROFILE_FOR_ANDROID_LINUX\x10\x19\x12\x19\n\x15\x43LANG_CRASH_DIAGNOSES\x10\x1a\x12\x13\n\x0f\x46PMCU_UNITTESTS\x10\x1b\x12\x0f\n\x0bGCE_TARBALL\x10\x1c\x1a\x1a\n\x06\x43hrome\x12\x10\n\x08internal\x18\x01 \x01(\x08\x1a\xae\x08\n\x05\x42uild\x12&\n\tuse_flags\x18\x01 \x03(\x0b\x32\x13.chromiumos.UseFlag\x12G\n\x0fportage_profile\x18\x02 \x01(\x0b\x32..chromiumos.BuilderConfig.Build.PortageProfile\x12\x1c\n\x14\x61pply_gerrit_changes\x18\x06 \x01(\x08\x12J\n\x11prepare_for_build\x18\x11 \x01(\x0b\x32/.chromiumos.BuilderConfig.Build.PrepareForBuild\x12=\n\nsdk_update\x18\x0c \x01(\x0b\x32).chromiumos.BuilderConfig.Build.SdkUpdate\x12K\n\x11install_toolchain\x18\r \x01(\x0b\x32\x30.chromiumos.BuilderConfig.Build.InstallToolchain\x12I\n\x10install_packages\x18\x10 \x01(\x0b\x32/.chromiumos.BuilderConfig.Build.InstallPackages\x12\x41\n\x0c\x62uild_images\x18\x0f \x01(\x0b\x32+.chromiumos.BuilderConfig.Build.BuildImages\x1a!\n\x0ePortageProfile\x12\x0f\n\x07profile\x18\x01 \x01(\t\x1aU\n\x0fPrepareForBuild\x12\x42\n\x0f\x61\x64\x64itional_args\x18\x01 \x01(\x0b\x32).chromiumos.PrepareForBuildAdditionalArgs\x1a#\n\tSdkUpdate\x12\x16\n\x0e\x63ompile_source\x18\x01 \x01(\x08\x1a*\n\x10InstallToolchain\x12\x16\n\x0e\x63ompile_source\x18\x01 \x01(\x08\x1a\xdd\x01\n\x0fInstallPackages\x12\x16\n\x0e\x63ompile_source\x18\x01 \x01(\x08\x12\x33\n\x08run_spec\x18\x02 \x01(\x0e\x32!.chromiumos.BuilderConfig.RunSpec\x12)\n\x08packages\x18\x03 \x03(\x0b\x32\x17.chromiumos.PackageInfo\x12\x14\n\x0c\x64isable_goma\x18\x04 \x01(\x08\x12<\n\x0c\x64\x65pendencies\x18\x05 \x01(\x0e\x32&.chromiumos.BuilderConfig.Dependencies\x1as\n\x0b\x42uildImages\x12*\n\x0bimage_types\x18\x01 \x03(\x0e\x32\x15.chromiumos.ImageType\x12#\n\x1b\x64isable_rootfs_verification\x18\x02 \x01(\x08\x12\x13\n\x0b\x64isk_layout\x18\x03 \x01(\tJ\x04\x08\x03\x10\x06J\x04\x08\x07\x10\x0cJ\x04\x08\x0e\x10\x0f\x1a\xfc\x01\n\tUnitTests\x12\x32\n\x11package_blacklist\x18\x04 \x03(\x0b\x32\x17.chromiumos.PackageInfo\x12;\n\x10\x65\x62uilds_run_spec\x18\x05 \x01(\x0e\x32!.chromiumos.BuilderConfig.RunSpec\x12\x15\n\rempty_sysroot\x18\x06 \x01(\x08\x12)\n\x08packages\x18\x07 \x03(\x0b\x32\x17.chromiumos.PackageInfo\x12<\n\x0c\x64\x65pendencies\x18\x08 \x01(\x0e\x32&.chromiumos.BuilderConfig.Dependencies\"F\n\x07RunSpec\x12\x18\n\x14RUN_SPEC_UNSPECIFIED\x10\x00\x12\n\n\x06NO_RUN\x10\x01\x12\x07\n\x03RUN\x10\x02\x12\x0c\n\x08RUN_EXIT\x10\x03\"`\n\x0c\x44\x65pendencies\x12\x1c\n\x18\x44\x45PENDENCIES_UNSPECIFIED\x10\x00\x12\x14\n\x10\x41LL_DEPENDENCIES\x10\x01\x12\x1c\n\x18\x43L_AFFECTED_DEPENDENCIES\x10\x02\"D\n\x0e\x42uilderConfigs\x12\x32\n\x0f\x62uilder_configs\x18\x01 \x03(\x0b\x32\x19.chromiumos.BuilderConfigB6Z4go.chromium.org/chromiumos/infra/proto/go/chromiumosb\x06proto3')
+ serialized_pb=_b('\n\x1f\x63hromiumos/builder_config.proto\x12\nchromiumos\x1a\x17\x63hromiumos/common.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xc8\'\n\rBuilderConfig\x12(\n\x02id\x18\x01 \x01(\x0b\x32\x1c.chromiumos.BuilderConfig.Id\x12\x32\n\x07general\x18\x02 \x01(\x0b\x32!.chromiumos.BuilderConfig.General\x12<\n\x0corchestrator\x18\x03 \x01(\x0b\x32&.chromiumos.BuilderConfig.Orchestrator\x12\x36\n\tartifacts\x18\x04 \x01(\x0b\x32#.chromiumos.BuilderConfig.Artifacts\x12\x30\n\x06\x63hrome\x18\x05 \x01(\x0b\x32 .chromiumos.BuilderConfig.Chrome\x12.\n\x05\x62uild\x18\x06 \x01(\x0b\x32\x1f.chromiumos.BuilderConfig.Build\x12\x37\n\nunit_tests\x18\x07 \x01(\x0b\x32#.chromiumos.BuilderConfig.UnitTests\x1a\xb8\x01\n\x02Id\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x62ranch\x18\x02 \x01(\t\x12/\n\x04type\x18\x03 \x01(\x0e\x32!.chromiumos.BuilderConfig.Id.Type\"c\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x06\n\x02\x43Q\x10\x01\x12\x0e\n\nPOSTSUBMIT\x10\x02\x12\r\n\tTOOLCHAIN\x10\x03\x12\x11\n\rINFORMATIONAL\x10\x04\x12\x0b\n\x07RELEASE\x10\x05\x1a\xa3\x05\n\x07General\x12,\n\x08\x63ritical\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x42\n\x0b\x65nvironment\x18\x02 \x01(\x0e\x32-.chromiumos.BuilderConfig.General.Environment\x12;\n\x08run_when\x18\x03 \x01(\x0b\x32).chromiumos.BuilderConfig.General.RunWhen\x12\x31\n\rbroken_before\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x19\n\x11sdk_cache_version\x18\x05 \x01(\x05\x12\x10\n\x08unibuild\x18\x06 \x01(\x08\x12<\n\x08manifest\x18\x07 \x01(\x0e\x32*.chromiumos.BuilderConfig.General.Manifest\x1a\xc2\x01\n\x07RunWhen\x12<\n\x04mode\x18\x01 \x01(\x0e\x32..chromiumos.BuilderConfig.General.RunWhen.Mode\x12\x15\n\rfile_patterns\x18\x02 \x03(\t\"b\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x0e\n\nALWAYS_RUN\x10\x01\x12\x1a\n\x16ONLY_RUN_ON_FILE_MATCH\x10\x02\x12\x18\n\x14NO_RUN_ON_FILE_MATCH\x10\x03\"G\n\x0b\x45nvironment\x12\x1b\n\x17\x45NVIRONMENT_UNSPECIFIED\x10\x00\x12\x0e\n\nPRODUCTION\x10\x01\x12\x0b\n\x07STAGING\x10\x02\"=\n\x08Manifest\x12\x18\n\x14MANIFEST_UNSPECIFIED\x10\x00\x12\n\n\x06PUBLIC\x10\x01\x12\x0b\n\x07PRIVATE\x10\x02\x1a\xc2\x04\n\x0cOrchestrator\x12\x45\n\x0b\x63hild_specs\x18\x05 \x03(\x0b\x32\x30.chromiumos.BuilderConfig.Orchestrator.ChildSpec\x12\x31\n\x0egitiles_commit\x18\x02 \x01(\x0b\x32\x19.chromiumos.GitilesCommit\x12\x30\n\x0egerrit_changes\x18\x03 \x03(\x0b\x32\x18.chromiumos.GerritChange\x12[\n\x16\x66ollow_on_orchestrator\x18\x04 \x01(\x0b\x32;.chromiumos.BuilderConfig.Orchestrator.FollowOnOrchestrator\x1a\xe2\x01\n\tChildSpec\x12\x0c\n\x04name\x18\x01 \x01(\t\x12Z\n\x10\x63ollect_handling\x18\x02 \x01(\x0e\x32@.chromiumos.BuilderConfig.Orchestrator.ChildSpec.CollectHandling\"k\n\x0f\x43ollectHandling\x12 \n\x1c\x43OLLECT_HANDLING_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x43OLLECT\x10\x01\x12\x0e\n\nNO_COLLECT\x10\x02\x12\x19\n\x15\x43OLLECT_AFTER_HW_TEST\x10\x03\x1a>\n\x14\x46ollowOnOrchestrator\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x61wait_completion\x18\x02 \x01(\x08J\x04\x08\x01\x10\x02\x1a\xab\r\n\tArtifacts\x12@\n\tprebuilts\x18\x01 \x01(\x0e\x32-.chromiumos.BuilderConfig.Artifacts.Prebuilts\x12I\n\x0e\x61rtifact_types\x18\x02 \x03(\x0e\x32\x31.chromiumos.BuilderConfig.Artifacts.ArtifactTypes\x12\x1b\n\x13prebuilts_gs_bucket\x18\x03 \x01(\t\x12\x1b\n\x13\x61rtifacts_gs_bucket\x18\x04 \x01(\t\x12J\n\x11publish_artifacts\x18\x05 \x03(\x0b\x32/.chromiumos.BuilderConfig.Artifacts.PublishInfo\x12N\n\x0finput_artifacts\x18\x06 \x03(\x0b\x32\x35.chromiumos.BuilderConfig.Artifacts.InputArtifactInfo\x12>\n\x15\x61rtifact_profile_info\x18\x07 \x01(\x0b\x32\x1f.chromiumos.ArtifactProfileInfo\x12\x36\n\x0e\x61rtifacts_info\x18\x08 \x01(\x0b\x32\x1e.chromiumos.ArtifactsByService\x1a\x8c\x01\n\x0bPublishInfo\x12H\n\rpublish_types\x18\x02 \x03(\x0e\x32\x31.chromiumos.BuilderConfig.Artifacts.ArtifactTypes\x12\x1b\n\x13publish_gs_location\x18\x03 \x01(\t\x12\x10\n\x08\x61\x63l_name\x18\x04 \x01(\tJ\x04\x08\x01\x10\x02\x1a\x88\x01\n\x11InputArtifactInfo\x12N\n\x13input_artifact_type\x18\x01 \x01(\x0e\x32\x31.chromiumos.BuilderConfig.Artifacts.ArtifactTypes\x12#\n\x1binput_artifact_gs_locations\x18\x02 \x03(\t\"I\n\tPrebuilts\x12\x19\n\x15PREBUILTS_UNSPECIFIED\x10\x00\x12\n\n\x06PUBLIC\x10\x01\x12\x0b\n\x07PRIVATE\x10\x02\x12\x08\n\x04NONE\x10\x03\"\xdd\x06\n\rArtifactTypes\x12\x1e\n\x1a\x41RTIFACT_TYPES_UNSPECIFIED\x10\x00\x12\r\n\tIMAGE_ZIP\x10\x01\x12\x17\n\x13TEST_UPDATE_PAYLOAD\x10\x02\x12\x12\n\x0e\x41UTOTEST_FILES\x10\x03\x12\x0e\n\nTAST_FILES\x10\x04\x12\x17\n\x13PINNED_GUEST_IMAGES\x10\x05\x12\x0c\n\x08\x46IRMWARE\x10\x06\x12\x0f\n\x0b\x45\x42UILD_LOGS\x10\x07\x12\x13\n\x0f\x43HROMEOS_CONFIG\x10\x08\x12\x0e\n\nCPE_REPORT\x10\t\x12\x12\n\x0eIMAGE_ARCHIVES\x10\n\x12$\n UNVERIFIED_CHROME_LLVM_ORDERFILE\x10\x0b\x12\"\n\x1eVERIFIED_CHROME_LLVM_ORDERFILE\x10\x0c\x12\x1e\n\x1a\x43HROME_CLANG_WARNINGS_FILE\x10\r\x12\x1c\n\x18UNVERIFIED_LLVM_PGO_FILE\x10\x0e\x12)\n%UNVERIFIED_CHROME_BENCHMARK_AFDO_FILE\x10\x0f\x12\'\n#VERIFIED_CHROME_BENCHMARK_AFDO_FILE\x10\x10\x12!\n\x1dVERIFIED_KERNEL_CWP_AFDO_FILE\x10\x11\x12#\n\x1fUNVERIFIED_KERNEL_CWP_AFDO_FILE\x10\x12\x12#\n\x1fUNVERIFIED_CHROME_CWP_AFDO_FILE\x10\x13\x12!\n\x1dVERIFIED_CHROME_CWP_AFDO_FILE\x10\x14\x12\x1e\n\x1aVERIFIED_RELEASE_AFDO_FILE\x10\x15\x12)\n%UNVERIFIED_CHROME_BENCHMARK_PERF_FILE\x10\x16\x12\x17\n\x13\x43HROME_DEBUG_BINARY\x10\x17\x12\x1a\n\x16TOOLCHAIN_WARNING_LOGS\x10\x18\x12)\n%CHROME_AFDO_PROFILE_FOR_ANDROID_LINUX\x10\x19\x12\x19\n\x15\x43LANG_CRASH_DIAGNOSES\x10\x1a\x12\x13\n\x0f\x46PMCU_UNITTESTS\x10\x1b\x12\x0f\n\x0bGCE_TARBALL\x10\x1c\x12\x17\n\x13\x43OMPILER_RUSAGE_LOG\x10\x1d\x1a\x1a\n\x06\x43hrome\x12\x10\n\x08internal\x18\x01 \x01(\x08\x1a\xae\x08\n\x05\x42uild\x12&\n\tuse_flags\x18\x01 \x03(\x0b\x32\x13.chromiumos.UseFlag\x12G\n\x0fportage_profile\x18\x02 \x01(\x0b\x32..chromiumos.BuilderConfig.Build.PortageProfile\x12\x1c\n\x14\x61pply_gerrit_changes\x18\x06 \x01(\x08\x12J\n\x11prepare_for_build\x18\x11 \x01(\x0b\x32/.chromiumos.BuilderConfig.Build.PrepareForBuild\x12=\n\nsdk_update\x18\x0c \x01(\x0b\x32).chromiumos.BuilderConfig.Build.SdkUpdate\x12K\n\x11install_toolchain\x18\r \x01(\x0b\x32\x30.chromiumos.BuilderConfig.Build.InstallToolchain\x12I\n\x10install_packages\x18\x10 \x01(\x0b\x32/.chromiumos.BuilderConfig.Build.InstallPackages\x12\x41\n\x0c\x62uild_images\x18\x0f \x01(\x0b\x32+.chromiumos.BuilderConfig.Build.BuildImages\x1a!\n\x0ePortageProfile\x12\x0f\n\x07profile\x18\x01 \x01(\t\x1aU\n\x0fPrepareForBuild\x12\x42\n\x0f\x61\x64\x64itional_args\x18\x01 \x01(\x0b\x32).chromiumos.PrepareForBuildAdditionalArgs\x1a#\n\tSdkUpdate\x12\x16\n\x0e\x63ompile_source\x18\x01 \x01(\x08\x1a*\n\x10InstallToolchain\x12\x16\n\x0e\x63ompile_source\x18\x01 \x01(\x08\x1a\xdd\x01\n\x0fInstallPackages\x12\x16\n\x0e\x63ompile_source\x18\x01 \x01(\x08\x12\x33\n\x08run_spec\x18\x02 \x01(\x0e\x32!.chromiumos.BuilderConfig.RunSpec\x12)\n\x08packages\x18\x03 \x03(\x0b\x32\x17.chromiumos.PackageInfo\x12\x14\n\x0c\x64isable_goma\x18\x04 \x01(\x08\x12<\n\x0c\x64\x65pendencies\x18\x05 \x01(\x0e\x32&.chromiumos.BuilderConfig.Dependencies\x1as\n\x0b\x42uildImages\x12*\n\x0bimage_types\x18\x01 \x03(\x0e\x32\x15.chromiumos.ImageType\x12#\n\x1b\x64isable_rootfs_verification\x18\x02 \x01(\x08\x12\x13\n\x0b\x64isk_layout\x18\x03 \x01(\tJ\x04\x08\x03\x10\x06J\x04\x08\x07\x10\x0cJ\x04\x08\x0e\x10\x0f\x1a\xfc\x01\n\tUnitTests\x12\x32\n\x11package_blacklist\x18\x04 \x03(\x0b\x32\x17.chromiumos.PackageInfo\x12;\n\x10\x65\x62uilds_run_spec\x18\x05 \x01(\x0e\x32!.chromiumos.BuilderConfig.RunSpec\x12\x15\n\rempty_sysroot\x18\x06 \x01(\x08\x12)\n\x08packages\x18\x07 \x03(\x0b\x32\x17.chromiumos.PackageInfo\x12<\n\x0c\x64\x65pendencies\x18\x08 \x01(\x0e\x32&.chromiumos.BuilderConfig.Dependencies\"F\n\x07RunSpec\x12\x18\n\x14RUN_SPEC_UNSPECIFIED\x10\x00\x12\n\n\x06NO_RUN\x10\x01\x12\x07\n\x03RUN\x10\x02\x12\x0c\n\x08RUN_EXIT\x10\x03\"`\n\x0c\x44\x65pendencies\x12\x1c\n\x18\x44\x45PENDENCIES_UNSPECIFIED\x10\x00\x12\x14\n\x10\x41LL_DEPENDENCIES\x10\x01\x12\x1c\n\x18\x43L_AFFECTED_DEPENDENCIES\x10\x02\"D\n\x0e\x42uilderConfigs\x12\x32\n\x0f\x62uilder_configs\x18\x01 \x03(\x0b\x32\x19.chromiumos.BuilderConfigB6Z4go.chromium.org/chromiumos/infra/proto/go/chromiumosb\x06proto3')
,
dependencies=[chromiumos_dot_common__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,google_dot_protobuf_dot_wrappers__pb2.DESCRIPTOR,])
@@ -330,11 +330,15 @@
name='GCE_TARBALL', index=28, number=28,
serialized_options=None,
type=None),
+ _descriptor.EnumValueDescriptor(
+ name='COMPILER_RUSAGE_LOG', index=29, number=29,
+ serialized_options=None,
+ type=None),
],
containing_type=None,
serialized_options=None,
serialized_start=2815,
- serialized_end=3651,
+ serialized_end=3676,
)
_sym_db.RegisterEnumDescriptor(_BUILDERCONFIG_ARTIFACTS_ARTIFACTTYPES)
@@ -363,8 +367,8 @@
],
containing_type=None,
serialized_options=None,
- serialized_start=5009,
- serialized_end=5079,
+ serialized_start=5034,
+ serialized_end=5104,
)
_sym_db.RegisterEnumDescriptor(_BUILDERCONFIG_RUNSPEC)
@@ -389,8 +393,8 @@
],
containing_type=None,
serialized_options=None,
- serialized_start=5081,
- serialized_end=5177,
+ serialized_start=5106,
+ serialized_end=5202,
)
_sym_db.RegisterEnumDescriptor(_BUILDERCONFIG_DEPENDENCIES)
@@ -837,7 +841,7 @@
oneofs=[
],
serialized_start=1969,
- serialized_end=3651,
+ serialized_end=3676,
)
_BUILDERCONFIG_CHROME = _descriptor.Descriptor(
@@ -866,8 +870,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=3653,
- serialized_end=3679,
+ serialized_start=3678,
+ serialized_end=3704,
)
_BUILDERCONFIG_BUILD_PORTAGEPROFILE = _descriptor.Descriptor(
@@ -896,8 +900,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=4192,
- serialized_end=4225,
+ serialized_start=4217,
+ serialized_end=4250,
)
_BUILDERCONFIG_BUILD_PREPAREFORBUILD = _descriptor.Descriptor(
@@ -926,8 +930,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=4227,
- serialized_end=4312,
+ serialized_start=4252,
+ serialized_end=4337,
)
_BUILDERCONFIG_BUILD_SDKUPDATE = _descriptor.Descriptor(
@@ -956,8 +960,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=4314,
- serialized_end=4349,
+ serialized_start=4339,
+ serialized_end=4374,
)
_BUILDERCONFIG_BUILD_INSTALLTOOLCHAIN = _descriptor.Descriptor(
@@ -986,8 +990,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=4351,
- serialized_end=4393,
+ serialized_start=4376,
+ serialized_end=4418,
)
_BUILDERCONFIG_BUILD_INSTALLPACKAGES = _descriptor.Descriptor(
@@ -1044,8 +1048,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=4396,
- serialized_end=4617,
+ serialized_start=4421,
+ serialized_end=4642,
)
_BUILDERCONFIG_BUILD_BUILDIMAGES = _descriptor.Descriptor(
@@ -1088,8 +1092,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=4619,
- serialized_end=4734,
+ serialized_start=4644,
+ serialized_end=4759,
)
_BUILDERCONFIG_BUILD = _descriptor.Descriptor(
@@ -1167,8 +1171,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=3682,
- serialized_end=4752,
+ serialized_start=3707,
+ serialized_end=4777,
)
_BUILDERCONFIG_UNITTESTS = _descriptor.Descriptor(
@@ -1225,8 +1229,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=4755,
- serialized_end=5007,
+ serialized_start=4780,
+ serialized_end=5032,
)
_BUILDERCONFIG = _descriptor.Descriptor(
@@ -1300,7 +1304,7 @@
oneofs=[
],
serialized_start=138,
- serialized_end=5177,
+ serialized_end=5202,
)
@@ -1330,8 +1334,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=5179,
- serialized_end=5247,
+ serialized_start=5204,
+ serialized_end=5272,
)
_BUILDERCONFIG_ID.fields_by_name['type'].enum_type = _BUILDERCONFIG_ID_TYPE
diff --git a/api/gen/chromiumos/common_pb2.py b/api/gen/chromiumos/common_pb2.py
index 179d8e3..916580d 100644
--- a/api/gen/chromiumos/common_pb2.py
+++ b/api/gen/chromiumos/common_pb2.py
@@ -20,7 +20,7 @@
package='chromiumos',
syntax='proto3',
serialized_options=_b('Z4go.chromium.org/chromiumos/infra/proto/go/chromiumos'),
- serialized_pb=_b('\n\x17\x63hromiumos/common.proto\x12\nchromiumos\"\x1b\n\x0b\x42uildTarget\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xca\x01\n\x06\x43hroot\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x11\n\tcache_dir\x18\x02 \x01(\t\x12)\n\x03\x65nv\x18\x03 \x01(\x0b\x32\x1c.chromiumos.Chroot.ChrootEnv\x12\x12\n\nchrome_dir\x18\x04 \x01(\t\x1aZ\n\tChrootEnv\x12&\n\tuse_flags\x18\x01 \x03(\x0b\x32\x13.chromiumos.UseFlag\x12%\n\x08\x66\x65\x61tures\x18\x02 \x03(\x0b\x32\x13.chromiumos.FeatureJ\x04\x08\x05\x10\x06\"\x1a\n\x07\x46\x65\x61ture\x12\x0f\n\x07\x66\x65\x61ture\x18\x01 \x01(\t\"\xcf\x02\n\nGomaConfig\x12\x10\n\x08goma_dir\x18\x01 \x01(\t\x12\x18\n\x10goma_client_json\x18\x02 \x01(\t\x12\x19\n\x11\x63hromeos_goma_dir\x18\x03 \x01(\t\x12:\n\rgoma_approach\x18\x04 \x01(\x0e\x32#.chromiumos.GomaConfig.GomaApproach\x12&\n\x07log_dir\x18\x05 \x01(\x0b\x32\x15.chromiumos.SyncedDir\x12\x12\n\nstats_file\x18\x06 \x01(\t\x12\x15\n\rcounterz_file\x18\x07 \x01(\t\"k\n\x0cGomaApproach\x12\x1d\n\x19GOMA_APPROACH_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\x0c\n\x08RBE_PROD\x10\x02\x12\x0f\n\x0bRBE_STAGING\x10\x03\x12\x10\n\x0cRBE_CHROMEOS\x10\x04\"M\n\rGomaArtifacts\x12\x12\n\nstats_file\x18\x01 \x01(\t\x12\x15\n\rcounterz_file\x18\x02 \x01(\t\x12\x11\n\tlog_files\x18\x03 \x03(\t\"F\n\x0bPackageInfo\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\t\"\x17\n\x07Profile\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xa8\x01\n\x10PackageIndexInfo\x12\x14\n\x0csnapshot_sha\x18\x01 \x01(\t\x12\x17\n\x0fsnapshot_number\x18\x02 \x01(\x05\x12-\n\x0c\x62uild_target\x18\x03 \x01(\x0b\x32\x17.chromiumos.BuildTarget\x12\x10\n\x08location\x18\x04 \x01(\t\x12$\n\x07profile\x18\x05 \x01(\x0b\x32\x13.chromiumos.Profile\"w\n\x04Path\x12\x0c\n\x04path\x18\x01 \x01(\t\x12+\n\x08location\x18\x02 \x01(\x0e\x32\x19.chromiumos.Path.Location\"4\n\x08Location\x12\x0f\n\x0bNO_LOCATION\x10\x00\x12\n\n\x06INSIDE\x10\x01\x12\x0b\n\x07OUTSIDE\x10\x02\",\n\nResultPath\x12\x1e\n\x04path\x18\x01 \x01(\x0b\x32\x10.chromiumos.Path\"\x18\n\tSyncedDir\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"O\n\x0cGerritChange\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0f\n\x07project\x18\x02 \x01(\t\x12\x0e\n\x06\x63hange\x18\x03 \x01(\x03\x12\x10\n\x08patchset\x18\x04 \x01(\x03\"Y\n\rGitilesCommit\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0f\n\x07project\x18\x02 \x01(\t\x12\n\n\x02id\x18\x03 \x01(\t\x12\x0b\n\x03ref\x18\x04 \x01(\t\x12\x10\n\x08position\x18\x05 \x01(\r\"\x17\n\x07UseFlag\x12\x0c\n\x04\x66lag\x18\x01 \x01(\t\"&\n\nProtoBytes\x12\x18\n\x10serialized_proto\x18\x01 \x01(\x0c\"q\n\x1dPrepareForBuildAdditionalArgs\x12\x1c\n\x12\x63hrome_cwp_profile\x18\x01 \x01(\tH\x00\x12\x18\n\x0ekernel_version\x18\x02 \x01(\tH\x00\x42\x18\n\x16prepare_for_build_args\"A\n\x0b\x41\x66\x64oRelease\x12\x1a\n\x12\x63hrome_cwp_profile\x18\x01 \x01(\t\x12\x16\n\x0eimage_build_id\x18\x02 \x01(\x03\"\x97\x01\n\x13\x41rtifactProfileInfo\x12\x1c\n\x12\x63hrome_cwp_profile\x18\x01 \x01(\tH\x00\x12\x18\n\x0ekernel_version\x18\x02 \x01(\tH\x00\x12/\n\x0c\x61\x66\x64o_release\x18\x03 \x01(\x0b\x32\x17.chromiumos.AfdoReleaseH\x00\x42\x17\n\x15\x61rtifact_profile_info\"\xb0\x19\n\x12\x41rtifactsByService\x12\x35\n\x06legacy\x18\x01 \x01(\x0b\x32%.chromiumos.ArtifactsByService.Legacy\x12;\n\ttoolchain\x18\x02 \x01(\x0b\x32(.chromiumos.ArtifactsByService.Toolchain\x12\x33\n\x05image\x18\x03 \x01(\x0b\x32$.chromiumos.ArtifactsByService.Image\x12\x37\n\x07package\x18\x04 \x01(\x0b\x32&.chromiumos.ArtifactsByService.Package\x12\x37\n\x07sysroot\x18\x05 \x01(\x0b\x32&.chromiumos.ArtifactsByService.Sysroot\x12\x31\n\x04test\x18\x06 \x01(\x0b\x32#.chromiumos.ArtifactsByService.Test\x12\x35\n\x0cprofile_info\x18\x07 \x01(\x0b\x32\x1f.chromiumos.ArtifactProfileInfo\x1a\xb9\x04\n\x06Legacy\x12K\n\x0finput_artifacts\x18\x01 \x03(\x0b\x32\x32.chromiumos.ArtifactsByService.Legacy.ArtifactInfo\x12L\n\x10output_artifacts\x18\x02 \x03(\x0b\x32\x32.chromiumos.ArtifactsByService.Legacy.ArtifactInfo\x1a\x88\x01\n\x0c\x41rtifactInfo\x12J\n\x0e\x61rtifact_types\x18\x01 \x03(\x0e\x32\x32.chromiumos.ArtifactsByService.Legacy.ArtifactType\x12\x14\n\x0cgs_locations\x18\x02 \x03(\t\x12\x10\n\x08\x61\x63l_name\x18\x04 \x01(\tJ\x04\x08\x03\x10\x04\"\x88\x02\n\x0c\x41rtifactType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\r\n\tIMAGE_ZIP\x10\x01\x12\x17\n\x13TEST_UPDATE_PAYLOAD\x10\x02\x12\x12\n\x0e\x41UTOTEST_FILES\x10\x03\x12\x0e\n\nTAST_FILES\x10\x04\x12\x17\n\x13PINNED_GUEST_IMAGES\x10\x05\x12\x0c\n\x08\x46IRMWARE\x10\x06\x12\x0f\n\x0b\x45\x42UILD_LOGS\x10\x07\x12\x13\n\x0f\x43HROMEOS_CONFIG\x10\x08\x12\x0e\n\nCPE_REPORT\x10\t\x12\x12\n\x0eIMAGE_ARCHIVES\x10\n\x12\x13\n\x0f\x46PMCU_UNITTESTS\x10\x1b\x12\x0f\n\x0bGCE_TARBALL\x10\x1c\"\x04\x08\x0b\x10\x1a\x1a\x94\x07\n\tToolchain\x12N\n\x0finput_artifacts\x18\x01 \x03(\x0b\x32\x35.chromiumos.ArtifactsByService.Toolchain.ArtifactInfo\x12O\n\x10output_artifacts\x18\x02 \x03(\x0b\x32\x35.chromiumos.ArtifactsByService.Toolchain.ArtifactInfo\x1a\x85\x01\n\x0c\x41rtifactInfo\x12M\n\x0e\x61rtifact_types\x18\x01 \x03(\x0e\x32\x35.chromiumos.ArtifactsByService.Toolchain.ArtifactType\x12\x14\n\x0cgs_locations\x18\x02 \x03(\t\x12\x10\n\x08\x61\x63l_name\x18\x04 \x01(\t\"\xdd\x04\n\x0c\x41rtifactType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12$\n UNVERIFIED_CHROME_LLVM_ORDERFILE\x10\x0b\x12\"\n\x1eVERIFIED_CHROME_LLVM_ORDERFILE\x10\x0c\x12\x1e\n\x1a\x43HROME_CLANG_WARNINGS_FILE\x10\r\x12\x1c\n\x18UNVERIFIED_LLVM_PGO_FILE\x10\x0e\x12)\n%UNVERIFIED_CHROME_BENCHMARK_AFDO_FILE\x10\x0f\x12\'\n#VERIFIED_CHROME_BENCHMARK_AFDO_FILE\x10\x10\x12!\n\x1dVERIFIED_KERNEL_CWP_AFDO_FILE\x10\x11\x12#\n\x1fUNVERIFIED_KERNEL_CWP_AFDO_FILE\x10\x12\x12#\n\x1fUNVERIFIED_CHROME_CWP_AFDO_FILE\x10\x13\x12!\n\x1dVERIFIED_CHROME_CWP_AFDO_FILE\x10\x14\x12\x1e\n\x1aVERIFIED_RELEASE_AFDO_FILE\x10\x15\x12)\n%UNVERIFIED_CHROME_BENCHMARK_PERF_FILE\x10\x16\x12\x17\n\x13\x43HROME_DEBUG_BINARY\x10\x17\x12\x1a\n\x16TOOLCHAIN_WARNING_LOGS\x10\x18\x12)\n%CHROME_AFDO_PROFILE_FOR_ANDROID_LINUX\x10\x19\x12\x19\n\x15\x43LANG_CRASH_DIAGNOSES\x10\x1a\"\x04\x08\x01\x10\n\"\x04\x08\x1b\x10\x1c\x1a\xcb\x02\n\x05Image\x12J\n\x0finput_artifacts\x18\x01 \x03(\x0b\x32\x31.chromiumos.ArtifactsByService.Image.ArtifactInfo\x12K\n\x10output_artifacts\x18\x02 \x03(\x0b\x32\x31.chromiumos.ArtifactsByService.Image.ArtifactInfo\x1a\x81\x01\n\x0c\x41rtifactInfo\x12I\n\x0e\x61rtifact_types\x18\x01 \x03(\x0e\x32\x31.chromiumos.ArtifactsByService.Image.ArtifactType\x12\x14\n\x0cgs_locations\x18\x02 \x03(\t\x12\x10\n\x08\x61\x63l_name\x18\x04 \x01(\t\"%\n\x0c\x41rtifactType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\"\x04\x08\x01\x10\x1c\x1a\xd3\x02\n\x07Package\x12L\n\x0finput_artifacts\x18\x01 \x03(\x0b\x32\x33.chromiumos.ArtifactsByService.Package.ArtifactInfo\x12M\n\x10output_artifacts\x18\x02 \x03(\x0b\x32\x33.chromiumos.ArtifactsByService.Package.ArtifactInfo\x1a\x83\x01\n\x0c\x41rtifactInfo\x12K\n\x0e\x61rtifact_types\x18\x01 \x03(\x0e\x32\x33.chromiumos.ArtifactsByService.Package.ArtifactType\x12\x14\n\x0cgs_locations\x18\x02 \x03(\t\x12\x10\n\x08\x61\x63l_name\x18\x04 \x01(\t\"%\n\x0c\x41rtifactType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\"\x04\x08\x01\x10\x1c\x1a\xd3\x02\n\x07Sysroot\x12L\n\x0finput_artifacts\x18\x01 \x03(\x0b\x32\x33.chromiumos.ArtifactsByService.Sysroot.ArtifactInfo\x12M\n\x10output_artifacts\x18\x02 \x03(\x0b\x32\x33.chromiumos.ArtifactsByService.Sysroot.ArtifactInfo\x1a\x83\x01\n\x0c\x41rtifactInfo\x12K\n\x0e\x61rtifact_types\x18\x01 \x03(\x0e\x32\x33.chromiumos.ArtifactsByService.Sysroot.ArtifactType\x12\x14\n\x0cgs_locations\x18\x02 \x03(\t\x12\x10\n\x08\x61\x63l_name\x18\x04 \x01(\t\"%\n\x0c\x41rtifactType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\"\x04\x08\x01\x10\x1c\x1a\xc7\x02\n\x04Test\x12I\n\x0finput_artifacts\x18\x01 \x03(\x0b\x32\x30.chromiumos.ArtifactsByService.Test.ArtifactInfo\x12J\n\x10output_artifacts\x18\x02 \x03(\x0b\x32\x30.chromiumos.ArtifactsByService.Test.ArtifactInfo\x1a\x80\x01\n\x0c\x41rtifactInfo\x12H\n\x0e\x61rtifact_types\x18\x01 \x03(\x0e\x32\x30.chromiumos.ArtifactsByService.Test.ArtifactType\x12\x14\n\x0cgs_locations\x18\x02 \x03(\t\x12\x10\n\x08\x61\x63l_name\x18\x04 \x01(\t\"%\n\x0c\x41rtifactType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\"\x04\x08\x01\x10\x1c\"\xc4\x0c\n\x1aUploadedArtifactsByService\x12=\n\x06legacy\x18\x01 \x01(\x0b\x32-.chromiumos.UploadedArtifactsByService.Legacy\x12\x43\n\ttoolchain\x18\x02 \x01(\x0b\x32\x30.chromiumos.UploadedArtifactsByService.Toolchain\x12;\n\x05image\x18\x03 \x01(\x0b\x32,.chromiumos.UploadedArtifactsByService.Image\x12?\n\x07package\x18\x04 \x01(\x0b\x32..chromiumos.UploadedArtifactsByService.Package\x12?\n\x07sysroot\x18\x05 \x01(\x0b\x32..chromiumos.UploadedArtifactsByService.Sysroot\x12\x39\n\x04test\x18\x06 \x01(\x0b\x32+.chromiumos.UploadedArtifactsByService.Test\x1a\xc3\x01\n\x06Legacy\x12N\n\tartifacts\x18\x01 \x03(\x0b\x32;.chromiumos.UploadedArtifactsByService.Legacy.ArtifactPaths\x1ai\n\rArtifactPaths\x12I\n\rartifact_type\x18\x01 \x01(\x0e\x32\x32.chromiumos.ArtifactsByService.Legacy.ArtifactType\x12\r\n\x05paths\x18\x02 \x03(\t\x1a\xcc\x01\n\tToolchain\x12Q\n\tartifacts\x18\x01 \x03(\x0b\x32>.chromiumos.UploadedArtifactsByService.Toolchain.ArtifactPaths\x1al\n\rArtifactPaths\x12L\n\rartifact_type\x18\x01 \x01(\x0e\x32\x35.chromiumos.ArtifactsByService.Toolchain.ArtifactType\x12\r\n\x05paths\x18\x02 \x03(\t\x1a\xc0\x01\n\x05Image\x12M\n\tartifacts\x18\x01 \x03(\x0b\x32:.chromiumos.UploadedArtifactsByService.Image.ArtifactPaths\x1ah\n\rArtifactPaths\x12H\n\rartifact_type\x18\x01 \x01(\x0e\x32\x31.chromiumos.ArtifactsByService.Image.ArtifactType\x12\r\n\x05paths\x18\x02 \x03(\t\x1a\xc6\x01\n\x07Package\x12O\n\tartifacts\x18\x01 \x03(\x0b\x32<.chromiumos.UploadedArtifactsByService.Package.ArtifactPaths\x1aj\n\rArtifactPaths\x12J\n\rartifact_type\x18\x01 \x01(\x0e\x32\x33.chromiumos.ArtifactsByService.Package.ArtifactType\x12\r\n\x05paths\x18\x02 \x03(\t\x1a\xc6\x01\n\x07Sysroot\x12O\n\tartifacts\x18\x01 \x03(\x0b\x32<.chromiumos.UploadedArtifactsByService.Sysroot.ArtifactPaths\x1aj\n\rArtifactPaths\x12J\n\rartifact_type\x18\x01 \x01(\x0e\x32\x33.chromiumos.ArtifactsByService.Sysroot.ArtifactType\x12\r\n\x05paths\x18\x02 \x03(\t\x1a\xbd\x01\n\x04Test\x12L\n\tartifacts\x18\x01 \x03(\x0b\x32\x39.chromiumos.UploadedArtifactsByService.Test.ArtifactPaths\x1ag\n\rArtifactPaths\x12G\n\rartifact_type\x18\x01 \x01(\x0e\x32\x30.chromiumos.ArtifactsByService.Test.ArtifactType\x12\r\n\x05paths\x18\x02 \x03(\t*\xd9\x01\n\tImageType\x12\x18\n\x14IMAGE_TYPE_UNDEFINED\x10\x00\x12\x08\n\x04\x42\x41SE\x10\x01\x12\x07\n\x03\x44\x45V\x10\x02\x12\x08\n\x04TEST\x10\x03\x12\x0b\n\x07\x42\x41SE_VM\x10\x04\x12\x0b\n\x07TEST_VM\x10\x05\x12\x0c\n\x08RECOVERY\x10\x06\x12\x0b\n\x07\x46\x41\x43TORY\x10\x07\x12\x0c\n\x08\x46IRMWARE\x10\x08\x12\x11\n\rCR50_FIRMWARE\x10\t\x12\x11\n\rBASE_GUEST_VM\x10\n\x12\x11\n\rTEST_GUEST_VM\x10\x0b\x12\x07\n\x03\x44LC\x10\x0c\x12\x10\n\x0cGSC_FIRMWARE\x10\r*m\n\x07\x43hannel\x12\x17\n\x13\x43HANNEL_UNSPECIFIED\x10\x00\x12\x12\n\x0e\x43HANNEL_STABLE\x10\x01\x12\x10\n\x0c\x43HANNEL_BETA\x10\x02\x12\x0f\n\x0b\x43HANNEL_DEV\x10\x03\x12\x12\n\x0e\x43HANNEL_CANARY\x10\x04*c\n\tDeltaType\x12\x11\n\rDELTA_UNKNOWN\x10\x00\x12\x0c\n\x08NO_DELTA\x10\x01\x12\x07\n\x03\x46SI\x10\x02\x12\r\n\tMILESTONE\x10\x03\x12\t\n\x05OMAHA\x10\x04\x12\x12\n\x0eSTEPPING_STONE\x10\x05*f\n\x10\x41\x46\x44OArtifactType\x12\r\n\tNONE_TYPE\x10\x00\x12\r\n\tORDERFILE\x10\x01\x12\x12\n\x0e\x42\x45NCHMARK_AFDO\x10\x02\x12\x0f\n\x0bKERNEL_AFDO\x10\x03\x12\x0f\n\x0b\x43HROME_AFDO\x10\x04\x42\x36Z4go.chromium.org/chromiumos/infra/proto/go/chromiumosb\x06proto3')
+ serialized_pb=_b('\n\x17\x63hromiumos/common.proto\x12\nchromiumos\"\x1b\n\x0b\x42uildTarget\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xca\x01\n\x06\x43hroot\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x11\n\tcache_dir\x18\x02 \x01(\t\x12)\n\x03\x65nv\x18\x03 \x01(\x0b\x32\x1c.chromiumos.Chroot.ChrootEnv\x12\x12\n\nchrome_dir\x18\x04 \x01(\t\x1aZ\n\tChrootEnv\x12&\n\tuse_flags\x18\x01 \x03(\x0b\x32\x13.chromiumos.UseFlag\x12%\n\x08\x66\x65\x61tures\x18\x02 \x03(\x0b\x32\x13.chromiumos.FeatureJ\x04\x08\x05\x10\x06\"\x1a\n\x07\x46\x65\x61ture\x12\x0f\n\x07\x66\x65\x61ture\x18\x01 \x01(\t\"\xcf\x02\n\nGomaConfig\x12\x10\n\x08goma_dir\x18\x01 \x01(\t\x12\x18\n\x10goma_client_json\x18\x02 \x01(\t\x12\x19\n\x11\x63hromeos_goma_dir\x18\x03 \x01(\t\x12:\n\rgoma_approach\x18\x04 \x01(\x0e\x32#.chromiumos.GomaConfig.GomaApproach\x12&\n\x07log_dir\x18\x05 \x01(\x0b\x32\x15.chromiumos.SyncedDir\x12\x12\n\nstats_file\x18\x06 \x01(\t\x12\x15\n\rcounterz_file\x18\x07 \x01(\t\"k\n\x0cGomaApproach\x12\x1d\n\x19GOMA_APPROACH_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\x0c\n\x08RBE_PROD\x10\x02\x12\x0f\n\x0bRBE_STAGING\x10\x03\x12\x10\n\x0cRBE_CHROMEOS\x10\x04\"M\n\rGomaArtifacts\x12\x12\n\nstats_file\x18\x01 \x01(\t\x12\x15\n\rcounterz_file\x18\x02 \x01(\t\x12\x11\n\tlog_files\x18\x03 \x03(\t\"F\n\x0bPackageInfo\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\t\"\x17\n\x07Profile\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xa8\x01\n\x10PackageIndexInfo\x12\x14\n\x0csnapshot_sha\x18\x01 \x01(\t\x12\x17\n\x0fsnapshot_number\x18\x02 \x01(\x05\x12-\n\x0c\x62uild_target\x18\x03 \x01(\x0b\x32\x17.chromiumos.BuildTarget\x12\x10\n\x08location\x18\x04 \x01(\t\x12$\n\x07profile\x18\x05 \x01(\x0b\x32\x13.chromiumos.Profile\"w\n\x04Path\x12\x0c\n\x04path\x18\x01 \x01(\t\x12+\n\x08location\x18\x02 \x01(\x0e\x32\x19.chromiumos.Path.Location\"4\n\x08Location\x12\x0f\n\x0bNO_LOCATION\x10\x00\x12\n\n\x06INSIDE\x10\x01\x12\x0b\n\x07OUTSIDE\x10\x02\",\n\nResultPath\x12\x1e\n\x04path\x18\x01 \x01(\x0b\x32\x10.chromiumos.Path\"\x18\n\tSyncedDir\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"O\n\x0cGerritChange\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0f\n\x07project\x18\x02 \x01(\t\x12\x0e\n\x06\x63hange\x18\x03 \x01(\x03\x12\x10\n\x08patchset\x18\x04 \x01(\x03\"Y\n\rGitilesCommit\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0f\n\x07project\x18\x02 \x01(\t\x12\n\n\x02id\x18\x03 \x01(\t\x12\x0b\n\x03ref\x18\x04 \x01(\t\x12\x10\n\x08position\x18\x05 \x01(\r\"\x17\n\x07UseFlag\x12\x0c\n\x04\x66lag\x18\x01 \x01(\t\"&\n\nProtoBytes\x12\x18\n\x10serialized_proto\x18\x01 \x01(\x0c\"q\n\x1dPrepareForBuildAdditionalArgs\x12\x1c\n\x12\x63hrome_cwp_profile\x18\x01 \x01(\tH\x00\x12\x18\n\x0ekernel_version\x18\x02 \x01(\tH\x00\x42\x18\n\x16prepare_for_build_args\"A\n\x0b\x41\x66\x64oRelease\x12\x1a\n\x12\x63hrome_cwp_profile\x18\x01 \x01(\t\x12\x16\n\x0eimage_build_id\x18\x02 \x01(\x03\"\x97\x01\n\x13\x41rtifactProfileInfo\x12\x1c\n\x12\x63hrome_cwp_profile\x18\x01 \x01(\tH\x00\x12\x18\n\x0ekernel_version\x18\x02 \x01(\tH\x00\x12/\n\x0c\x61\x66\x64o_release\x18\x03 \x01(\x0b\x32\x17.chromiumos.AfdoReleaseH\x00\x42\x17\n\x15\x61rtifact_profile_info\"\xea\x1d\n\x12\x41rtifactsByService\x12\x35\n\x06legacy\x18\x01 \x01(\x0b\x32%.chromiumos.ArtifactsByService.Legacy\x12;\n\ttoolchain\x18\x02 \x01(\x0b\x32(.chromiumos.ArtifactsByService.Toolchain\x12\x33\n\x05image\x18\x03 \x01(\x0b\x32$.chromiumos.ArtifactsByService.Image\x12\x37\n\x07package\x18\x04 \x01(\x0b\x32&.chromiumos.ArtifactsByService.Package\x12\x37\n\x07sysroot\x18\x05 \x01(\x0b\x32&.chromiumos.ArtifactsByService.Sysroot\x12\x31\n\x04test\x18\x06 \x01(\x0b\x32#.chromiumos.ArtifactsByService.Test\x12\x35\n\x0cprofile_info\x18\x07 \x01(\x0b\x32\x1f.chromiumos.ArtifactProfileInfo\x1a\x85\x05\n\x06Legacy\x12K\n\x0finput_artifacts\x18\x01 \x03(\x0b\x32\x32.chromiumos.ArtifactsByService.Legacy.ArtifactInfo\x12L\n\x10output_artifacts\x18\x02 \x03(\x0b\x32\x32.chromiumos.ArtifactsByService.Legacy.ArtifactInfo\x1a\xd4\x01\n\x0c\x41rtifactInfo\x12J\n\x0e\x61rtifact_types\x18\x01 \x03(\x0e\x32\x32.chromiumos.ArtifactsByService.Legacy.ArtifactType\x12\x14\n\x0cgs_locations\x18\x02 \x03(\t\x12\x10\n\x08\x61\x63l_name\x18\x04 \x01(\t\x12J\n\x11publish_condition\x18\x05 \x01(\x0e\x32/.chromiumos.ArtifactsByService.PublishConditionJ\x04\x08\x03\x10\x04\"\x88\x02\n\x0c\x41rtifactType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\r\n\tIMAGE_ZIP\x10\x01\x12\x17\n\x13TEST_UPDATE_PAYLOAD\x10\x02\x12\x12\n\x0e\x41UTOTEST_FILES\x10\x03\x12\x0e\n\nTAST_FILES\x10\x04\x12\x17\n\x13PINNED_GUEST_IMAGES\x10\x05\x12\x0c\n\x08\x46IRMWARE\x10\x06\x12\x0f\n\x0b\x45\x42UILD_LOGS\x10\x07\x12\x13\n\x0f\x43HROMEOS_CONFIG\x10\x08\x12\x0e\n\nCPE_REPORT\x10\t\x12\x12\n\x0eIMAGE_ARCHIVES\x10\n\x12\x13\n\x0f\x46PMCU_UNITTESTS\x10\x1b\x12\x0f\n\x0bGCE_TARBALL\x10\x1c\"\x04\x08\x0b\x10\x1a\x1a\xf9\x07\n\tToolchain\x12N\n\x0finput_artifacts\x18\x01 \x03(\x0b\x32\x35.chromiumos.ArtifactsByService.Toolchain.ArtifactInfo\x12O\n\x10output_artifacts\x18\x02 \x03(\x0b\x32\x35.chromiumos.ArtifactsByService.Toolchain.ArtifactInfo\x1a\xd1\x01\n\x0c\x41rtifactInfo\x12M\n\x0e\x61rtifact_types\x18\x01 \x03(\x0e\x32\x35.chromiumos.ArtifactsByService.Toolchain.ArtifactType\x12\x14\n\x0cgs_locations\x18\x02 \x03(\t\x12\x10\n\x08\x61\x63l_name\x18\x04 \x01(\t\x12J\n\x11publish_condition\x18\x05 \x01(\x0e\x32/.chromiumos.ArtifactsByService.PublishCondition\"\xf6\x04\n\x0c\x41rtifactType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12$\n UNVERIFIED_CHROME_LLVM_ORDERFILE\x10\x0b\x12\"\n\x1eVERIFIED_CHROME_LLVM_ORDERFILE\x10\x0c\x12\x1e\n\x1a\x43HROME_CLANG_WARNINGS_FILE\x10\r\x12\x1c\n\x18UNVERIFIED_LLVM_PGO_FILE\x10\x0e\x12)\n%UNVERIFIED_CHROME_BENCHMARK_AFDO_FILE\x10\x0f\x12\'\n#VERIFIED_CHROME_BENCHMARK_AFDO_FILE\x10\x10\x12!\n\x1dVERIFIED_KERNEL_CWP_AFDO_FILE\x10\x11\x12#\n\x1fUNVERIFIED_KERNEL_CWP_AFDO_FILE\x10\x12\x12#\n\x1fUNVERIFIED_CHROME_CWP_AFDO_FILE\x10\x13\x12!\n\x1dVERIFIED_CHROME_CWP_AFDO_FILE\x10\x14\x12\x1e\n\x1aVERIFIED_RELEASE_AFDO_FILE\x10\x15\x12)\n%UNVERIFIED_CHROME_BENCHMARK_PERF_FILE\x10\x16\x12\x17\n\x13\x43HROME_DEBUG_BINARY\x10\x17\x12\x1a\n\x16TOOLCHAIN_WARNING_LOGS\x10\x18\x12)\n%CHROME_AFDO_PROFILE_FOR_ANDROID_LINUX\x10\x19\x12\x19\n\x15\x43LANG_CRASH_DIAGNOSES\x10\x1a\x12\x17\n\x13\x43OMPILER_RUSAGE_LOG\x10\x1d\"\x04\x08\x01\x10\n\"\x04\x08\x1b\x10\x1c\x1a\x97\x03\n\x05Image\x12J\n\x0finput_artifacts\x18\x01 \x03(\x0b\x32\x31.chromiumos.ArtifactsByService.Image.ArtifactInfo\x12K\n\x10output_artifacts\x18\x02 \x03(\x0b\x32\x31.chromiumos.ArtifactsByService.Image.ArtifactInfo\x1a\xcd\x01\n\x0c\x41rtifactInfo\x12I\n\x0e\x61rtifact_types\x18\x01 \x03(\x0e\x32\x31.chromiumos.ArtifactsByService.Image.ArtifactType\x12\x14\n\x0cgs_locations\x18\x02 \x03(\t\x12\x10\n\x08\x61\x63l_name\x18\x04 \x01(\t\x12J\n\x11publish_condition\x18\x05 \x01(\x0e\x32/.chromiumos.ArtifactsByService.PublishCondition\"%\n\x0c\x41rtifactType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\"\x04\x08\x01\x10\x1c\x1a\x9f\x03\n\x07Package\x12L\n\x0finput_artifacts\x18\x01 \x03(\x0b\x32\x33.chromiumos.ArtifactsByService.Package.ArtifactInfo\x12M\n\x10output_artifacts\x18\x02 \x03(\x0b\x32\x33.chromiumos.ArtifactsByService.Package.ArtifactInfo\x1a\xcf\x01\n\x0c\x41rtifactInfo\x12K\n\x0e\x61rtifact_types\x18\x01 \x03(\x0e\x32\x33.chromiumos.ArtifactsByService.Package.ArtifactType\x12\x14\n\x0cgs_locations\x18\x02 \x03(\t\x12\x10\n\x08\x61\x63l_name\x18\x04 \x01(\t\x12J\n\x11publish_condition\x18\x05 \x01(\x0e\x32/.chromiumos.ArtifactsByService.PublishCondition\"%\n\x0c\x41rtifactType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\"\x04\x08\x01\x10\x1c\x1a\x9f\x03\n\x07Sysroot\x12L\n\x0finput_artifacts\x18\x01 \x03(\x0b\x32\x33.chromiumos.ArtifactsByService.Sysroot.ArtifactInfo\x12M\n\x10output_artifacts\x18\x02 \x03(\x0b\x32\x33.chromiumos.ArtifactsByService.Sysroot.ArtifactInfo\x1a\xcf\x01\n\x0c\x41rtifactInfo\x12K\n\x0e\x61rtifact_types\x18\x01 \x03(\x0e\x32\x33.chromiumos.ArtifactsByService.Sysroot.ArtifactType\x12\x14\n\x0cgs_locations\x18\x02 \x03(\t\x12\x10\n\x08\x61\x63l_name\x18\x04 \x01(\t\x12J\n\x11publish_condition\x18\x05 \x01(\x0e\x32/.chromiumos.ArtifactsByService.PublishCondition\"%\n\x0c\x41rtifactType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\"\x04\x08\x01\x10\x1c\x1a\x93\x03\n\x04Test\x12I\n\x0finput_artifacts\x18\x01 \x03(\x0b\x32\x30.chromiumos.ArtifactsByService.Test.ArtifactInfo\x12J\n\x10output_artifacts\x18\x02 \x03(\x0b\x32\x30.chromiumos.ArtifactsByService.Test.ArtifactInfo\x1a\xcc\x01\n\x0c\x41rtifactInfo\x12H\n\x0e\x61rtifact_types\x18\x01 \x03(\x0e\x32\x30.chromiumos.ArtifactsByService.Test.ArtifactType\x12\x14\n\x0cgs_locations\x18\x02 \x03(\t\x12\x10\n\x08\x61\x63l_name\x18\x04 \x01(\t\x12J\n\x11publish_condition\x18\x05 \x01(\x0e\x32/.chromiumos.ArtifactsByService.PublishCondition\"%\n\x0c\x41rtifactType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\"\x04\x08\x01\x10\x1c\"W\n\x10PublishCondition\x12\x17\n\x13PUBLISH_UNSPECIFIED\x10\x00\x12\x16\n\x12PUBLISH_ON_SUCCESS\x10\x01\x12\x12\n\x0ePUBLISH_ALWAYS\x10\x02\"\xc4\x0c\n\x1aUploadedArtifactsByService\x12=\n\x06legacy\x18\x01 \x01(\x0b\x32-.chromiumos.UploadedArtifactsByService.Legacy\x12\x43\n\ttoolchain\x18\x02 \x01(\x0b\x32\x30.chromiumos.UploadedArtifactsByService.Toolchain\x12;\n\x05image\x18\x03 \x01(\x0b\x32,.chromiumos.UploadedArtifactsByService.Image\x12?\n\x07package\x18\x04 \x01(\x0b\x32..chromiumos.UploadedArtifactsByService.Package\x12?\n\x07sysroot\x18\x05 \x01(\x0b\x32..chromiumos.UploadedArtifactsByService.Sysroot\x12\x39\n\x04test\x18\x06 \x01(\x0b\x32+.chromiumos.UploadedArtifactsByService.Test\x1a\xc3\x01\n\x06Legacy\x12N\n\tartifacts\x18\x01 \x03(\x0b\x32;.chromiumos.UploadedArtifactsByService.Legacy.ArtifactPaths\x1ai\n\rArtifactPaths\x12I\n\rartifact_type\x18\x01 \x01(\x0e\x32\x32.chromiumos.ArtifactsByService.Legacy.ArtifactType\x12\r\n\x05paths\x18\x02 \x03(\t\x1a\xcc\x01\n\tToolchain\x12Q\n\tartifacts\x18\x01 \x03(\x0b\x32>.chromiumos.UploadedArtifactsByService.Toolchain.ArtifactPaths\x1al\n\rArtifactPaths\x12L\n\rartifact_type\x18\x01 \x01(\x0e\x32\x35.chromiumos.ArtifactsByService.Toolchain.ArtifactType\x12\r\n\x05paths\x18\x02 \x03(\t\x1a\xc0\x01\n\x05Image\x12M\n\tartifacts\x18\x01 \x03(\x0b\x32:.chromiumos.UploadedArtifactsByService.Image.ArtifactPaths\x1ah\n\rArtifactPaths\x12H\n\rartifact_type\x18\x01 \x01(\x0e\x32\x31.chromiumos.ArtifactsByService.Image.ArtifactType\x12\r\n\x05paths\x18\x02 \x03(\t\x1a\xc6\x01\n\x07Package\x12O\n\tartifacts\x18\x01 \x03(\x0b\x32<.chromiumos.UploadedArtifactsByService.Package.ArtifactPaths\x1aj\n\rArtifactPaths\x12J\n\rartifact_type\x18\x01 \x01(\x0e\x32\x33.chromiumos.ArtifactsByService.Package.ArtifactType\x12\r\n\x05paths\x18\x02 \x03(\t\x1a\xc6\x01\n\x07Sysroot\x12O\n\tartifacts\x18\x01 \x03(\x0b\x32<.chromiumos.UploadedArtifactsByService.Sysroot.ArtifactPaths\x1aj\n\rArtifactPaths\x12J\n\rartifact_type\x18\x01 \x01(\x0e\x32\x33.chromiumos.ArtifactsByService.Sysroot.ArtifactType\x12\r\n\x05paths\x18\x02 \x03(\t\x1a\xbd\x01\n\x04Test\x12L\n\tartifacts\x18\x01 \x03(\x0b\x32\x39.chromiumos.UploadedArtifactsByService.Test.ArtifactPaths\x1ag\n\rArtifactPaths\x12G\n\rartifact_type\x18\x01 \x01(\x0e\x32\x30.chromiumos.ArtifactsByService.Test.ArtifactType\x12\r\n\x05paths\x18\x02 \x03(\t*\xe0\x04\n\tImageType\x12\x18\n\x14IMAGE_TYPE_UNDEFINED\x10\x00\x12\x13\n\x0fIMAGE_TYPE_BASE\x10\x01\x12\x12\n\x0eIMAGE_TYPE_DEV\x10\x02\x12\x13\n\x0fIMAGE_TYPE_TEST\x10\x03\x12\x16\n\x12IMAGE_TYPE_BASE_VM\x10\x04\x12\x16\n\x12IMAGE_TYPE_TEST_VM\x10\x05\x12\x17\n\x13IMAGE_TYPE_RECOVERY\x10\x06\x12\x16\n\x12IMAGE_TYPE_FACTORY\x10\x07\x12\x17\n\x13IMAGE_TYPE_FIRMWARE\x10\x08\x12\x1c\n\x18IMAGE_TYPE_CR50_FIRMWARE\x10\t\x12\x1c\n\x18IMAGE_TYPE_BASE_GUEST_VM\x10\n\x12\x1c\n\x18IMAGE_TYPE_TEST_GUEST_VM\x10\x0b\x12\x12\n\x0eIMAGE_TYPE_DLC\x10\x0c\x12\x1b\n\x17IMAGE_TYPE_GSC_FIRMWARE\x10\r\x12\x1e\n\x1aIMAGE_TYPE_ACCESSORY_USBPD\x10\x0e\x12\x1e\n\x1aIMAGE_TYPE_ACCESSORY_RWSIG\x10\x0f\x12\x08\n\x04\x42\x41SE\x10\x01\x12\x07\n\x03\x44\x45V\x10\x02\x12\x08\n\x04TEST\x10\x03\x12\x0b\n\x07\x42\x41SE_VM\x10\x04\x12\x0b\n\x07TEST_VM\x10\x05\x12\x0c\n\x08RECOVERY\x10\x06\x12\x0b\n\x07\x46\x41\x43TORY\x10\x07\x12\x0c\n\x08\x46IRMWARE\x10\x08\x12\x11\n\rCR50_FIRMWARE\x10\t\x12\x11\n\rBASE_GUEST_VM\x10\n\x12\x11\n\rTEST_GUEST_VM\x10\x0b\x12\x07\n\x03\x44LC\x10\x0c\x12\x10\n\x0cGSC_FIRMWARE\x10\r\x1a\x02\x10\x01*m\n\x07\x43hannel\x12\x17\n\x13\x43HANNEL_UNSPECIFIED\x10\x00\x12\x12\n\x0e\x43HANNEL_STABLE\x10\x01\x12\x10\n\x0c\x43HANNEL_BETA\x10\x02\x12\x0f\n\x0b\x43HANNEL_DEV\x10\x03\x12\x12\n\x0e\x43HANNEL_CANARY\x10\x04*c\n\tDeltaType\x12\x11\n\rDELTA_UNKNOWN\x10\x00\x12\x0c\n\x08NO_DELTA\x10\x01\x12\x07\n\x03\x46SI\x10\x02\x12\r\n\tMILESTONE\x10\x03\x12\t\n\x05OMAHA\x10\x04\x12\x12\n\x0eSTEPPING_STONE\x10\x05*f\n\x10\x41\x46\x44OArtifactType\x12\r\n\tNONE_TYPE\x10\x00\x12\r\n\tORDERFILE\x10\x01\x12\x12\n\x0e\x42\x45NCHMARK_AFDO\x10\x02\x12\x0f\n\x0bKERNEL_AFDO\x10\x03\x12\x0f\n\x0b\x43HROME_AFDO\x10\x04\x42\x36Z4go.chromium.org/chromiumos/infra/proto/go/chromiumosb\x06proto3')
)
_IMAGETYPE = _descriptor.EnumDescriptor(
@@ -34,62 +34,122 @@
serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
- name='BASE', index=1, number=1,
+ name='IMAGE_TYPE_BASE', index=1, number=1,
serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
- name='DEV', index=2, number=2,
+ name='IMAGE_TYPE_DEV', index=2, number=2,
serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
- name='TEST', index=3, number=3,
+ name='IMAGE_TYPE_TEST', index=3, number=3,
serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
- name='BASE_VM', index=4, number=4,
+ name='IMAGE_TYPE_BASE_VM', index=4, number=4,
serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
- name='TEST_VM', index=5, number=5,
+ name='IMAGE_TYPE_TEST_VM', index=5, number=5,
serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
- name='RECOVERY', index=6, number=6,
+ name='IMAGE_TYPE_RECOVERY', index=6, number=6,
serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
- name='FACTORY', index=7, number=7,
+ name='IMAGE_TYPE_FACTORY', index=7, number=7,
serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
- name='FIRMWARE', index=8, number=8,
+ name='IMAGE_TYPE_FIRMWARE', index=8, number=8,
serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
- name='CR50_FIRMWARE', index=9, number=9,
+ name='IMAGE_TYPE_CR50_FIRMWARE', index=9, number=9,
serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
- name='BASE_GUEST_VM', index=10, number=10,
+ name='IMAGE_TYPE_BASE_GUEST_VM', index=10, number=10,
serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
- name='TEST_GUEST_VM', index=11, number=11,
+ name='IMAGE_TYPE_TEST_GUEST_VM', index=11, number=11,
serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
- name='DLC', index=12, number=12,
+ name='IMAGE_TYPE_DLC', index=12, number=12,
serialized_options=None,
type=None),
_descriptor.EnumValueDescriptor(
- name='GSC_FIRMWARE', index=13, number=13,
+ name='IMAGE_TYPE_GSC_FIRMWARE', index=13, number=13,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='IMAGE_TYPE_ACCESSORY_USBPD', index=14, number=14,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='IMAGE_TYPE_ACCESSORY_RWSIG', index=15, number=15,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='BASE', index=16, number=1,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='DEV', index=17, number=2,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='TEST', index=18, number=3,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='BASE_VM', index=19, number=4,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='TEST_VM', index=20, number=5,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='RECOVERY', index=21, number=6,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='FACTORY', index=22, number=7,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='FIRMWARE', index=23, number=8,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='CR50_FIRMWARE', index=24, number=9,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='BASE_GUEST_VM', index=25, number=10,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='TEST_GUEST_VM', index=26, number=11,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='DLC', index=27, number=12,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='GSC_FIRMWARE', index=28, number=13,
serialized_options=None,
type=None),
],
containing_type=None,
- serialized_options=None,
- serialized_start=6611,
- serialized_end=6828,
+ serialized_options=_b('\020\001'),
+ serialized_start=7181,
+ serialized_end=7789,
)
_sym_db.RegisterEnumDescriptor(_IMAGETYPE)
@@ -123,8 +183,8 @@
],
containing_type=None,
serialized_options=None,
- serialized_start=6830,
- serialized_end=6939,
+ serialized_start=7791,
+ serialized_end=7900,
)
_sym_db.RegisterEnumDescriptor(_CHANNEL)
@@ -162,8 +222,8 @@
],
containing_type=None,
serialized_options=None,
- serialized_start=6941,
- serialized_end=7040,
+ serialized_start=7902,
+ serialized_end=8001,
)
_sym_db.RegisterEnumDescriptor(_DELTATYPE)
@@ -197,13 +257,28 @@
],
containing_type=None,
serialized_options=None,
- serialized_start=7042,
- serialized_end=7144,
+ serialized_start=8003,
+ serialized_end=8105,
)
_sym_db.RegisterEnumDescriptor(_AFDOARTIFACTTYPE)
AFDOArtifactType = enum_type_wrapper.EnumTypeWrapper(_AFDOARTIFACTTYPE)
IMAGE_TYPE_UNDEFINED = 0
+IMAGE_TYPE_BASE = 1
+IMAGE_TYPE_DEV = 2
+IMAGE_TYPE_TEST = 3
+IMAGE_TYPE_BASE_VM = 4
+IMAGE_TYPE_TEST_VM = 5
+IMAGE_TYPE_RECOVERY = 6
+IMAGE_TYPE_FACTORY = 7
+IMAGE_TYPE_FIRMWARE = 8
+IMAGE_TYPE_CR50_FIRMWARE = 9
+IMAGE_TYPE_BASE_GUEST_VM = 10
+IMAGE_TYPE_TEST_GUEST_VM = 11
+IMAGE_TYPE_DLC = 12
+IMAGE_TYPE_GSC_FIRMWARE = 13
+IMAGE_TYPE_ACCESSORY_USBPD = 14
+IMAGE_TYPE_ACCESSORY_RWSIG = 15
BASE = 1
DEV = 2
TEST = 3
@@ -356,8 +431,8 @@
],
containing_type=None,
serialized_options=None,
- serialized_start=2470,
- serialized_end=2734,
+ serialized_start=2546,
+ serialized_end=2810,
)
_sym_db.RegisterEnumDescriptor(_ARTIFACTSBYSERVICE_LEGACY_ARTIFACTTYPE)
@@ -435,11 +510,15 @@
name='CLANG_CRASH_DIAGNOSES', index=16, number=26,
serialized_options=None,
type=None),
+ _descriptor.EnumValueDescriptor(
+ name='COMPILER_RUSAGE_LOG', index=17, number=29,
+ serialized_options=None,
+ type=None),
],
containing_type=None,
serialized_options=None,
- serialized_start=3048,
- serialized_end=3653,
+ serialized_start=3200,
+ serialized_end=3830,
)
_sym_db.RegisterEnumDescriptor(_ARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTTYPE)
@@ -456,8 +535,8 @@
],
containing_type=None,
serialized_options=None,
- serialized_start=3950,
- serialized_end=3987,
+ serialized_start=4203,
+ serialized_end=4240,
)
_sym_db.RegisterEnumDescriptor(_ARTIFACTSBYSERVICE_IMAGE_ARTIFACTTYPE)
@@ -474,8 +553,8 @@
],
containing_type=None,
serialized_options=None,
- serialized_start=3950,
- serialized_end=3987,
+ serialized_start=4203,
+ serialized_end=4240,
)
_sym_db.RegisterEnumDescriptor(_ARTIFACTSBYSERVICE_PACKAGE_ARTIFACTTYPE)
@@ -492,8 +571,8 @@
],
containing_type=None,
serialized_options=None,
- serialized_start=3950,
- serialized_end=3987,
+ serialized_start=4203,
+ serialized_end=4240,
)
_sym_db.RegisterEnumDescriptor(_ARTIFACTSBYSERVICE_SYSROOT_ARTIFACTTYPE)
@@ -510,11 +589,37 @@
],
containing_type=None,
serialized_options=None,
- serialized_start=3950,
- serialized_end=3987,
+ serialized_start=4203,
+ serialized_end=4240,
)
_sym_db.RegisterEnumDescriptor(_ARTIFACTSBYSERVICE_TEST_ARTIFACTTYPE)
+_ARTIFACTSBYSERVICE_PUBLISHCONDITION = _descriptor.EnumDescriptor(
+ name='PublishCondition',
+ full_name='chromiumos.ArtifactsByService.PublishCondition',
+ filename=None,
+ file=DESCRIPTOR,
+ values=[
+ _descriptor.EnumValueDescriptor(
+ name='PUBLISH_UNSPECIFIED', index=0, number=0,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='PUBLISH_ON_SUCCESS', index=1, number=1,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='PUBLISH_ALWAYS', index=2, number=2,
+ serialized_options=None,
+ type=None),
+ ],
+ containing_type=None,
+ serialized_options=None,
+ serialized_start=5484,
+ serialized_end=5571,
+)
+_sym_db.RegisterEnumDescriptor(_ARTIFACTSBYSERVICE_PUBLISHCONDITION)
+
_BUILDTARGET = _descriptor.Descriptor(
name='BuildTarget',
@@ -1350,6 +1455,13 @@
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='publish_condition', full_name='chromiumos.ArtifactsByService.Legacy.ArtifactInfo.publish_condition', index=3,
+ number=5, type=14, cpp_type=8, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
@@ -1363,7 +1475,7 @@
oneofs=[
],
serialized_start=2331,
- serialized_end=2467,
+ serialized_end=2543,
)
_ARTIFACTSBYSERVICE_LEGACY = _descriptor.Descriptor(
@@ -1401,7 +1513,7 @@
oneofs=[
],
serialized_start=2165,
- serialized_end=2734,
+ serialized_end=2810,
)
_ARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTINFO = _descriptor.Descriptor(
@@ -1432,6 +1544,13 @@
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='publish_condition', full_name='chromiumos.ArtifactsByService.Toolchain.ArtifactInfo.publish_condition', index=3,
+ number=5, type=14, cpp_type=8, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
@@ -1444,8 +1563,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=2912,
- serialized_end=3045,
+ serialized_start=2988,
+ serialized_end=3197,
)
_ARTIFACTSBYSERVICE_TOOLCHAIN = _descriptor.Descriptor(
@@ -1482,8 +1601,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=2737,
- serialized_end=3653,
+ serialized_start=2813,
+ serialized_end=3830,
)
_ARTIFACTSBYSERVICE_IMAGE_ARTIFACTINFO = _descriptor.Descriptor(
@@ -1514,6 +1633,13 @@
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='publish_condition', full_name='chromiumos.ArtifactsByService.Image.ArtifactInfo.publish_condition', index=3,
+ number=5, type=14, cpp_type=8, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
@@ -1526,8 +1652,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=3819,
- serialized_end=3948,
+ serialized_start=3996,
+ serialized_end=4201,
)
_ARTIFACTSBYSERVICE_IMAGE = _descriptor.Descriptor(
@@ -1564,8 +1690,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=3656,
- serialized_end=3987,
+ serialized_start=3833,
+ serialized_end=4240,
)
_ARTIFACTSBYSERVICE_PACKAGE_ARTIFACTINFO = _descriptor.Descriptor(
@@ -1596,6 +1722,13 @@
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='publish_condition', full_name='chromiumos.ArtifactsByService.Package.ArtifactInfo.publish_condition', index=3,
+ number=5, type=14, cpp_type=8, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
@@ -1608,8 +1741,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=4159,
- serialized_end=4290,
+ serialized_start=4412,
+ serialized_end=4619,
)
_ARTIFACTSBYSERVICE_PACKAGE = _descriptor.Descriptor(
@@ -1646,8 +1779,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=3990,
- serialized_end=4329,
+ serialized_start=4243,
+ serialized_end=4658,
)
_ARTIFACTSBYSERVICE_SYSROOT_ARTIFACTINFO = _descriptor.Descriptor(
@@ -1678,6 +1811,13 @@
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='publish_condition', full_name='chromiumos.ArtifactsByService.Sysroot.ArtifactInfo.publish_condition', index=3,
+ number=5, type=14, cpp_type=8, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
@@ -1690,8 +1830,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=4501,
- serialized_end=4632,
+ serialized_start=4830,
+ serialized_end=5037,
)
_ARTIFACTSBYSERVICE_SYSROOT = _descriptor.Descriptor(
@@ -1728,8 +1868,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=4332,
- serialized_end=4671,
+ serialized_start=4661,
+ serialized_end=5076,
)
_ARTIFACTSBYSERVICE_TEST_ARTIFACTINFO = _descriptor.Descriptor(
@@ -1760,6 +1900,13 @@
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='publish_condition', full_name='chromiumos.ArtifactsByService.Test.ArtifactInfo.publish_condition', index=3,
+ number=5, type=14, cpp_type=8, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
@@ -1772,8 +1919,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=4834,
- serialized_end=4962,
+ serialized_start=5239,
+ serialized_end=5443,
)
_ARTIFACTSBYSERVICE_TEST = _descriptor.Descriptor(
@@ -1810,8 +1957,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=4674,
- serialized_end=5001,
+ serialized_start=5079,
+ serialized_end=5482,
)
_ARTIFACTSBYSERVICE = _descriptor.Descriptor(
@@ -1875,6 +2022,7 @@
],
nested_types=[_ARTIFACTSBYSERVICE_LEGACY, _ARTIFACTSBYSERVICE_TOOLCHAIN, _ARTIFACTSBYSERVICE_IMAGE, _ARTIFACTSBYSERVICE_PACKAGE, _ARTIFACTSBYSERVICE_SYSROOT, _ARTIFACTSBYSERVICE_TEST, ],
enum_types=[
+ _ARTIFACTSBYSERVICE_PUBLISHCONDITION,
],
serialized_options=None,
is_extendable=False,
@@ -1883,7 +2031,7 @@
oneofs=[
],
serialized_start=1753,
- serialized_end=5001,
+ serialized_end=5571,
)
@@ -1920,8 +2068,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=5507,
- serialized_end=5612,
+ serialized_start=6077,
+ serialized_end=6182,
)
_UPLOADEDARTIFACTSBYSERVICE_LEGACY = _descriptor.Descriptor(
@@ -1950,8 +2098,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=5417,
- serialized_end=5612,
+ serialized_start=5987,
+ serialized_end=6182,
)
_UPLOADEDARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTPATHS = _descriptor.Descriptor(
@@ -1987,8 +2135,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=5711,
- serialized_end=5819,
+ serialized_start=6281,
+ serialized_end=6389,
)
_UPLOADEDARTIFACTSBYSERVICE_TOOLCHAIN = _descriptor.Descriptor(
@@ -2017,8 +2165,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=5615,
- serialized_end=5819,
+ serialized_start=6185,
+ serialized_end=6389,
)
_UPLOADEDARTIFACTSBYSERVICE_IMAGE_ARTIFACTPATHS = _descriptor.Descriptor(
@@ -2054,8 +2202,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=5910,
- serialized_end=6014,
+ serialized_start=6480,
+ serialized_end=6584,
)
_UPLOADEDARTIFACTSBYSERVICE_IMAGE = _descriptor.Descriptor(
@@ -2084,8 +2232,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=5822,
- serialized_end=6014,
+ serialized_start=6392,
+ serialized_end=6584,
)
_UPLOADEDARTIFACTSBYSERVICE_PACKAGE_ARTIFACTPATHS = _descriptor.Descriptor(
@@ -2121,8 +2269,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=6109,
- serialized_end=6215,
+ serialized_start=6679,
+ serialized_end=6785,
)
_UPLOADEDARTIFACTSBYSERVICE_PACKAGE = _descriptor.Descriptor(
@@ -2151,8 +2299,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=6017,
- serialized_end=6215,
+ serialized_start=6587,
+ serialized_end=6785,
)
_UPLOADEDARTIFACTSBYSERVICE_SYSROOT_ARTIFACTPATHS = _descriptor.Descriptor(
@@ -2188,8 +2336,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=6310,
- serialized_end=6416,
+ serialized_start=6880,
+ serialized_end=6986,
)
_UPLOADEDARTIFACTSBYSERVICE_SYSROOT = _descriptor.Descriptor(
@@ -2218,8 +2366,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=6218,
- serialized_end=6416,
+ serialized_start=6788,
+ serialized_end=6986,
)
_UPLOADEDARTIFACTSBYSERVICE_TEST_ARTIFACTPATHS = _descriptor.Descriptor(
@@ -2255,8 +2403,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=6505,
- serialized_end=6608,
+ serialized_start=7075,
+ serialized_end=7178,
)
_UPLOADEDARTIFACTSBYSERVICE_TEST = _descriptor.Descriptor(
@@ -2285,8 +2433,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=6419,
- serialized_end=6608,
+ serialized_start=6989,
+ serialized_end=7178,
)
_UPLOADEDARTIFACTSBYSERVICE = _descriptor.Descriptor(
@@ -2350,8 +2498,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=5004,
- serialized_end=6608,
+ serialized_start=5574,
+ serialized_end=7178,
)
_CHROOT_CHROOTENV.fields_by_name['use_flags'].message_type = _USEFLAG
@@ -2383,36 +2531,42 @@
_ARTIFACTPROFILEINFO.fields_by_name['afdo_release'])
_ARTIFACTPROFILEINFO.fields_by_name['afdo_release'].containing_oneof = _ARTIFACTPROFILEINFO.oneofs_by_name['artifact_profile_info']
_ARTIFACTSBYSERVICE_LEGACY_ARTIFACTINFO.fields_by_name['artifact_types'].enum_type = _ARTIFACTSBYSERVICE_LEGACY_ARTIFACTTYPE
+_ARTIFACTSBYSERVICE_LEGACY_ARTIFACTINFO.fields_by_name['publish_condition'].enum_type = _ARTIFACTSBYSERVICE_PUBLISHCONDITION
_ARTIFACTSBYSERVICE_LEGACY_ARTIFACTINFO.containing_type = _ARTIFACTSBYSERVICE_LEGACY
_ARTIFACTSBYSERVICE_LEGACY.fields_by_name['input_artifacts'].message_type = _ARTIFACTSBYSERVICE_LEGACY_ARTIFACTINFO
_ARTIFACTSBYSERVICE_LEGACY.fields_by_name['output_artifacts'].message_type = _ARTIFACTSBYSERVICE_LEGACY_ARTIFACTINFO
_ARTIFACTSBYSERVICE_LEGACY.containing_type = _ARTIFACTSBYSERVICE
_ARTIFACTSBYSERVICE_LEGACY_ARTIFACTTYPE.containing_type = _ARTIFACTSBYSERVICE_LEGACY
_ARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTINFO.fields_by_name['artifact_types'].enum_type = _ARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTTYPE
+_ARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTINFO.fields_by_name['publish_condition'].enum_type = _ARTIFACTSBYSERVICE_PUBLISHCONDITION
_ARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTINFO.containing_type = _ARTIFACTSBYSERVICE_TOOLCHAIN
_ARTIFACTSBYSERVICE_TOOLCHAIN.fields_by_name['input_artifacts'].message_type = _ARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTINFO
_ARTIFACTSBYSERVICE_TOOLCHAIN.fields_by_name['output_artifacts'].message_type = _ARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTINFO
_ARTIFACTSBYSERVICE_TOOLCHAIN.containing_type = _ARTIFACTSBYSERVICE
_ARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTTYPE.containing_type = _ARTIFACTSBYSERVICE_TOOLCHAIN
_ARTIFACTSBYSERVICE_IMAGE_ARTIFACTINFO.fields_by_name['artifact_types'].enum_type = _ARTIFACTSBYSERVICE_IMAGE_ARTIFACTTYPE
+_ARTIFACTSBYSERVICE_IMAGE_ARTIFACTINFO.fields_by_name['publish_condition'].enum_type = _ARTIFACTSBYSERVICE_PUBLISHCONDITION
_ARTIFACTSBYSERVICE_IMAGE_ARTIFACTINFO.containing_type = _ARTIFACTSBYSERVICE_IMAGE
_ARTIFACTSBYSERVICE_IMAGE.fields_by_name['input_artifacts'].message_type = _ARTIFACTSBYSERVICE_IMAGE_ARTIFACTINFO
_ARTIFACTSBYSERVICE_IMAGE.fields_by_name['output_artifacts'].message_type = _ARTIFACTSBYSERVICE_IMAGE_ARTIFACTINFO
_ARTIFACTSBYSERVICE_IMAGE.containing_type = _ARTIFACTSBYSERVICE
_ARTIFACTSBYSERVICE_IMAGE_ARTIFACTTYPE.containing_type = _ARTIFACTSBYSERVICE_IMAGE
_ARTIFACTSBYSERVICE_PACKAGE_ARTIFACTINFO.fields_by_name['artifact_types'].enum_type = _ARTIFACTSBYSERVICE_PACKAGE_ARTIFACTTYPE
+_ARTIFACTSBYSERVICE_PACKAGE_ARTIFACTINFO.fields_by_name['publish_condition'].enum_type = _ARTIFACTSBYSERVICE_PUBLISHCONDITION
_ARTIFACTSBYSERVICE_PACKAGE_ARTIFACTINFO.containing_type = _ARTIFACTSBYSERVICE_PACKAGE
_ARTIFACTSBYSERVICE_PACKAGE.fields_by_name['input_artifacts'].message_type = _ARTIFACTSBYSERVICE_PACKAGE_ARTIFACTINFO
_ARTIFACTSBYSERVICE_PACKAGE.fields_by_name['output_artifacts'].message_type = _ARTIFACTSBYSERVICE_PACKAGE_ARTIFACTINFO
_ARTIFACTSBYSERVICE_PACKAGE.containing_type = _ARTIFACTSBYSERVICE
_ARTIFACTSBYSERVICE_PACKAGE_ARTIFACTTYPE.containing_type = _ARTIFACTSBYSERVICE_PACKAGE
_ARTIFACTSBYSERVICE_SYSROOT_ARTIFACTINFO.fields_by_name['artifact_types'].enum_type = _ARTIFACTSBYSERVICE_SYSROOT_ARTIFACTTYPE
+_ARTIFACTSBYSERVICE_SYSROOT_ARTIFACTINFO.fields_by_name['publish_condition'].enum_type = _ARTIFACTSBYSERVICE_PUBLISHCONDITION
_ARTIFACTSBYSERVICE_SYSROOT_ARTIFACTINFO.containing_type = _ARTIFACTSBYSERVICE_SYSROOT
_ARTIFACTSBYSERVICE_SYSROOT.fields_by_name['input_artifacts'].message_type = _ARTIFACTSBYSERVICE_SYSROOT_ARTIFACTINFO
_ARTIFACTSBYSERVICE_SYSROOT.fields_by_name['output_artifacts'].message_type = _ARTIFACTSBYSERVICE_SYSROOT_ARTIFACTINFO
_ARTIFACTSBYSERVICE_SYSROOT.containing_type = _ARTIFACTSBYSERVICE
_ARTIFACTSBYSERVICE_SYSROOT_ARTIFACTTYPE.containing_type = _ARTIFACTSBYSERVICE_SYSROOT
_ARTIFACTSBYSERVICE_TEST_ARTIFACTINFO.fields_by_name['artifact_types'].enum_type = _ARTIFACTSBYSERVICE_TEST_ARTIFACTTYPE
+_ARTIFACTSBYSERVICE_TEST_ARTIFACTINFO.fields_by_name['publish_condition'].enum_type = _ARTIFACTSBYSERVICE_PUBLISHCONDITION
_ARTIFACTSBYSERVICE_TEST_ARTIFACTINFO.containing_type = _ARTIFACTSBYSERVICE_TEST
_ARTIFACTSBYSERVICE_TEST.fields_by_name['input_artifacts'].message_type = _ARTIFACTSBYSERVICE_TEST_ARTIFACTINFO
_ARTIFACTSBYSERVICE_TEST.fields_by_name['output_artifacts'].message_type = _ARTIFACTSBYSERVICE_TEST_ARTIFACTINFO
@@ -2425,6 +2579,7 @@
_ARTIFACTSBYSERVICE.fields_by_name['sysroot'].message_type = _ARTIFACTSBYSERVICE_SYSROOT
_ARTIFACTSBYSERVICE.fields_by_name['test'].message_type = _ARTIFACTSBYSERVICE_TEST
_ARTIFACTSBYSERVICE.fields_by_name['profile_info'].message_type = _ARTIFACTPROFILEINFO
+_ARTIFACTSBYSERVICE_PUBLISHCONDITION.containing_type = _ARTIFACTSBYSERVICE
_UPLOADEDARTIFACTSBYSERVICE_LEGACY_ARTIFACTPATHS.fields_by_name['artifact_type'].enum_type = _ARTIFACTSBYSERVICE_LEGACY_ARTIFACTTYPE
_UPLOADEDARTIFACTSBYSERVICE_LEGACY_ARTIFACTPATHS.containing_type = _UPLOADEDARTIFACTSBYSERVICE_LEGACY
_UPLOADEDARTIFACTSBYSERVICE_LEGACY.fields_by_name['artifacts'].message_type = _UPLOADEDARTIFACTSBYSERVICE_LEGACY_ARTIFACTPATHS
@@ -2823,4 +2978,5 @@
DESCRIPTOR._options = None
+_IMAGETYPE._options = None
# @@protoc_insertion_point(module_scope)
diff --git a/api/gen/test_platform/phosphorus/fetchcrashes_pb2.py b/api/gen/test_platform/phosphorus/fetchcrashes_pb2.py
new file mode 100644
index 0000000..fbee171
--- /dev/null
+++ b/api/gen/test_platform/phosphorus/fetchcrashes_pb2.py
@@ -0,0 +1,268 @@
+# Generated by the protocol buffer compiler. DO NOT EDIT!
+# source: test_platform/phosphorus/fetchcrashes.proto
+
+import sys
+_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
+from google.protobuf import descriptor as _descriptor
+from google.protobuf import message as _message
+from google.protobuf import reflection as _reflection
+from google.protobuf import symbol_database as _symbol_database
+# @@protoc_insertion_point(imports)
+
+_sym_db = _symbol_database.Default()
+
+
+from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
+from chromite.api.gen.test_platform.phosphorus import common_pb2 as test__platform_dot_phosphorus_dot_common__pb2
+
+
+DESCRIPTOR = _descriptor.FileDescriptor(
+ name='test_platform/phosphorus/fetchcrashes.proto',
+ package='test_platform.phosphorus',
+ syntax='proto3',
+ serialized_options=_b('ZBgo.chromium.org/chromiumos/infra/proto/go/test_platform/phosphorus'),
+ serialized_pb=_b('\n+test_platform/phosphorus/fetchcrashes.proto\x12\x18test_platform.phosphorus\x1a\x1fgoogle/protobuf/timestamp.proto\x1a%test_platform/phosphorus/common.proto\"\xb8\x01\n\x13\x46\x65tchCrashesRequest\x12\x30\n\x06\x63onfig\x18\x01 \x01(\x0b\x32 .test_platform.phosphorus.Config\x12\x14\n\x0c\x64ut_hostname\x18\x02 \x01(\t\x12,\n\x08\x64\x65\x61\x64line\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x16\n\x0eupload_crashes\x18\x04 \x01(\x08\x12\x13\n\x0buse_staging\x18\x05 \x01(\x08\"\x7f\n\x0c\x43rashSummary\x12\x11\n\texec_name\x18\x01 \x01(\t\x12\x12\n\nupload_url\x18\x02 \x01(\t\x12$\n\x1cin_progress_integration_test\x18\x03 \x01(\t\x12\x0b\n\x03sig\x18\x04 \x01(\t\x12\x15\n\rfilename_base\x18\x05 \x01(\t\"\x9f\x02\n\x14\x46\x65tchCrashesResponse\x12\x43\n\x05state\x18\x01 \x01(\x0e\x32\x34.test_platform.phosphorus.FetchCrashesResponse.State\x12\x37\n\x07\x63rashes\x18\x02 \x03(\x0b\x32&.test_platform.phosphorus.CrashSummary\x12\x18\n\x10\x63rashes_rtd_only\x18\x04 \x03(\t\x12\x18\n\x10\x63rashes_tls_only\x18\x05 \x03(\t\"U\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\r\n\tSUCCEEDED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x12\r\n\tTIMED_OUT\x10\x03\x12\x0b\n\x07\x41\x42ORTED\x10\x04\x42\x44ZBgo.chromium.org/chromiumos/infra/proto/go/test_platform/phosphorusb\x06proto3')
+ ,
+ dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,test__platform_dot_phosphorus_dot_common__pb2.DESCRIPTOR,])
+
+
+
+_FETCHCRASHESRESPONSE_STATE = _descriptor.EnumDescriptor(
+ name='State',
+ full_name='test_platform.phosphorus.FetchCrashesResponse.State',
+ filename=None,
+ file=DESCRIPTOR,
+ values=[
+ _descriptor.EnumValueDescriptor(
+ name='STATE_UNSPECIFIED', index=0, number=0,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='SUCCEEDED', index=1, number=1,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='FAILED', index=2, number=2,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='TIMED_OUT', index=3, number=3,
+ serialized_options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='ABORTED', index=4, number=4,
+ serialized_options=None,
+ type=None),
+ ],
+ containing_type=None,
+ serialized_options=None,
+ serialized_start=664,
+ serialized_end=749,
+)
+_sym_db.RegisterEnumDescriptor(_FETCHCRASHESRESPONSE_STATE)
+
+
+_FETCHCRASHESREQUEST = _descriptor.Descriptor(
+ name='FetchCrashesRequest',
+ full_name='test_platform.phosphorus.FetchCrashesRequest',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='config', full_name='test_platform.phosphorus.FetchCrashesRequest.config', index=0,
+ number=1, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='dut_hostname', full_name='test_platform.phosphorus.FetchCrashesRequest.dut_hostname', index=1,
+ number=2, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='deadline', full_name='test_platform.phosphorus.FetchCrashesRequest.deadline', index=2,
+ number=3, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='upload_crashes', full_name='test_platform.phosphorus.FetchCrashesRequest.upload_crashes', index=3,
+ number=4, type=8, cpp_type=7, label=1,
+ has_default_value=False, default_value=False,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='use_staging', full_name='test_platform.phosphorus.FetchCrashesRequest.use_staging', index=4,
+ number=5, type=8, cpp_type=7, label=1,
+ has_default_value=False, default_value=False,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=146,
+ serialized_end=330,
+)
+
+
+_CRASHSUMMARY = _descriptor.Descriptor(
+ name='CrashSummary',
+ full_name='test_platform.phosphorus.CrashSummary',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='exec_name', full_name='test_platform.phosphorus.CrashSummary.exec_name', index=0,
+ number=1, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='upload_url', full_name='test_platform.phosphorus.CrashSummary.upload_url', index=1,
+ number=2, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='in_progress_integration_test', full_name='test_platform.phosphorus.CrashSummary.in_progress_integration_test', index=2,
+ number=3, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='sig', full_name='test_platform.phosphorus.CrashSummary.sig', index=3,
+ number=4, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='filename_base', full_name='test_platform.phosphorus.CrashSummary.filename_base', index=4,
+ number=5, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=332,
+ serialized_end=459,
+)
+
+
+_FETCHCRASHESRESPONSE = _descriptor.Descriptor(
+ name='FetchCrashesResponse',
+ full_name='test_platform.phosphorus.FetchCrashesResponse',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='state', full_name='test_platform.phosphorus.FetchCrashesResponse.state', index=0,
+ number=1, type=14, cpp_type=8, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='crashes', full_name='test_platform.phosphorus.FetchCrashesResponse.crashes', index=1,
+ number=2, type=11, cpp_type=10, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='crashes_rtd_only', full_name='test_platform.phosphorus.FetchCrashesResponse.crashes_rtd_only', index=2,
+ number=4, type=9, cpp_type=9, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='crashes_tls_only', full_name='test_platform.phosphorus.FetchCrashesResponse.crashes_tls_only', index=3,
+ number=5, type=9, cpp_type=9, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ _FETCHCRASHESRESPONSE_STATE,
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=462,
+ serialized_end=749,
+)
+
+_FETCHCRASHESREQUEST.fields_by_name['config'].message_type = test__platform_dot_phosphorus_dot_common__pb2._CONFIG
+_FETCHCRASHESREQUEST.fields_by_name['deadline'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
+_FETCHCRASHESRESPONSE.fields_by_name['state'].enum_type = _FETCHCRASHESRESPONSE_STATE
+_FETCHCRASHESRESPONSE.fields_by_name['crashes'].message_type = _CRASHSUMMARY
+_FETCHCRASHESRESPONSE_STATE.containing_type = _FETCHCRASHESRESPONSE
+DESCRIPTOR.message_types_by_name['FetchCrashesRequest'] = _FETCHCRASHESREQUEST
+DESCRIPTOR.message_types_by_name['CrashSummary'] = _CRASHSUMMARY
+DESCRIPTOR.message_types_by_name['FetchCrashesResponse'] = _FETCHCRASHESRESPONSE
+_sym_db.RegisterFileDescriptor(DESCRIPTOR)
+
+FetchCrashesRequest = _reflection.GeneratedProtocolMessageType('FetchCrashesRequest', (_message.Message,), dict(
+ DESCRIPTOR = _FETCHCRASHESREQUEST,
+ __module__ = 'test_platform.phosphorus.fetchcrashes_pb2'
+ # @@protoc_insertion_point(class_scope:test_platform.phosphorus.FetchCrashesRequest)
+ ))
+_sym_db.RegisterMessage(FetchCrashesRequest)
+
+CrashSummary = _reflection.GeneratedProtocolMessageType('CrashSummary', (_message.Message,), dict(
+ DESCRIPTOR = _CRASHSUMMARY,
+ __module__ = 'test_platform.phosphorus.fetchcrashes_pb2'
+ # @@protoc_insertion_point(class_scope:test_platform.phosphorus.CrashSummary)
+ ))
+_sym_db.RegisterMessage(CrashSummary)
+
+FetchCrashesResponse = _reflection.GeneratedProtocolMessageType('FetchCrashesResponse', (_message.Message,), dict(
+ DESCRIPTOR = _FETCHCRASHESRESPONSE,
+ __module__ = 'test_platform.phosphorus.fetchcrashes_pb2'
+ # @@protoc_insertion_point(class_scope:test_platform.phosphorus.FetchCrashesResponse)
+ ))
+_sym_db.RegisterMessage(FetchCrashesResponse)
+
+
+DESCRIPTOR._options = None
+# @@protoc_insertion_point(module_scope)
diff --git a/api/router.py b/api/router.py
index 0fd85be..f556552 100644
--- a/api/router.py
+++ b/api/router.py
@@ -208,7 +208,7 @@
# Check the chroot settings before running.
service_options = self._get_service_options(service_name, method_name)
- if self._ChrootCheck(service_options, method_options):
+ if self._ChrootCheck(service_options, method_options, config):
# Run inside the chroot instead.
logging.info('Re-executing the endpoint inside the chroot.')
return self._ReexecuteInside(input_msg, output_msg, config, input_handler,
@@ -235,12 +235,14 @@
return return_code
- def _ChrootCheck(self, service_options, method_options):
+ def _ChrootCheck(self, service_options, method_options,
+ config: 'api_config.ApiConfig'):
"""Check the chroot options, and execute assertion or note reexec as needed.
Args:
service_options (google.protobuf.Message): The service options.
method_options (google.protobuf.Message): The method options.
+ config: The Build API call config instance.
Returns:
bool - True iff it needs to be reexeced inside the chroot.
@@ -248,6 +250,10 @@
Raises:
cros_build_lib.DieSystemExit when the chroot setting cannot be satisfied.
"""
+ if not config.run_endpoint:
+ # Do not enter the chroot for validate only and mock calls.
+ return False
+
chroot_assert = build_api_pb2.NO_ASSERTION
if method_options.HasField('method_chroot_assert'):
# Prefer the method option when set.
diff --git a/api/validate.py b/api/validate.py
index d8a075d..0f61a39 100644
--- a/api/validate.py
+++ b/api/validate.py
@@ -132,6 +132,35 @@
return decorator
+# pylint: disable=docstring-misnamed-args
+def require_any(*fields):
+ """Verify at least one of |fields| have been set.
+
+ Args:
+ fields (str): The fields being checked. May be . separated nested fields.
+ """
+ assert fields
+
+ def decorator(func):
+ @functools.wraps(func)
+ def _require(input_proto, output_proto, config, *args, **kwargs):
+ if config.do_validation:
+ for field in fields:
+ logging.debug('Validating %s is set.', field)
+ value = _value(field, input_proto)
+ if value:
+ break
+ else:
+ cros_build_lib.Die('At least one of the following must be set: %s',
+ ', '.join(fields))
+
+ return func(input_proto, output_proto, config, *args, **kwargs)
+
+ return _require
+
+ return decorator
+
+
def require_each(field, subfields, allow_empty=True):
"""Verify |field| each have all of the |subfields| set.
diff --git a/api/validate_unittest.py b/api/validate_unittest.py
index e42b740..00e57ab 100644
--- a/api/validate_unittest.py
+++ b/api/validate_unittest.py
@@ -100,8 +100,8 @@
impl(common_pb2.Chroot(), None, self.no_validate_config)
-class RequiredTest(cros_test_lib.TestCase, api_config.ApiConfigMixin):
- """Tests for the required validator."""
+class RequireTest(cros_test_lib.TestCase, api_config.ApiConfigMixin):
+ """Tests for the require validator."""
def test_invalid_field(self):
"""Test validator fails when given an unset value."""
@@ -135,7 +135,7 @@
impl(in_proto, None, self.api_config)
def test_mixed(self):
- """Test validator passes when given a set value."""
+ """Test validator fails when given a set value and an unset value."""
@validate.require('path', 'env.use_flags')
def impl(_input_proto, _output_proto, _config):
@@ -154,6 +154,54 @@
impl(common_pb2.Chroot(), None, self.no_validate_config)
+class RequireAnyTest(cros_test_lib.TestCase, api_config.ApiConfigMixin):
+ """Tests for the require_any validator."""
+
+ def _get_request(self, mid: int = None, name: str = None, flag: bool = None):
+ """Build a request instance from the given data."""
+ request = build_api_test_pb2.MultiFieldMessage()
+
+ if mid:
+ request.id = mid
+ if name:
+ request.name = name
+ if flag:
+ request.flag = flag
+
+ return request
+
+ def test_invalid_field(self):
+ """Test validator fails when given an invalid field."""
+
+ @validate.require_any('does.not.exist', 'also.invalid')
+ def impl(_input_proto, _output_proto, _config):
+ self.fail('Incorrectly allowed method to execute.')
+
+ with self.assertRaises(cros_build_lib.DieSystemExit):
+ impl(self._get_request(), None, self.api_config)
+
+ def test_not_set(self):
+ """Test validator fails when given unset values."""
+
+ @validate.require_any('id', 'name')
+ def impl(_input_proto, _output_proto, _config):
+ self.fail('Incorrectly allowed method to execute.')
+
+ with self.assertRaises(cros_build_lib.DieSystemExit):
+ impl(self._get_request(flag=True), None, self.api_config)
+
+ def test_set(self):
+ """Test validator passes when given set values."""
+
+ @validate.require_any('id', 'name')
+ def impl(_input_proto, _output_proto, _config):
+ pass
+
+ impl(self._get_request(1), None, self.api_config)
+ impl(self._get_request(name='foo'), None, self.api_config)
+ impl(self._get_request(1, name='foo'), None, self.api_config)
+
+
class RequireEachTest(cros_test_lib.TestCase, api_config.ApiConfigMixin):
"""Tests for the require_each validator."""
diff --git a/cbuildbot/stages/artifact_stages.py b/cbuildbot/stages/artifact_stages.py
index bd4705f..f6ef467 100644
--- a/cbuildbot/stages/artifact_stages.py
+++ b/cbuildbot/stages/artifact_stages.py
@@ -126,6 +126,12 @@
basename = os.path.basename(image_file)
info = {'input': [basename], 'archive': 'tar', 'compress': 'xz'}
artifacts.append(info)
+ if self._run.config.guest_vm_image:
+ for image in (constants.BASE_GUEST_VM_DIR, constants.TEST_GUEST_VM_DIR):
+ artifacts.append({'input': [image + '/*'],
+ 'output': image + '.tbz',
+ 'archive': 'tar',
+ 'compress': 'bz2'})
# We add the dlc folder (if exists) as artifact so we can copy all DLC
# artifacts as is.
if os.path.isdir(os.path.join(image_dir, 'dlc')):
diff --git a/cbuildbot/stages/build_stages.py b/cbuildbot/stages/build_stages.py
index 9b465cd..1467848 100644
--- a/cbuildbot/stages/build_stages.py
+++ b/cbuildbot/stages/build_stages.py
@@ -19,6 +19,7 @@
from chromite.lib import buildbucket_lib
from chromite.lib import builder_status_lib
from chromite.lib import build_summary
+from chromite.lib import chroot_lib
from chromite.lib import constants
from chromite.lib import cros_build_lib
from chromite.lib import cros_logging as logging
@@ -30,6 +31,7 @@
from chromite.lib import portage_util
from chromite.lib import request_build
from chromite.lib.parser import package_info
+from chromite.service import image as image_service
class CleanUpStage(generic_stages.BuilderStage):
@@ -811,7 +813,9 @@
self.board_runattrs.SetParallel('images_generated', True)
- parallel.RunParallelSteps([self._BuildVMImage, self._BuildGceTarballs])
+ parallel.RunParallelSteps([self._BuildVMImage,
+ self._BuildGuestVMImage,
+ self._BuildGceTarballs])
def _BuildVMImage(self):
# Adding startswith('betty') hack to create VM image for betty-arc-r.
@@ -826,6 +830,20 @@
extra_env=self._portage_extra_env,
disk_layout=self._run.config.disk_layout)
+ def _BuildGuestVMImage(self):
+ if self._run.config.guest_vm_image:
+ chroot_path = os.path.join(self._build_root, constants.DEFAULT_CHROOT_DIR)
+ chroot = chroot_lib.Chroot(path=chroot_path)
+ for image in self._run.config.images:
+ if image in (constants.IMAGE_TYPE_BASE, constants.IMAGE_TYPE_TEST):
+ image_service.CreateGuestVm(
+ self._current_board,
+ is_test=(image == constants.IMAGE_TYPE_TEST),
+ chroot=chroot)
+ else:
+ # ignore other kinds of image
+ pass
+
def _BuildGceTarballs(self):
"""Creates .tar.gz files that can be converted to GCE images.
diff --git a/cli/cros/lint_unittest b/cli/cros/lint_unittest
deleted file mode 120000
index ef3e37b..0000000
--- a/cli/cros/lint_unittest
+++ /dev/null
@@ -1 +0,0 @@
-../../scripts/wrapper.py
\ No newline at end of file
diff --git a/cli/deploy.py b/cli/deploy.py
index 74b8d6f..f677fcf 100644
--- a/cli/deploy.py
+++ b/cli/deploy.py
@@ -936,7 +936,7 @@
if device.run(['qmerge', '--version'], check=False).returncode != 0:
cmd = ['emerge']
- cmd.extend(['--unmerge', pkg, '--root=%s' % root])
+ cmd.extend(['--unmerge', f'={pkg}', '--root=%s' % root])
try:
# Always showing the emerge output for clarity.
device.run(cmd, capture_output=False, remote_sudo=True,
@@ -1164,7 +1164,9 @@
sysroot = cros_build_lib.GetSysroot(board=board)
- if clean_binpkg:
+ # Don't bother trying to clean for unmerges. We won't use the local db,
+ # and it just slows things down for the user.
+ if emerge and clean_binpkg:
logging.notice('Cleaning outdated binary packages from %s', sysroot)
portage_util.CleanOutdatedBinaryPackages(sysroot)
@@ -1186,14 +1188,15 @@
logging.notice('No packages to %s', action_str)
return
- # Warn when the user seems to forget `cros workon start`.
- worked_on_cps = workon_helper.WorkonHelper(sysroot).ListAtoms()
- for package in listed:
- cp = package_info.SplitCPV(package).cp
- if cp not in worked_on_cps:
- logging.warning(
- 'Are you intentionally deploying unmodified packages, or did '
- 'you forget to run `cros workon --board=$BOARD start %s`?', cp)
+ # Warn when the user installs & didn't `cros workon start`.
+ if emerge:
+ worked_on_cps = workon_helper.WorkonHelper(sysroot).ListAtoms()
+ for package in listed:
+ cp = package_info.SplitCPV(package).cp
+ if cp not in worked_on_cps:
+ logging.warning(
+ 'Are you intentionally deploying unmodified packages, or did '
+ 'you forget to run `cros workon --board=$BOARD start %s`?', cp)
logging.notice('These are the packages to %s:', action_str)
for i, pkg in enumerate(pkgs):
diff --git a/config/chromeos_config.py b/config/chromeos_config.py
index 0b530e3..49fe1d4 100644
--- a/config/chromeos_config.py
+++ b/config/chromeos_config.py
@@ -276,6 +276,7 @@
upload_hw_test_artifacts=False,
upload_stripped_packages=['sys-kernel/*kernel*'],
image_test=False,
+ guest_vm_image=True,
images=['base', 'test'],
packages=['virtual/target-os',
'virtual/target-os-dev',
@@ -1710,7 +1711,7 @@
WEEKLY = 'with 168h interval' # 1 week interval
MONTHLY = 'with 720h interval' # 30 day interval
# Override these template variables via kwargs.
- CR50 = {'sign_types': ['cr50_firmware']}
+ GSC = {'sign_types': ['gsc_firmware']}
firmware_branch_builders = [
(MONTHLY, 'firmware-monroe-4921.B', ['monroe'], {}),
(MONTHLY, 'firmware-enguarde-5216.201.B', ['enguarde'], {}),
@@ -1720,9 +1721,9 @@
(MONTHLY, 'firmware-gnawty-5216.239.B', ['gnawty'], {}),
(MONTHLY, 'firmware-winky-5216.265.B', ['winky'], {}),
(MONTHLY, 'firmware-candy-5216.310.B', ['candy'], {}),
- (MONTHLY, 'firmware-cr50-9308.B', ['reef'], CR50),
- (MONTHLY, 'firmware-cr50-guc-factory-9308.26.B', ['reef'], CR50),
- (MONTHLY, 'firmware-cr50-mp-release-9308.87.B', ['reef'], CR50),
+ (MONTHLY, 'firmware-cr50-9308.B', ['reef'], GSC),
+ (MONTHLY, 'firmware-cr50-guc-factory-9308.26.B', ['reef'], GSC),
+ (MONTHLY, 'firmware-cr50-mp-release-9308.87.B', ['reef'], GSC),
(MONTHLY, 'firmware-banjo-5216.334.B', ['banjo'], {}),
(MONTHLY, 'firmware-orco-5216.362.B', ['orco'], {}),
(MONTHLY, 'firmware-sumo-5216.382.B', ['sumo'], {}),
@@ -2392,6 +2393,19 @@
'hw_tests_disabled_bug': 'http://crbug.com/1091053',
},
+ # No hw_tests for eve-kernelnext and eve-arc-r. See crbug.com/1161335
+ 'eve-kernelnext-release': {
+ 'hw_tests': [],
+ 'hw_tests_override': [],
+ 'hw_tests_disabled_bug': 'http://crbug.com/1161335',
+ },
+
+ 'eve-arc-r-release': {
+ 'hw_tests': [],
+ 'hw_tests_override': [],
+ 'hw_tests_disabled_bug': 'http://crbug.com/1161335',
+ },
+
# No hw_tests for eve-kvm. See crbug.com/1085769.
'eve-kvm-release': {
'hw_tests': [],
@@ -2634,6 +2648,8 @@
# Some Unibuild boards need to have hardware tests disabled. This means
# disabling it at the model level as well.
_unibuild_disabled_hw_tests = frozenset([
+ 'eve-kernelnext-release', # crbug.com/1161335
+ 'eve-arc-r-release', # crbug.com/1161335
])
for config_name in _unibuild_disabled_hw_tests:
@@ -3098,7 +3114,7 @@
('release-R87-13505.B',
['grunt-android-pi-pre-flight-branch'],
- 'chell-chrome-no-afdo-uprev-pre-flight-branch',
+ '',
['orderfile-generate-toolchain',
'orderfile-verify-toolchain'],
['benchmark-afdo-generate',
diff --git a/config/chromeos_config_boards.py b/config/chromeos_config_boards.py
index d2afe41..6133941 100644
--- a/config/chromeos_config_boards.py
+++ b/config/chromeos_config_boards.py
@@ -32,6 +32,7 @@
'nyan_big',
'nyan_blaze',
'oak',
+ 'tael',
'veyron_jaq',
'veyron_jerry',
'veyron_mighty',
@@ -47,7 +48,6 @@
'arm-generic',
'arm64-generic',
'arm64-llvmpipe',
- 'tael',
])
x86_internal_release_boards = frozenset([
@@ -64,13 +64,13 @@
'poppy',
'samus-kernelnext',
'sludge',
+ 'tatl',
'wristpin',
])
x86_external_boards = frozenset([
'amd64-generic',
'moblab-generic-vm',
- 'tatl',
'x32-generic',
])
@@ -163,6 +163,9 @@
builder_incompatible_binaries_boards = frozenset([
'grunt',
'grunt-arc-r',
+ 'guybrush',
+ 'majolica',
+ 'mancomb',
'zork',
'zork-borealis',
])
diff --git a/config/config_dump.json b/config/config_dump.json
index 3d9cc6f..1ea6f53 100644
--- a/config/config_dump.json
+++ b/config/config_dump.json
@@ -57,6 +57,7 @@
"goma_client_type": null,
"grouped": false,
"gs_path": "default",
+ "guest_vm_image": false,
"health_alert_recipients": [],
"health_threshold": 0,
"hw_tests": [],
@@ -987,7 +988,8 @@
],
"important": false,
"models": [
- "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"ambassador\",\n \"name\": \"ambassador\",\n \"test_suites\": []\n}"
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"ambassador\",\n \"name\": \"ambassador\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"ambassador\",\n \"name\": \"genesis\",\n \"test_suites\": []\n}"
],
"vm_tests": [],
"vm_tests_override": null
@@ -1011,7 +1013,8 @@
"hw_tests_override": null,
"luci_builder": "Try",
"models": [
- "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"ambassador\",\n \"name\": \"ambassador\",\n \"test_suites\": []\n}"
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"ambassador\",\n \"name\": \"ambassador\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"ambassador\",\n \"name\": \"genesis\",\n \"test_suites\": []\n}"
],
"paygen": false,
"push_image": false,
@@ -4613,6 +4616,140 @@
"{\n \"max_retries\": 5,\n \"retry\": false,\n \"test_suite\": \"vmtest-informational4\",\n \"test_type\": \"vm_suite\",\n \"timeout\": 43200,\n \"use_ctest\": true,\n \"warn_only\": true\n}"
]
},
+ "bob-arc64-full": {
+ "_template": "full",
+ "boards": [
+ "bob-arc64"
+ ],
+ "manifest_branch": "main",
+ "prebuilts": "public",
+ "run_cpeexport": true,
+ "useflags": [
+ "-chrome_internal"
+ ],
+ "vm_tests": []
+ },
+ "bob-arc64-full-tryjob": {
+ "_template": "full",
+ "boards": [
+ "bob-arc64"
+ ],
+ "debug": true,
+ "display_label": "tryjob",
+ "hw_tests": [
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-inline\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-arc\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-informational\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-installer\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-perbuild\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}"
+ ],
+ "hw_tests_override": null,
+ "luci_builder": "Try",
+ "manifest_branch": "main",
+ "prebuilts": "public",
+ "run_cpeexport": true,
+ "useflags": [
+ "-chrome_internal"
+ ],
+ "vm_tests": []
+ },
+ "bob-arc64-llvm-next-toolchain": {
+ "_template": "llvm_next_toolchain",
+ "boards": [
+ "bob-arc64"
+ ]
+ },
+ "bob-arc64-llvm-next-toolchain-tryjob": {
+ "_template": "llvm_next_toolchain",
+ "boards": [
+ "bob-arc64"
+ ],
+ "debug": true,
+ "display_label": "tryjob",
+ "hw_tests_override": null,
+ "luci_builder": "Try"
+ },
+ "bob-arc64-llvm-toolchain": {
+ "_template": "llvm_toolchain",
+ "boards": [
+ "bob-arc64"
+ ]
+ },
+ "bob-arc64-llvm-toolchain-tryjob": {
+ "_template": "llvm_toolchain",
+ "boards": [
+ "bob-arc64"
+ ],
+ "debug": true,
+ "display_label": "tryjob",
+ "hw_tests_override": null,
+ "luci_builder": "Try"
+ },
+ "bob-arc64-payloads": {
+ "_template": "payloads",
+ "boards": [
+ "bob-arc64"
+ ]
+ },
+ "bob-arc64-payloads-tryjob": {
+ "_template": "payloads",
+ "boards": [
+ "bob-arc64"
+ ],
+ "debug": true,
+ "hw_tests_override": null,
+ "luci_builder": "Try"
+ },
+ "bob-arc64-release": {
+ "_template": "release",
+ "boards": [
+ "bob-arc64"
+ ],
+ "important": false,
+ "vm_tests": [],
+ "vm_tests_override": null
+ },
+ "bob-arc64-release-tryjob": {
+ "_template": "release",
+ "boards": [
+ "bob-arc64"
+ ],
+ "debug": true,
+ "display_label": "tryjob",
+ "hw_tests": [
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-inline\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-arc\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-informational\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-installer\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-perbuild\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}"
+ ],
+ "hw_tests_override": null,
+ "luci_builder": "Try",
+ "paygen": false,
+ "push_image": false,
+ "suite_scheduling": false,
+ "vm_tests": [],
+ "vm_tests_override": null
+ },
+ "bob-arc64-unittest-stress": {
+ "_template": "unittest_stress",
+ "boards": [
+ "bob-arc64"
+ ],
+ "hw_tests_override": null,
+ "internal": true,
+ "luci_builder": "Try",
+ "manifest": "official.xml",
+ "manifest_repo_url": "https://chrome-internal-review.googlesource.com/chromeos/manifest-internal",
+ "overlays": "both",
+ "useflags": [
+ "chrome_internal"
+ ]
+ },
"bob-factory-gru-9017.B-factorybranch": {
"_template": "factorybranch",
"boards": [
@@ -8667,13 +8804,15 @@
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"boten\",\n \"test_suites\": []\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"boten_legacy\",\n \"test_suites\": []\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"botenflex\",\n \"test_suites\": []\n}",
- "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"drawcia\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"drawcia\",\n \"test_suites\": [\n \"sanity\",\n \"bvt-inline\",\n \"bvt-tast-cq\",\n \"bvt-installer\",\n \"bvt-arc\",\n \"au\",\n \"bvt-cq\",\n \"bvt-perbuild\",\n \"bvt-tast-informational\"\n ]\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"drawcia_legacy\",\n \"test_suites\": []\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"drawlat\",\n \"test_suites\": [\n \"sanity\",\n \"bvt-inline\",\n \"bvt-tast-cq\",\n \"bvt-installer\",\n \"bvt-arc\",\n \"au\",\n \"bvt-cq\",\n \"bvt-perbuild\",\n \"bvt-tast-informational\"\n ]\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"drawman\",\n \"test_suites\": [\n \"sanity\",\n \"bvt-inline\",\n \"bvt-tast-cq\",\n \"bvt-installer\",\n \"bvt-arc\",\n \"au\",\n \"bvt-cq\",\n \"bvt-perbuild\",\n \"bvt-tast-informational\"\n ]\n}",
- "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"madoo\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"lantis\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"madoo\",\n \"test_suites\": [\n \"sanity\",\n \"bvt-inline\",\n \"bvt-tast-cq\",\n \"bvt-installer\",\n \"bvt-arc\",\n \"au\",\n \"bvt-cq\",\n \"bvt-perbuild\",\n \"bvt-tast-informational\"\n ]\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"maglia\",\n \"test_suites\": []\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"magolor\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"metaknight\",\n \"test_suites\": [\n \"sanity\",\n \"bvt-inline\",\n \"bvt-tast-cq\",\n \"bvt-installer\",\n \"bvt-arc\",\n \"au\",\n \"bvt-cq\",\n \"bvt-perbuild\",\n \"bvt-tast-informational\"\n ]\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"waddledee\",\n \"test_suites\": []\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"waddledoo\",\n \"test_suites\": []\n}"
],
@@ -8709,13 +8848,15 @@
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"boten\",\n \"test_suites\": []\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"boten_legacy\",\n \"test_suites\": []\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"botenflex\",\n \"test_suites\": []\n}",
- "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"drawcia\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"drawcia\",\n \"test_suites\": [\n \"sanity\",\n \"bvt-inline\",\n \"bvt-tast-cq\",\n \"bvt-installer\",\n \"bvt-arc\",\n \"au\",\n \"bvt-cq\",\n \"bvt-perbuild\",\n \"bvt-tast-informational\"\n ]\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"drawcia_legacy\",\n \"test_suites\": []\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"drawlat\",\n \"test_suites\": [\n \"sanity\",\n \"bvt-inline\",\n \"bvt-tast-cq\",\n \"bvt-installer\",\n \"bvt-arc\",\n \"au\",\n \"bvt-cq\",\n \"bvt-perbuild\",\n \"bvt-tast-informational\"\n ]\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"drawman\",\n \"test_suites\": [\n \"sanity\",\n \"bvt-inline\",\n \"bvt-tast-cq\",\n \"bvt-installer\",\n \"bvt-arc\",\n \"au\",\n \"bvt-cq\",\n \"bvt-perbuild\",\n \"bvt-tast-informational\"\n ]\n}",
- "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"madoo\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"lantis\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"madoo\",\n \"test_suites\": [\n \"sanity\",\n \"bvt-inline\",\n \"bvt-tast-cq\",\n \"bvt-installer\",\n \"bvt-arc\",\n \"au\",\n \"bvt-cq\",\n \"bvt-perbuild\",\n \"bvt-tast-informational\"\n ]\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"maglia\",\n \"test_suites\": []\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"magolor\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"metaknight\",\n \"test_suites\": [\n \"sanity\",\n \"bvt-inline\",\n \"bvt-tast-cq\",\n \"bvt-installer\",\n \"bvt-arc\",\n \"au\",\n \"bvt-cq\",\n \"bvt-perbuild\",\n \"bvt-tast-informational\"\n ]\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"waddledee\",\n \"test_suites\": []\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"dedede\",\n \"name\": \"waddledoo\",\n \"test_suites\": []\n}"
],
@@ -9245,6 +9386,146 @@
"chrome_internal"
]
},
+ "elm-arc64-full": {
+ "_template": "full",
+ "boards": [
+ "elm-arc64"
+ ],
+ "manifest_branch": "main",
+ "prebuilts": "public",
+ "run_cpeexport": true,
+ "useflags": [
+ "-chrome_internal"
+ ],
+ "vm_tests": []
+ },
+ "elm-arc64-full-tryjob": {
+ "_template": "full",
+ "boards": [
+ "elm-arc64"
+ ],
+ "debug": true,
+ "display_label": "tryjob",
+ "hw_tests": [
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-inline\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-arc\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-informational\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-installer\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-perbuild\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}"
+ ],
+ "hw_tests_override": null,
+ "luci_builder": "Try",
+ "manifest_branch": "main",
+ "prebuilts": "public",
+ "run_cpeexport": true,
+ "useflags": [
+ "-chrome_internal"
+ ],
+ "vm_tests": []
+ },
+ "elm-arc64-llvm-next-toolchain": {
+ "_template": "llvm_next_toolchain",
+ "boards": [
+ "elm-arc64"
+ ]
+ },
+ "elm-arc64-llvm-next-toolchain-tryjob": {
+ "_template": "llvm_next_toolchain",
+ "boards": [
+ "elm-arc64"
+ ],
+ "debug": true,
+ "display_label": "tryjob",
+ "hw_tests_override": null,
+ "luci_builder": "Try"
+ },
+ "elm-arc64-llvm-toolchain": {
+ "_template": "llvm_toolchain",
+ "boards": [
+ "elm-arc64"
+ ]
+ },
+ "elm-arc64-llvm-toolchain-tryjob": {
+ "_template": "llvm_toolchain",
+ "boards": [
+ "elm-arc64"
+ ],
+ "debug": true,
+ "display_label": "tryjob",
+ "hw_tests_override": null,
+ "luci_builder": "Try"
+ },
+ "elm-arc64-payloads": {
+ "_template": "payloads",
+ "boards": [
+ "elm-arc64"
+ ]
+ },
+ "elm-arc64-payloads-tryjob": {
+ "_template": "payloads",
+ "boards": [
+ "elm-arc64"
+ ],
+ "debug": true,
+ "hw_tests_override": null,
+ "luci_builder": "Try"
+ },
+ "elm-arc64-release": {
+ "_template": "release",
+ "boards": [
+ "elm-arc64"
+ ],
+ "important": false,
+ "models": [
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"elm-arc64\",\n \"name\": \"elm\",\n \"test_suites\": []\n}"
+ ],
+ "vm_tests": [],
+ "vm_tests_override": null
+ },
+ "elm-arc64-release-tryjob": {
+ "_template": "release",
+ "boards": [
+ "elm-arc64"
+ ],
+ "debug": true,
+ "display_label": "tryjob",
+ "hw_tests": [
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-inline\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-arc\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-informational\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-installer\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-perbuild\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}"
+ ],
+ "hw_tests_override": null,
+ "luci_builder": "Try",
+ "models": [
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"elm-arc64\",\n \"name\": \"elm\",\n \"test_suites\": []\n}"
+ ],
+ "paygen": false,
+ "push_image": false,
+ "suite_scheduling": false,
+ "vm_tests": [],
+ "vm_tests_override": null
+ },
+ "elm-arc64-unittest-stress": {
+ "_template": "unittest_stress",
+ "boards": [
+ "elm-arc64"
+ ],
+ "hw_tests_override": null,
+ "internal": true,
+ "luci_builder": "Try",
+ "manifest": "official.xml",
+ "manifest_repo_url": "https://chrome-internal-review.googlesource.com/chromeos/manifest-internal",
+ "overlays": "both",
+ "useflags": [
+ "chrome_internal"
+ ]
+ },
"elm-factory-oak-8182.B-factorybranch": {
"_template": "factorybranch",
"boards": [
@@ -10010,9 +10291,12 @@
"boards": [
"eve-arc-r"
],
+ "hw_tests": [],
+ "hw_tests_disabled_bug": "http://crbug.com/1161335",
+ "hw_tests_override": [],
"important": false,
"models": [
- "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"eve\",\n \"name\": \"eve\",\n \"test_suites\": [\n \"sanity\",\n \"bvt-inline\",\n \"bvt-tast-cq\",\n \"bvt-installer\",\n \"bvt-arc\",\n \"au\",\n \"bvt-cq\",\n \"bvt-perbuild\",\n \"bvt-tast-informational\"\n ]\n}"
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"eve\",\n \"name\": \"eve\",\n \"test_suites\": []\n}"
],
"vm_tests": [],
"vm_tests_override": null
@@ -10024,19 +10308,12 @@
],
"debug": true,
"display_label": "tryjob",
- "hw_tests": [
- "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-inline\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
- "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-arc\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
- "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
- "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-informational\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
- "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-installer\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
- "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
- "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-perbuild\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}"
- ],
+ "hw_tests": [],
+ "hw_tests_disabled_bug": "http://crbug.com/1161335",
"hw_tests_override": null,
"luci_builder": "Try",
"models": [
- "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"eve\",\n \"name\": \"eve\",\n \"test_suites\": [\n \"sanity\",\n \"bvt-inline\",\n \"bvt-tast-cq\",\n \"bvt-installer\",\n \"bvt-arc\",\n \"au\",\n \"bvt-cq\",\n \"bvt-perbuild\",\n \"bvt-tast-informational\"\n ]\n}"
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"eve\",\n \"name\": \"eve\",\n \"test_suites\": []\n}"
],
"paygen": false,
"push_image": false,
@@ -10491,6 +10768,9 @@
"boards": [
"eve-kernelnext"
],
+ "hw_tests": [],
+ "hw_tests_disabled_bug": "http://crbug.com/1161335",
+ "hw_tests_override": [],
"important": false,
"models": [
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"eve\",\n \"name\": \"eve\",\n \"test_suites\": []\n}"
@@ -10505,15 +10785,8 @@
],
"debug": true,
"display_label": "tryjob",
- "hw_tests": [
- "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-inline\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
- "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-arc\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
- "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
- "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-informational\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
- "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-installer\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
- "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
- "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-perbuild\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}"
- ],
+ "hw_tests": [],
+ "hw_tests_disabled_bug": "http://crbug.com/1161335",
"hw_tests_override": null,
"luci_builder": "Try",
"models": [
@@ -10799,7 +11072,7 @@
"eve"
],
"models": [
- "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"eve\",\n \"name\": \"eve\",\n \"test_suites\": [\n \"sanity\",\n \"bvt-inline\",\n \"bvt-tast-cq\",\n \"bvt-installer\",\n \"bvt-arc\",\n \"au\",\n \"bvt-cq\",\n \"bvt-perbuild\",\n \"bvt-tast-informational\"\n ]\n}"
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"eve\",\n \"name\": \"eve\",\n \"test_suites\": []\n}"
],
"vm_tests": [],
"vm_tests_override": null
@@ -10810,7 +11083,7 @@
"eve"
],
"models": [
- "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"eve\",\n \"name\": \"eve\",\n \"test_suites\": [\n \"sanity\",\n \"bvt-inline\",\n \"bvt-tast-cq\",\n \"bvt-installer\",\n \"bvt-arc\",\n \"au\",\n \"bvt-cq\",\n \"bvt-perbuild\",\n \"bvt-tast-informational\"\n ]\n}"
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"eve\",\n \"name\": \"eve\",\n \"test_suites\": []\n}"
]
},
"eve-release-basic-tryjob": {
@@ -10823,7 +11096,7 @@
"hw_tests_override": null,
"luci_builder": "Try",
"models": [
- "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"eve\",\n \"name\": \"eve\",\n \"test_suites\": [\n \"sanity\",\n \"bvt-inline\",\n \"bvt-tast-cq\",\n \"bvt-installer\",\n \"bvt-arc\",\n \"au\",\n \"bvt-cq\",\n \"bvt-perbuild\",\n \"bvt-tast-informational\"\n ]\n}"
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"eve\",\n \"name\": \"eve\",\n \"test_suites\": []\n}"
],
"notification_configs": []
},
@@ -10846,7 +11119,7 @@
"hw_tests_override": null,
"luci_builder": "Try",
"models": [
- "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"eve\",\n \"name\": \"eve\",\n \"test_suites\": [\n \"sanity\",\n \"bvt-inline\",\n \"bvt-tast-cq\",\n \"bvt-installer\",\n \"bvt-arc\",\n \"au\",\n \"bvt-cq\",\n \"bvt-perbuild\",\n \"bvt-tast-informational\"\n ]\n}"
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"eve\",\n \"name\": \"eve\",\n \"test_suites\": []\n}"
],
"paygen": false,
"push_image": false,
@@ -12595,7 +12868,7 @@
],
"schedule": "with 720h interval",
"sign_types": [
- "cr50_firmware"
+ "gsc_firmware"
],
"workspace_branch": "firmware-cr50-9308.B"
},
@@ -12609,7 +12882,7 @@
"luci_builder": "Try",
"push_image": false,
"sign_types": [
- "cr50_firmware"
+ "gsc_firmware"
],
"suite_scheduling": false,
"workspace_branch": "firmware-cr50-9308.B"
@@ -12621,7 +12894,7 @@
],
"schedule": "with 720h interval",
"sign_types": [
- "cr50_firmware"
+ "gsc_firmware"
],
"workspace_branch": "firmware-cr50-guc-factory-9308.26.B"
},
@@ -12635,7 +12908,7 @@
"luci_builder": "Try",
"push_image": false,
"sign_types": [
- "cr50_firmware"
+ "gsc_firmware"
],
"suite_scheduling": false,
"workspace_branch": "firmware-cr50-guc-factory-9308.26.B"
@@ -12647,7 +12920,7 @@
],
"schedule": "with 720h interval",
"sign_types": [
- "cr50_firmware"
+ "gsc_firmware"
],
"workspace_branch": "firmware-cr50-mp-release-9308.87.B"
},
@@ -12661,7 +12934,7 @@
"luci_builder": "Try",
"push_image": false,
"sign_types": [
- "cr50_firmware"
+ "gsc_firmware"
],
"suite_scheduling": false,
"workspace_branch": "firmware-cr50-mp-release-9308.87.B"
@@ -15969,6 +16242,166 @@
"chrome_internal"
]
},
+ "grunt-arc64-full": {
+ "_template": "full",
+ "boards": [
+ "grunt-arc64"
+ ],
+ "manifest_branch": "main",
+ "prebuilts": "public",
+ "run_cpeexport": true,
+ "useflags": [
+ "-chrome_internal"
+ ],
+ "vm_tests": []
+ },
+ "grunt-arc64-full-tryjob": {
+ "_template": "full",
+ "boards": [
+ "grunt-arc64"
+ ],
+ "debug": true,
+ "display_label": "tryjob",
+ "hw_tests": [
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-inline\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-arc\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-informational\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-installer\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-perbuild\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}"
+ ],
+ "hw_tests_override": null,
+ "luci_builder": "Try",
+ "manifest_branch": "main",
+ "prebuilts": "public",
+ "run_cpeexport": true,
+ "useflags": [
+ "-chrome_internal"
+ ],
+ "vm_tests": []
+ },
+ "grunt-arc64-llvm-next-toolchain": {
+ "_template": "llvm_next_toolchain",
+ "boards": [
+ "grunt-arc64"
+ ]
+ },
+ "grunt-arc64-llvm-next-toolchain-tryjob": {
+ "_template": "llvm_next_toolchain",
+ "boards": [
+ "grunt-arc64"
+ ],
+ "debug": true,
+ "display_label": "tryjob",
+ "hw_tests_override": null,
+ "luci_builder": "Try"
+ },
+ "grunt-arc64-llvm-toolchain": {
+ "_template": "llvm_toolchain",
+ "boards": [
+ "grunt-arc64"
+ ]
+ },
+ "grunt-arc64-llvm-toolchain-tryjob": {
+ "_template": "llvm_toolchain",
+ "boards": [
+ "grunt-arc64"
+ ],
+ "debug": true,
+ "display_label": "tryjob",
+ "hw_tests_override": null,
+ "luci_builder": "Try"
+ },
+ "grunt-arc64-payloads": {
+ "_template": "payloads",
+ "boards": [
+ "grunt-arc64"
+ ]
+ },
+ "grunt-arc64-payloads-tryjob": {
+ "_template": "payloads",
+ "boards": [
+ "grunt-arc64"
+ ],
+ "debug": true,
+ "hw_tests_override": null,
+ "luci_builder": "Try"
+ },
+ "grunt-arc64-release": {
+ "_template": "release",
+ "boards": [
+ "grunt-arc64"
+ ],
+ "important": false,
+ "models": [
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"grunt-arc64\",\n \"name\": \"aleena\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"grunt-arc64\",\n \"name\": \"barla\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"grunt-arc64\",\n \"name\": \"careena\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"grunt-arc64\",\n \"name\": \"grunt\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"grunt-arc64\",\n \"name\": \"kasumi\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"grunt-arc64\",\n \"name\": \"kasumi360\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"grunt-arc64\",\n \"name\": \"liara\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"grunt-arc64\",\n \"name\": \"nuwani\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"grunt-arc64\",\n \"name\": \"nuwani360\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"grunt-arc64\",\n \"name\": \"treeya\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"grunt-arc64\",\n \"name\": \"treeya360\",\n \"test_suites\": []\n}"
+ ],
+ "vm_tests": [],
+ "vm_tests_override": null
+ },
+ "grunt-arc64-release-tryjob": {
+ "_template": "release",
+ "boards": [
+ "grunt-arc64"
+ ],
+ "debug": true,
+ "display_label": "tryjob",
+ "hw_tests": [
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-inline\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-arc\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-informational\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-installer\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-perbuild\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}"
+ ],
+ "hw_tests_override": null,
+ "luci_builder": "Try",
+ "models": [
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"grunt-arc64\",\n \"name\": \"aleena\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"grunt-arc64\",\n \"name\": \"barla\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"grunt-arc64\",\n \"name\": \"careena\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"grunt-arc64\",\n \"name\": \"grunt\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"grunt-arc64\",\n \"name\": \"kasumi\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"grunt-arc64\",\n \"name\": \"kasumi360\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"grunt-arc64\",\n \"name\": \"liara\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"grunt-arc64\",\n \"name\": \"nuwani\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"grunt-arc64\",\n \"name\": \"nuwani360\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"grunt-arc64\",\n \"name\": \"treeya\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"grunt-arc64\",\n \"name\": \"treeya360\",\n \"test_suites\": []\n}"
+ ],
+ "paygen": false,
+ "push_image": false,
+ "suite_scheduling": false,
+ "vm_tests": [],
+ "vm_tests_override": null
+ },
+ "grunt-arc64-unittest-stress": {
+ "_template": "unittest_stress",
+ "boards": [
+ "grunt-arc64"
+ ],
+ "hw_tests_override": null,
+ "internal": true,
+ "luci_builder": "Try",
+ "manifest": "official.xml",
+ "manifest_repo_url": "https://chrome-internal-review.googlesource.com/chromeos/manifest-internal",
+ "overlays": "both",
+ "useflags": [
+ "chrome_internal"
+ ]
+ },
"grunt-factory-grunt-11164.B-factorybranch": {
"_template": "factorybranch",
"boards": [
@@ -17017,6 +17450,7 @@
"manifest_branch": "main",
"prebuilts": "public",
"run_cpeexport": true,
+ "unittests": false,
"useflags": [
"-chrome_internal"
],
@@ -17043,6 +17477,7 @@
"manifest_branch": "main",
"prebuilts": "public",
"run_cpeexport": true,
+ "unittests": false,
"useflags": [
"-chrome_internal"
],
@@ -17052,7 +17487,8 @@
"_template": "llvm_next_toolchain",
"boards": [
"guybrush"
- ]
+ ],
+ "unittests": false
},
"guybrush-llvm-next-toolchain-tryjob": {
"_template": "llvm_next_toolchain",
@@ -17062,13 +17498,15 @@
"debug": true,
"display_label": "tryjob",
"hw_tests_override": null,
- "luci_builder": "Try"
+ "luci_builder": "Try",
+ "unittests": false
},
"guybrush-llvm-toolchain": {
"_template": "llvm_toolchain",
"boards": [
"guybrush"
- ]
+ ],
+ "unittests": false
},
"guybrush-llvm-toolchain-tryjob": {
"_template": "llvm_toolchain",
@@ -17078,7 +17516,8 @@
"debug": true,
"display_label": "tryjob",
"hw_tests_override": null,
- "luci_builder": "Try"
+ "luci_builder": "Try",
+ "unittests": false
},
"guybrush-payloads": {
"_template": "payloads",
@@ -17101,6 +17540,7 @@
"guybrush"
],
"important": false,
+ "unittests": false,
"vm_tests": [],
"vm_tests_override": null
},
@@ -17125,6 +17565,7 @@
"paygen": false,
"push_image": false,
"suite_scheduling": false,
+ "unittests": false,
"vm_tests": [],
"vm_tests_override": null
},
@@ -17143,6 +17584,140 @@
"chrome_internal"
]
},
+ "hana-arc64-full": {
+ "_template": "full",
+ "boards": [
+ "hana-arc64"
+ ],
+ "manifest_branch": "main",
+ "prebuilts": "public",
+ "run_cpeexport": true,
+ "useflags": [
+ "-chrome_internal"
+ ],
+ "vm_tests": []
+ },
+ "hana-arc64-full-tryjob": {
+ "_template": "full",
+ "boards": [
+ "hana-arc64"
+ ],
+ "debug": true,
+ "display_label": "tryjob",
+ "hw_tests": [
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-inline\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-arc\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-informational\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-installer\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-perbuild\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}"
+ ],
+ "hw_tests_override": null,
+ "luci_builder": "Try",
+ "manifest_branch": "main",
+ "prebuilts": "public",
+ "run_cpeexport": true,
+ "useflags": [
+ "-chrome_internal"
+ ],
+ "vm_tests": []
+ },
+ "hana-arc64-llvm-next-toolchain": {
+ "_template": "llvm_next_toolchain",
+ "boards": [
+ "hana-arc64"
+ ]
+ },
+ "hana-arc64-llvm-next-toolchain-tryjob": {
+ "_template": "llvm_next_toolchain",
+ "boards": [
+ "hana-arc64"
+ ],
+ "debug": true,
+ "display_label": "tryjob",
+ "hw_tests_override": null,
+ "luci_builder": "Try"
+ },
+ "hana-arc64-llvm-toolchain": {
+ "_template": "llvm_toolchain",
+ "boards": [
+ "hana-arc64"
+ ]
+ },
+ "hana-arc64-llvm-toolchain-tryjob": {
+ "_template": "llvm_toolchain",
+ "boards": [
+ "hana-arc64"
+ ],
+ "debug": true,
+ "display_label": "tryjob",
+ "hw_tests_override": null,
+ "luci_builder": "Try"
+ },
+ "hana-arc64-payloads": {
+ "_template": "payloads",
+ "boards": [
+ "hana-arc64"
+ ]
+ },
+ "hana-arc64-payloads-tryjob": {
+ "_template": "payloads",
+ "boards": [
+ "hana-arc64"
+ ],
+ "debug": true,
+ "hw_tests_override": null,
+ "luci_builder": "Try"
+ },
+ "hana-arc64-release": {
+ "_template": "release",
+ "boards": [
+ "hana-arc64"
+ ],
+ "important": false,
+ "vm_tests": [],
+ "vm_tests_override": null
+ },
+ "hana-arc64-release-tryjob": {
+ "_template": "release",
+ "boards": [
+ "hana-arc64"
+ ],
+ "debug": true,
+ "display_label": "tryjob",
+ "hw_tests": [
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-inline\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-arc\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-informational\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-installer\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-perbuild\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}"
+ ],
+ "hw_tests_override": null,
+ "luci_builder": "Try",
+ "paygen": false,
+ "push_image": false,
+ "suite_scheduling": false,
+ "vm_tests": [],
+ "vm_tests_override": null
+ },
+ "hana-arc64-unittest-stress": {
+ "_template": "unittest_stress",
+ "boards": [
+ "hana-arc64"
+ ],
+ "hw_tests_override": null,
+ "internal": true,
+ "luci_builder": "Try",
+ "manifest": "official.xml",
+ "manifest_repo_url": "https://chrome-internal-review.googlesource.com/chromeos/manifest-internal",
+ "overlays": "both",
+ "useflags": [
+ "chrome_internal"
+ ]
+ },
"hana-factory-oak-8182.B-factorybranch": {
"_template": "factorybranch",
"boards": [
@@ -18995,6 +19570,168 @@
"chrome_internal"
]
},
+ "jacuzzi-arc64-full": {
+ "_template": "full",
+ "boards": [
+ "jacuzzi-arc64"
+ ],
+ "manifest_branch": "main",
+ "prebuilts": "public",
+ "run_cpeexport": true,
+ "useflags": [
+ "-chrome_internal"
+ ],
+ "vm_tests": []
+ },
+ "jacuzzi-arc64-full-tryjob": {
+ "_template": "full",
+ "boards": [
+ "jacuzzi-arc64"
+ ],
+ "debug": true,
+ "display_label": "tryjob",
+ "hw_tests": [
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-inline\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-arc\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-informational\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-installer\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-perbuild\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}"
+ ],
+ "hw_tests_override": null,
+ "luci_builder": "Try",
+ "manifest_branch": "main",
+ "prebuilts": "public",
+ "run_cpeexport": true,
+ "useflags": [
+ "-chrome_internal"
+ ],
+ "vm_tests": []
+ },
+ "jacuzzi-arc64-llvm-next-toolchain": {
+ "_template": "llvm_next_toolchain",
+ "boards": [
+ "jacuzzi-arc64"
+ ]
+ },
+ "jacuzzi-arc64-llvm-next-toolchain-tryjob": {
+ "_template": "llvm_next_toolchain",
+ "boards": [
+ "jacuzzi-arc64"
+ ],
+ "debug": true,
+ "display_label": "tryjob",
+ "hw_tests_override": null,
+ "luci_builder": "Try"
+ },
+ "jacuzzi-arc64-llvm-toolchain": {
+ "_template": "llvm_toolchain",
+ "boards": [
+ "jacuzzi-arc64"
+ ]
+ },
+ "jacuzzi-arc64-llvm-toolchain-tryjob": {
+ "_template": "llvm_toolchain",
+ "boards": [
+ "jacuzzi-arc64"
+ ],
+ "debug": true,
+ "display_label": "tryjob",
+ "hw_tests_override": null,
+ "luci_builder": "Try"
+ },
+ "jacuzzi-arc64-payloads": {
+ "_template": "payloads",
+ "boards": [
+ "jacuzzi-arc64"
+ ]
+ },
+ "jacuzzi-arc64-payloads-tryjob": {
+ "_template": "payloads",
+ "boards": [
+ "jacuzzi-arc64"
+ ],
+ "debug": true,
+ "hw_tests_override": null,
+ "luci_builder": "Try"
+ },
+ "jacuzzi-arc64-release": {
+ "_template": "release",
+ "boards": [
+ "jacuzzi-arc64"
+ ],
+ "important": false,
+ "models": [
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"jacuzzi-arc64\",\n \"name\": \"burnet\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"jacuzzi-arc64\",\n \"name\": \"cerise\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"jacuzzi-arc64\",\n \"name\": \"damu\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"jacuzzi-arc64\",\n \"name\": \"esche\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"jacuzzi-arc64\",\n \"name\": \"fennel\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"jacuzzi-arc64\",\n \"name\": \"fennel14\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"jacuzzi-arc64\",\n \"name\": \"jacuzzi\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"jacuzzi-arc64\",\n \"name\": \"juniper\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"jacuzzi-arc64\",\n \"name\": \"kappa\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"jacuzzi-arc64\",\n \"name\": \"kenzo\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"jacuzzi-arc64\",\n \"name\": \"stern\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"jacuzzi-arc64\",\n \"name\": \"willow\",\n \"test_suites\": []\n}"
+ ],
+ "vm_tests": [],
+ "vm_tests_override": null
+ },
+ "jacuzzi-arc64-release-tryjob": {
+ "_template": "release",
+ "boards": [
+ "jacuzzi-arc64"
+ ],
+ "debug": true,
+ "display_label": "tryjob",
+ "hw_tests": [
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-inline\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-arc\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-informational\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-installer\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-perbuild\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}"
+ ],
+ "hw_tests_override": null,
+ "luci_builder": "Try",
+ "models": [
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"jacuzzi-arc64\",\n \"name\": \"burnet\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"jacuzzi-arc64\",\n \"name\": \"cerise\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"jacuzzi-arc64\",\n \"name\": \"damu\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"jacuzzi-arc64\",\n \"name\": \"esche\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"jacuzzi-arc64\",\n \"name\": \"fennel\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"jacuzzi-arc64\",\n \"name\": \"fennel14\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"jacuzzi-arc64\",\n \"name\": \"jacuzzi\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"jacuzzi-arc64\",\n \"name\": \"juniper\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"jacuzzi-arc64\",\n \"name\": \"kappa\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"jacuzzi-arc64\",\n \"name\": \"kenzo\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"jacuzzi-arc64\",\n \"name\": \"stern\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"jacuzzi-arc64\",\n \"name\": \"willow\",\n \"test_suites\": []\n}"
+ ],
+ "paygen": false,
+ "push_image": false,
+ "suite_scheduling": false,
+ "vm_tests": [],
+ "vm_tests_override": null
+ },
+ "jacuzzi-arc64-unittest-stress": {
+ "_template": "unittest_stress",
+ "boards": [
+ "jacuzzi-arc64"
+ ],
+ "hw_tests_override": null,
+ "internal": true,
+ "luci_builder": "Try",
+ "manifest": "official.xml",
+ "manifest_repo_url": "https://chrome-internal-review.googlesource.com/chromeos/manifest-internal",
+ "overlays": "both",
+ "useflags": [
+ "chrome_internal"
+ ]
+ },
"jacuzzi-factory-kukui-12587.B-factorybranch": {
"_template": "factorybranch",
"boards": [
@@ -22500,6 +23237,7 @@
"manifest_branch": "main",
"prebuilts": "public",
"run_cpeexport": true,
+ "unittests": false,
"useflags": [
"-chrome_internal"
],
@@ -22526,6 +23264,7 @@
"manifest_branch": "main",
"prebuilts": "public",
"run_cpeexport": true,
+ "unittests": false,
"useflags": [
"-chrome_internal"
],
@@ -22535,7 +23274,8 @@
"_template": "llvm_next_toolchain",
"boards": [
"majolica"
- ]
+ ],
+ "unittests": false
},
"majolica-llvm-next-toolchain-tryjob": {
"_template": "llvm_next_toolchain",
@@ -22545,13 +23285,15 @@
"debug": true,
"display_label": "tryjob",
"hw_tests_override": null,
- "luci_builder": "Try"
+ "luci_builder": "Try",
+ "unittests": false
},
"majolica-llvm-toolchain": {
"_template": "llvm_toolchain",
"boards": [
"majolica"
- ]
+ ],
+ "unittests": false
},
"majolica-llvm-toolchain-tryjob": {
"_template": "llvm_toolchain",
@@ -22561,7 +23303,8 @@
"debug": true,
"display_label": "tryjob",
"hw_tests_override": null,
- "luci_builder": "Try"
+ "luci_builder": "Try",
+ "unittests": false
},
"majolica-payloads": {
"_template": "payloads",
@@ -22583,7 +23326,7 @@
"boards": [
"majolica"
],
- "important": false,
+ "unittests": false,
"vm_tests": [],
"vm_tests_override": null
},
@@ -22608,6 +23351,7 @@
"paygen": false,
"push_image": false,
"suite_scheduling": false,
+ "unittests": false,
"vm_tests": [],
"vm_tests_override": null
},
@@ -22634,6 +23378,7 @@
"manifest_branch": "main",
"prebuilts": "public",
"run_cpeexport": true,
+ "unittests": false,
"useflags": [
"-chrome_internal"
],
@@ -22660,6 +23405,7 @@
"manifest_branch": "main",
"prebuilts": "public",
"run_cpeexport": true,
+ "unittests": false,
"useflags": [
"-chrome_internal"
],
@@ -22669,7 +23415,8 @@
"_template": "llvm_next_toolchain",
"boards": [
"mancomb"
- ]
+ ],
+ "unittests": false
},
"mancomb-llvm-next-toolchain-tryjob": {
"_template": "llvm_next_toolchain",
@@ -22679,13 +23426,15 @@
"debug": true,
"display_label": "tryjob",
"hw_tests_override": null,
- "luci_builder": "Try"
+ "luci_builder": "Try",
+ "unittests": false
},
"mancomb-llvm-toolchain": {
"_template": "llvm_toolchain",
"boards": [
"mancomb"
- ]
+ ],
+ "unittests": false
},
"mancomb-llvm-toolchain-tryjob": {
"_template": "llvm_toolchain",
@@ -22695,7 +23444,8 @@
"debug": true,
"display_label": "tryjob",
"hw_tests_override": null,
- "luci_builder": "Try"
+ "luci_builder": "Try",
+ "unittests": false
},
"mancomb-payloads": {
"_template": "payloads",
@@ -22718,6 +23468,7 @@
"mancomb"
],
"important": false,
+ "unittests": false,
"vm_tests": [],
"vm_tests_override": null
},
@@ -22742,6 +23493,7 @@
"paygen": false,
"push_image": false,
"suite_scheduling": false,
+ "unittests": false,
"vm_tests": [],
"vm_tests_override": null
},
@@ -23017,6 +23769,7 @@
"betty-pi-arc-release",
"betty-qt-arc-release",
"betty-release",
+ "bob-arc64-release",
"bob-release",
"brya-release",
"bubs-release",
@@ -23040,6 +23793,7 @@
"dedede-release",
"drallion-release",
"edgar-release",
+ "elm-arc64-release",
"elm-kernelnext-release",
"elm-release",
"endeavour-release",
@@ -23063,6 +23817,7 @@
"gnawty-release",
"gonzo-release",
"grunt-arc-r-release",
+ "grunt-arc64-release",
"grunt-kernelnext-release",
"grunt-release",
"guado-cfm-release",
@@ -23070,6 +23825,7 @@
"guado-release",
"guado_labstation-release",
"guybrush-release",
+ "hana-arc64-release",
"hana-kernelnext-release",
"hana-release",
"hatch-arc-r-ack-release",
@@ -23081,6 +23837,7 @@
"hatch-kernelnext-release",
"hatch-release",
"heli-release",
+ "jacuzzi-arc64-release",
"jacuzzi-release",
"kalista-cfm-release",
"kalista-release",
@@ -23129,7 +23886,9 @@
"romer-release",
"samus-release",
"sand-release",
+ "sarien-arc64-release",
"sarien-release",
+ "scarlet-arc64-release",
"scarlet-release",
"sentry-release",
"setzer-release",
@@ -23140,6 +23899,8 @@
"strongbad-release",
"sumo-release",
"swanky-release",
+ "tael-release",
+ "tatl-release",
"terra-release",
"tidus-release",
"trogdor-release",
@@ -23232,6 +23993,7 @@
"betty-pi-arc-release-tryjob",
"betty-qt-arc-release-tryjob",
"betty-release-tryjob",
+ "bob-arc64-release-tryjob",
"bob-release-tryjob",
"brya-release-tryjob",
"bubs-release-tryjob",
@@ -23255,6 +24017,7 @@
"dedede-release-tryjob",
"drallion-release-tryjob",
"edgar-release-tryjob",
+ "elm-arc64-release-tryjob",
"elm-kernelnext-release-tryjob",
"elm-release-tryjob",
"endeavour-release-tryjob",
@@ -23278,6 +24041,7 @@
"gnawty-release-tryjob",
"gonzo-release-tryjob",
"grunt-arc-r-release-tryjob",
+ "grunt-arc64-release-tryjob",
"grunt-kernelnext-release-tryjob",
"grunt-release-tryjob",
"guado-cfm-release-tryjob",
@@ -23285,6 +24049,7 @@
"guado-release-tryjob",
"guado_labstation-release-tryjob",
"guybrush-release-tryjob",
+ "hana-arc64-release-tryjob",
"hana-kernelnext-release-tryjob",
"hana-release-tryjob",
"hatch-arc-r-ack-release-tryjob",
@@ -23296,6 +24061,7 @@
"hatch-kernelnext-release-tryjob",
"hatch-release-tryjob",
"heli-release-tryjob",
+ "jacuzzi-arc64-release-tryjob",
"jacuzzi-release-tryjob",
"kalista-cfm-release-tryjob",
"kalista-release-tryjob",
@@ -23344,7 +24110,9 @@
"romer-release-tryjob",
"samus-release-tryjob",
"sand-release-tryjob",
+ "sarien-arc64-release-tryjob",
"sarien-release-tryjob",
+ "scarlet-arc64-release-tryjob",
"scarlet-release-tryjob",
"sentry-release-tryjob",
"setzer-release-tryjob",
@@ -23355,6 +24123,8 @@
"strongbad-release-tryjob",
"sumo-release-tryjob",
"swanky-release-tryjob",
+ "tael-release-tryjob",
+ "tatl-release-tryjob",
"terra-release-tryjob",
"tidus-release-tryjob",
"trogdor-release-tryjob",
@@ -27029,7 +27799,7 @@
"puff"
],
"models": [
- "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"puff\",\n \"name\": \"dooly\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"puff\",\n \"name\": \"dooly\",\n \"test_suites\": [\n \"sanity\",\n \"bvt-inline\",\n \"bvt-tast-cq\",\n \"bvt-installer\",\n \"bvt-arc\",\n \"au\",\n \"bvt-cq\",\n \"bvt-perbuild\",\n \"bvt-tast-informational\"\n ]\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"puff\",\n \"name\": \"duffy\",\n \"test_suites\": [\n \"sanity\",\n \"bvt-inline\",\n \"bvt-tast-cq\",\n \"bvt-installer\",\n \"bvt-arc\",\n \"au\",\n \"bvt-cq\",\n \"bvt-perbuild\",\n \"bvt-tast-informational\"\n ]\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"puff\",\n \"name\": \"faffy\",\n \"test_suites\": [\n \"sanity\",\n \"bvt-inline\",\n \"bvt-tast-cq\",\n \"bvt-installer\",\n \"bvt-arc\",\n \"au\",\n \"bvt-cq\",\n \"bvt-perbuild\",\n \"bvt-tast-informational\"\n ]\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"puff\",\n \"name\": \"kaisa\",\n \"test_suites\": [\n \"sanity\",\n \"bvt-inline\",\n \"bvt-tast-cq\",\n \"bvt-installer\",\n \"bvt-arc\",\n \"au\",\n \"bvt-cq\",\n \"bvt-perbuild\",\n \"bvt-tast-informational\"\n ]\n}",
@@ -27067,7 +27837,7 @@
"hw_tests_override": null,
"luci_builder": "Try",
"models": [
- "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"puff\",\n \"name\": \"dooly\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"puff\",\n \"name\": \"dooly\",\n \"test_suites\": [\n \"sanity\",\n \"bvt-inline\",\n \"bvt-tast-cq\",\n \"bvt-installer\",\n \"bvt-arc\",\n \"au\",\n \"bvt-cq\",\n \"bvt-perbuild\",\n \"bvt-tast-informational\"\n ]\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"puff\",\n \"name\": \"duffy\",\n \"test_suites\": [\n \"sanity\",\n \"bvt-inline\",\n \"bvt-tast-cq\",\n \"bvt-installer\",\n \"bvt-arc\",\n \"au\",\n \"bvt-cq\",\n \"bvt-perbuild\",\n \"bvt-tast-informational\"\n ]\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"puff\",\n \"name\": \"faffy\",\n \"test_suites\": [\n \"sanity\",\n \"bvt-inline\",\n \"bvt-tast-cq\",\n \"bvt-installer\",\n \"bvt-arc\",\n \"au\",\n \"bvt-cq\",\n \"bvt-perbuild\",\n \"bvt-tast-informational\"\n ]\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"puff\",\n \"name\": \"kaisa\",\n \"test_suites\": [\n \"sanity\",\n \"bvt-inline\",\n \"bvt-tast-cq\",\n \"bvt-installer\",\n \"bvt-arc\",\n \"au\",\n \"bvt-cq\",\n \"bvt-perbuild\",\n \"bvt-tast-informational\"\n ]\n}",
@@ -29500,6 +30270,152 @@
"chrome_internal"
]
},
+ "sarien-arc64-full": {
+ "_template": "full",
+ "boards": [
+ "sarien-arc64"
+ ],
+ "manifest_branch": "main",
+ "prebuilts": "public",
+ "run_cpeexport": true,
+ "useflags": [
+ "-chrome_internal"
+ ],
+ "vm_tests": []
+ },
+ "sarien-arc64-full-tryjob": {
+ "_template": "full",
+ "boards": [
+ "sarien-arc64"
+ ],
+ "debug": true,
+ "display_label": "tryjob",
+ "hw_tests": [
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-inline\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-arc\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-informational\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-installer\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-perbuild\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}"
+ ],
+ "hw_tests_override": null,
+ "luci_builder": "Try",
+ "manifest_branch": "main",
+ "prebuilts": "public",
+ "run_cpeexport": true,
+ "useflags": [
+ "-chrome_internal"
+ ],
+ "vm_tests": []
+ },
+ "sarien-arc64-llvm-next-toolchain": {
+ "_template": "llvm_next_toolchain",
+ "boards": [
+ "sarien-arc64"
+ ]
+ },
+ "sarien-arc64-llvm-next-toolchain-tryjob": {
+ "_template": "llvm_next_toolchain",
+ "boards": [
+ "sarien-arc64"
+ ],
+ "debug": true,
+ "display_label": "tryjob",
+ "hw_tests_override": null,
+ "luci_builder": "Try"
+ },
+ "sarien-arc64-llvm-toolchain": {
+ "_template": "llvm_toolchain",
+ "boards": [
+ "sarien-arc64"
+ ]
+ },
+ "sarien-arc64-llvm-toolchain-tryjob": {
+ "_template": "llvm_toolchain",
+ "boards": [
+ "sarien-arc64"
+ ],
+ "debug": true,
+ "display_label": "tryjob",
+ "hw_tests_override": null,
+ "luci_builder": "Try"
+ },
+ "sarien-arc64-payloads": {
+ "_template": "payloads",
+ "boards": [
+ "sarien-arc64"
+ ]
+ },
+ "sarien-arc64-payloads-tryjob": {
+ "_template": "payloads",
+ "boards": [
+ "sarien-arc64"
+ ],
+ "debug": true,
+ "hw_tests_override": null,
+ "luci_builder": "Try"
+ },
+ "sarien-arc64-release": {
+ "_template": "release",
+ "boards": [
+ "sarien-arc64"
+ ],
+ "important": false,
+ "models": [
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"sarien-arc64\",\n \"name\": \"arcada\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"sarien-arc64\",\n \"name\": \"arcada_signed\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"sarien-arc64\",\n \"name\": \"sarien\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"sarien-arc64\",\n \"name\": \"sarien_signed\",\n \"test_suites\": []\n}"
+ ],
+ "vm_tests": [],
+ "vm_tests_override": null
+ },
+ "sarien-arc64-release-tryjob": {
+ "_template": "release",
+ "boards": [
+ "sarien-arc64"
+ ],
+ "debug": true,
+ "display_label": "tryjob",
+ "hw_tests": [
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-inline\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-arc\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-informational\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-installer\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-perbuild\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}"
+ ],
+ "hw_tests_override": null,
+ "luci_builder": "Try",
+ "models": [
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"sarien-arc64\",\n \"name\": \"arcada\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"sarien-arc64\",\n \"name\": \"arcada_signed\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"sarien-arc64\",\n \"name\": \"sarien\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"sarien-arc64\",\n \"name\": \"sarien_signed\",\n \"test_suites\": []\n}"
+ ],
+ "paygen": false,
+ "push_image": false,
+ "suite_scheduling": false,
+ "vm_tests": [],
+ "vm_tests_override": null
+ },
+ "sarien-arc64-unittest-stress": {
+ "_template": "unittest_stress",
+ "boards": [
+ "sarien-arc64"
+ ],
+ "hw_tests_override": null,
+ "internal": true,
+ "luci_builder": "Try",
+ "manifest": "official.xml",
+ "manifest_repo_url": "https://chrome-internal-review.googlesource.com/chromeos/manifest-internal",
+ "overlays": "both",
+ "useflags": [
+ "chrome_internal"
+ ]
+ },
"sarien-factory-sarien-12033.B-factorybranch": {
"_template": "factorybranch",
"boards": [
@@ -29693,6 +30609,150 @@
"chrome_internal"
]
},
+ "scarlet-arc64-full": {
+ "_template": "full",
+ "boards": [
+ "scarlet-arc64"
+ ],
+ "manifest_branch": "main",
+ "prebuilts": "public",
+ "run_cpeexport": true,
+ "useflags": [
+ "-chrome_internal"
+ ],
+ "vm_tests": []
+ },
+ "scarlet-arc64-full-tryjob": {
+ "_template": "full",
+ "boards": [
+ "scarlet-arc64"
+ ],
+ "debug": true,
+ "display_label": "tryjob",
+ "hw_tests": [
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-inline\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-arc\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-informational\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-installer\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-perbuild\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}"
+ ],
+ "hw_tests_override": null,
+ "luci_builder": "Try",
+ "manifest_branch": "main",
+ "prebuilts": "public",
+ "run_cpeexport": true,
+ "useflags": [
+ "-chrome_internal"
+ ],
+ "vm_tests": []
+ },
+ "scarlet-arc64-llvm-next-toolchain": {
+ "_template": "llvm_next_toolchain",
+ "boards": [
+ "scarlet-arc64"
+ ]
+ },
+ "scarlet-arc64-llvm-next-toolchain-tryjob": {
+ "_template": "llvm_next_toolchain",
+ "boards": [
+ "scarlet-arc64"
+ ],
+ "debug": true,
+ "display_label": "tryjob",
+ "hw_tests_override": null,
+ "luci_builder": "Try"
+ },
+ "scarlet-arc64-llvm-toolchain": {
+ "_template": "llvm_toolchain",
+ "boards": [
+ "scarlet-arc64"
+ ]
+ },
+ "scarlet-arc64-llvm-toolchain-tryjob": {
+ "_template": "llvm_toolchain",
+ "boards": [
+ "scarlet-arc64"
+ ],
+ "debug": true,
+ "display_label": "tryjob",
+ "hw_tests_override": null,
+ "luci_builder": "Try"
+ },
+ "scarlet-arc64-payloads": {
+ "_template": "payloads",
+ "boards": [
+ "scarlet-arc64"
+ ]
+ },
+ "scarlet-arc64-payloads-tryjob": {
+ "_template": "payloads",
+ "boards": [
+ "scarlet-arc64"
+ ],
+ "debug": true,
+ "hw_tests_override": null,
+ "luci_builder": "Try"
+ },
+ "scarlet-arc64-release": {
+ "_template": "release",
+ "boards": [
+ "scarlet-arc64"
+ ],
+ "important": false,
+ "models": [
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"scarlet-arc64\",\n \"name\": \"dru\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"scarlet-arc64\",\n \"name\": \"druwl\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"scarlet-arc64\",\n \"name\": \"dumo\",\n \"test_suites\": []\n}"
+ ],
+ "vm_tests": [],
+ "vm_tests_override": null
+ },
+ "scarlet-arc64-release-tryjob": {
+ "_template": "release",
+ "boards": [
+ "scarlet-arc64"
+ ],
+ "debug": true,
+ "display_label": "tryjob",
+ "hw_tests": [
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-inline\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-arc\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": false,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"Build\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 0,\n \"timeout\": 10800,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-tast-informational\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-installer\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-cq\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}",
+ "{\n \"async\": true,\n \"blocking\": false,\n \"critical\": false,\n \"enable_skylab\": true,\n \"file_bugs\": false,\n \"max_retries\": 5,\n \"minimum_duts\": 0,\n \"offload_failures_only\": false,\n \"pool\": \"quota\",\n \"priority\": \"PostBuild\",\n \"quota_account\": \"legacypool-suites\",\n \"retry\": true,\n \"suite\": \"bvt-perbuild\",\n \"suite_args\": null,\n \"suite_min_duts\": 1,\n \"timeout\": 15000,\n \"warn_only\": false\n}"
+ ],
+ "hw_tests_override": null,
+ "luci_builder": "Try",
+ "models": [
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"scarlet-arc64\",\n \"name\": \"dru\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"scarlet-arc64\",\n \"name\": \"druwl\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"scarlet-arc64\",\n \"name\": \"dumo\",\n \"test_suites\": []\n}"
+ ],
+ "paygen": false,
+ "push_image": false,
+ "suite_scheduling": false,
+ "vm_tests": [],
+ "vm_tests_override": null
+ },
+ "scarlet-arc64-unittest-stress": {
+ "_template": "unittest_stress",
+ "boards": [
+ "scarlet-arc64"
+ ],
+ "hw_tests_override": null,
+ "internal": true,
+ "luci_builder": "Try",
+ "manifest": "official.xml",
+ "manifest_repo_url": "https://chrome-internal-review.googlesource.com/chromeos/manifest-internal",
+ "overlays": "both",
+ "useflags": [
+ "chrome_internal"
+ ]
+ },
"scarlet-factory-scarlet-10211.B-factorybranch": {
"_template": "factorybranch",
"boards": [
@@ -30350,6 +31410,7 @@
"factory": false,
"factory_install_netboot": false,
"factory_toolkit": false,
+ "guest_vm_image": true,
"hw_tests_override": [],
"image_test": false,
"images": [
@@ -30386,6 +31447,7 @@
"factory": false,
"factory_install_netboot": false,
"factory_toolkit": false,
+ "guest_vm_image": true,
"hw_tests_override": null,
"image_test": false,
"images": [
@@ -30421,6 +31483,7 @@
"factory": false,
"factory_install_netboot": false,
"factory_toolkit": false,
+ "guest_vm_image": true,
"hw_tests": [],
"hw_tests_override": [],
"image_test": false,
@@ -30451,6 +31514,7 @@
"factory": false,
"factory_install_netboot": false,
"factory_toolkit": false,
+ "guest_vm_image": true,
"hw_tests": [],
"hw_tests_override": null,
"image_test": false,
@@ -30480,6 +31544,7 @@
"factory": false,
"factory_install_netboot": false,
"factory_toolkit": false,
+ "guest_vm_image": true,
"hw_tests": [],
"hw_tests_override": [],
"image_test": false,
@@ -30510,6 +31575,7 @@
"factory": false,
"factory_install_netboot": false,
"factory_toolkit": false,
+ "guest_vm_image": true,
"hw_tests": [],
"hw_tests_override": null,
"image_test": false,
@@ -30540,6 +31606,7 @@
"factory": false,
"factory_install_netboot": false,
"factory_toolkit": false,
+ "guest_vm_image": true,
"hw_tests": [],
"hw_tests_override": [],
"hwqual": false,
@@ -30577,6 +31644,7 @@
"factory": false,
"factory_install_netboot": false,
"factory_toolkit": false,
+ "guest_vm_image": true,
"hw_tests": [],
"hw_tests_override": null,
"hwqual": false,
@@ -30613,6 +31681,7 @@
"factory": false,
"factory_install_netboot": false,
"factory_toolkit": false,
+ "guest_vm_image": true,
"hw_tests_override": null,
"images": [
"base",
@@ -31652,6 +32721,7 @@
"factory": false,
"factory_install_netboot": false,
"factory_toolkit": false,
+ "guest_vm_image": true,
"hw_tests_override": [],
"image_test": false,
"images": [
@@ -31689,6 +32759,7 @@
"factory": false,
"factory_install_netboot": false,
"factory_toolkit": false,
+ "guest_vm_image": true,
"hw_tests_override": null,
"image_test": false,
"images": [
@@ -31725,6 +32796,7 @@
"factory": false,
"factory_install_netboot": false,
"factory_toolkit": false,
+ "guest_vm_image": true,
"hw_tests": [],
"hw_tests_override": [],
"image_test": false,
@@ -31755,6 +32827,7 @@
"factory": false,
"factory_install_netboot": false,
"factory_toolkit": false,
+ "guest_vm_image": true,
"hw_tests": [],
"hw_tests_override": null,
"image_test": false,
@@ -31784,6 +32857,7 @@
"factory": false,
"factory_install_netboot": false,
"factory_toolkit": false,
+ "guest_vm_image": true,
"hw_tests": [],
"hw_tests_override": [],
"image_test": false,
@@ -31814,6 +32888,7 @@
"factory": false,
"factory_install_netboot": false,
"factory_toolkit": false,
+ "guest_vm_image": true,
"hw_tests": [],
"hw_tests_override": null,
"image_test": false,
@@ -31833,16 +32908,63 @@
"sys-kernel/*kernel*"
]
},
- "tael-unittest-stress": {
- "_template": "unittest_stress",
+ "tael-release": {
+ "_template": "release",
"boards": [
"tael"
],
+ "chrome_sdk": false,
+ "chrome_sdk_build_chrome": false,
+ "dev_installer_prebuilts": false,
"disk_layout": "base",
"factory": false,
"factory_install_netboot": false,
"factory_toolkit": false,
+ "guest_vm_image": true,
+ "hw_tests": [],
+ "hw_tests_override": [],
+ "hwqual": false,
+ "image_test": false,
+ "images": [
+ "base",
+ "test"
+ ],
+ "important": false,
+ "packages": [
+ "virtual/target-os",
+ "virtual/target-os-dev",
+ "virtual/target-os-test"
+ ],
+ "paygen": false,
+ "sign_types": null,
+ "signer_tests": false,
+ "sync_chrome": false,
+ "upload_hw_test_artifacts": false,
+ "upload_stripped_packages": [
+ "sys-kernel/*kernel*"
+ ],
+ "vm_tests": [],
+ "vm_tests_override": null
+ },
+ "tael-release-tryjob": {
+ "_template": "release",
+ "boards": [
+ "tael"
+ ],
+ "chrome_sdk": false,
+ "chrome_sdk_build_chrome": false,
+ "debug": true,
+ "dev_installer_prebuilts": false,
+ "disk_layout": "base",
+ "display_label": "tryjob",
+ "factory": false,
+ "factory_install_netboot": false,
+ "factory_toolkit": false,
+ "guest_vm_image": true,
+ "hw_tests": [],
"hw_tests_override": null,
+ "hwqual": false,
+ "image_test": false,
"images": [
"base",
"test"
@@ -31853,10 +32975,51 @@
"virtual/target-os-dev",
"virtual/target-os-test"
],
+ "paygen": false,
+ "push_image": false,
+ "sign_types": null,
+ "signer_tests": false,
+ "suite_scheduling": false,
"sync_chrome": false,
"upload_hw_test_artifacts": false,
"upload_stripped_packages": [
"sys-kernel/*kernel*"
+ ],
+ "vm_tests": [],
+ "vm_tests_override": null
+ },
+ "tael-unittest-stress": {
+ "_template": "unittest_stress",
+ "boards": [
+ "tael"
+ ],
+ "disk_layout": "base",
+ "factory": false,
+ "factory_install_netboot": false,
+ "factory_toolkit": false,
+ "guest_vm_image": true,
+ "hw_tests_override": null,
+ "images": [
+ "base",
+ "test"
+ ],
+ "internal": true,
+ "luci_builder": "Try",
+ "manifest": "official.xml",
+ "manifest_repo_url": "https://chrome-internal-review.googlesource.com/chromeos/manifest-internal",
+ "overlays": "both",
+ "packages": [
+ "virtual/target-os",
+ "virtual/target-os-dev",
+ "virtual/target-os-test"
+ ],
+ "sync_chrome": false,
+ "upload_hw_test_artifacts": false,
+ "upload_stripped_packages": [
+ "sys-kernel/*kernel*"
+ ],
+ "useflags": [
+ "chrome_internal"
]
},
"tatl-full": {
@@ -31869,6 +33032,7 @@
"factory": false,
"factory_install_netboot": false,
"factory_toolkit": false,
+ "guest_vm_image": true,
"hw_tests_override": [],
"image_test": false,
"images": [
@@ -31906,6 +33070,7 @@
"factory": false,
"factory_install_netboot": false,
"factory_toolkit": false,
+ "guest_vm_image": true,
"hw_tests_override": null,
"image_test": false,
"images": [
@@ -31942,6 +33107,7 @@
"factory": false,
"factory_install_netboot": false,
"factory_toolkit": false,
+ "guest_vm_image": true,
"hw_tests": [],
"hw_tests_override": [],
"image_test": false,
@@ -31972,6 +33138,7 @@
"factory": false,
"factory_install_netboot": false,
"factory_toolkit": false,
+ "guest_vm_image": true,
"hw_tests": [],
"hw_tests_override": null,
"image_test": false,
@@ -32001,6 +33168,7 @@
"factory": false,
"factory_install_netboot": false,
"factory_toolkit": false,
+ "guest_vm_image": true,
"hw_tests": [],
"hw_tests_override": [],
"image_test": false,
@@ -32031,6 +33199,7 @@
"factory": false,
"factory_install_netboot": false,
"factory_toolkit": false,
+ "guest_vm_image": true,
"hw_tests": [],
"hw_tests_override": null,
"image_test": false,
@@ -32050,16 +33219,63 @@
"sys-kernel/*kernel*"
]
},
- "tatl-unittest-stress": {
- "_template": "unittest_stress",
+ "tatl-release": {
+ "_template": "release",
"boards": [
"tatl"
],
+ "chrome_sdk": false,
+ "chrome_sdk_build_chrome": false,
+ "dev_installer_prebuilts": false,
"disk_layout": "base",
"factory": false,
"factory_install_netboot": false,
"factory_toolkit": false,
+ "guest_vm_image": true,
+ "hw_tests": [],
+ "hw_tests_override": [],
+ "hwqual": false,
+ "image_test": false,
+ "images": [
+ "base",
+ "test"
+ ],
+ "important": false,
+ "packages": [
+ "virtual/target-os",
+ "virtual/target-os-dev",
+ "virtual/target-os-test"
+ ],
+ "paygen": false,
+ "sign_types": null,
+ "signer_tests": false,
+ "sync_chrome": false,
+ "upload_hw_test_artifacts": false,
+ "upload_stripped_packages": [
+ "sys-kernel/*kernel*"
+ ],
+ "vm_tests": [],
+ "vm_tests_override": null
+ },
+ "tatl-release-tryjob": {
+ "_template": "release",
+ "boards": [
+ "tatl"
+ ],
+ "chrome_sdk": false,
+ "chrome_sdk_build_chrome": false,
+ "debug": true,
+ "dev_installer_prebuilts": false,
+ "disk_layout": "base",
+ "display_label": "tryjob",
+ "factory": false,
+ "factory_install_netboot": false,
+ "factory_toolkit": false,
+ "guest_vm_image": true,
+ "hw_tests": [],
"hw_tests_override": null,
+ "hwqual": false,
+ "image_test": false,
"images": [
"base",
"test"
@@ -32070,10 +33286,51 @@
"virtual/target-os-dev",
"virtual/target-os-test"
],
+ "paygen": false,
+ "push_image": false,
+ "sign_types": null,
+ "signer_tests": false,
+ "suite_scheduling": false,
"sync_chrome": false,
"upload_hw_test_artifacts": false,
"upload_stripped_packages": [
"sys-kernel/*kernel*"
+ ],
+ "vm_tests": [],
+ "vm_tests_override": null
+ },
+ "tatl-unittest-stress": {
+ "_template": "unittest_stress",
+ "boards": [
+ "tatl"
+ ],
+ "disk_layout": "base",
+ "factory": false,
+ "factory_install_netboot": false,
+ "factory_toolkit": false,
+ "guest_vm_image": true,
+ "hw_tests_override": null,
+ "images": [
+ "base",
+ "test"
+ ],
+ "internal": true,
+ "luci_builder": "Try",
+ "manifest": "official.xml",
+ "manifest_repo_url": "https://chrome-internal-review.googlesource.com/chromeos/manifest-internal",
+ "overlays": "both",
+ "packages": [
+ "virtual/target-os",
+ "virtual/target-os-dev",
+ "virtual/target-os-test"
+ ],
+ "sync_chrome": false,
+ "upload_hw_test_artifacts": false,
+ "upload_stripped_packages": [
+ "sys-kernel/*kernel*"
+ ],
+ "useflags": [
+ "chrome_internal"
]
},
"terra-factory-strago-7458.B-factorybranch": {
@@ -35032,7 +36289,9 @@
"important": false,
"models": [
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"volteer\",\n \"name\": \"delbin\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"volteer\",\n \"name\": \"delbin_npcx796fc\",\n \"test_suites\": []\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"volteer\",\n \"name\": \"eldrid\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"volteer\",\n \"name\": \"eldrid_npcx796\",\n \"test_suites\": []\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"volteer\",\n \"name\": \"elemi\",\n \"test_suites\": []\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"volteer\",\n \"name\": \"halvor\",\n \"test_suites\": []\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"volteer\",\n \"name\": \"lillipup\",\n \"test_suites\": []\n}",
@@ -35074,7 +36333,9 @@
"luci_builder": "Try",
"models": [
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"volteer\",\n \"name\": \"delbin\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"volteer\",\n \"name\": \"delbin_npcx796fc\",\n \"test_suites\": []\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"volteer\",\n \"name\": \"eldrid\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"volteer\",\n \"name\": \"eldrid_npcx796\",\n \"test_suites\": []\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"volteer\",\n \"name\": \"elemi\",\n \"test_suites\": []\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"volteer\",\n \"name\": \"halvor\",\n \"test_suites\": []\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"volteer\",\n \"name\": \"lillipup\",\n \"test_suites\": []\n}",
@@ -35168,6 +36429,9 @@
],
"models": [
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"volteer\",\n \"name\": \"delbin\",\n \"test_suites\": [\n \"sanity\",\n \"bvt-inline\",\n \"bvt-tast-cq\",\n \"bvt-installer\",\n \"bvt-arc\",\n \"au\",\n \"bvt-cq\",\n \"bvt-perbuild\",\n \"bvt-tast-informational\"\n ]\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"volteer\",\n \"name\": \"delbin_npcx796fc\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"volteer\",\n \"name\": \"eldrid\",\n \"test_suites\": [\n \"sanity\",\n \"bvt-inline\",\n \"bvt-tast-cq\",\n \"bvt-installer\",\n \"bvt-arc\",\n \"au\",\n \"bvt-cq\",\n \"bvt-perbuild\",\n \"bvt-tast-informational\"\n ]\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"volteer\",\n \"name\": \"eldrid_npcx796\",\n \"test_suites\": []\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"volteer\",\n \"name\": \"elemi\",\n \"test_suites\": []\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"volteer\",\n \"name\": \"halvor\",\n \"test_suites\": []\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"volteer\",\n \"name\": \"lillipup\",\n \"test_suites\": []\n}",
@@ -35215,6 +36479,9 @@
"luci_builder": "Try",
"models": [
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"volteer\",\n \"name\": \"delbin\",\n \"test_suites\": [\n \"sanity\",\n \"bvt-inline\",\n \"bvt-tast-cq\",\n \"bvt-installer\",\n \"bvt-arc\",\n \"au\",\n \"bvt-cq\",\n \"bvt-perbuild\",\n \"bvt-tast-informational\"\n ]\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"volteer\",\n \"name\": \"delbin_npcx796fc\",\n \"test_suites\": []\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"volteer\",\n \"name\": \"eldrid\",\n \"test_suites\": [\n \"sanity\",\n \"bvt-inline\",\n \"bvt-tast-cq\",\n \"bvt-installer\",\n \"bvt-arc\",\n \"au\",\n \"bvt-cq\",\n \"bvt-perbuild\",\n \"bvt-tast-informational\"\n ]\n}",
+ "{\n \"enable_skylab\": true,\n \"lab_board_name\": \"volteer\",\n \"name\": \"eldrid_npcx796\",\n \"test_suites\": []\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"volteer\",\n \"name\": \"elemi\",\n \"test_suites\": []\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"volteer\",\n \"name\": \"halvor\",\n \"test_suites\": []\n}",
"{\n \"enable_skylab\": true,\n \"lab_board_name\": \"volteer\",\n \"name\": \"lillipup\",\n \"test_suites\": []\n}",
diff --git a/config/ge_build_config.json b/config/ge_build_config.json
index 5a47335..c04a75f 100644
--- a/config/ge_build_config.json
+++ b/config/ge_build_config.json
@@ -194,6 +194,18 @@
]
},
{
+ "name": "bob-arc64",
+ "configs": [
+ {
+ "builder": "RELEASE",
+ "experimental": true,
+ "leader_board": false,
+ "board_group": "",
+ "arch": "ARM_INTERNAL"
+ }
+ ]
+ },
+ {
"name": "brya",
"configs": [
{
@@ -542,6 +554,18 @@
]
},
{
+ "name": "hana-arc64",
+ "configs": [
+ {
+ "builder": "RELEASE",
+ "experimental": true,
+ "leader_board": false,
+ "board_group": "",
+ "arch": "ARM_INTERNAL"
+ }
+ ]
+ },
+ {
"name": "hana-kernelnext",
"configs": [
{
@@ -702,7 +726,7 @@
"configs": [
{
"builder": "RELEASE",
- "experimental": true,
+ "experimental": false,
"leader_board": true,
"board_group": "",
"arch": "UNKNOWN"
@@ -938,6 +962,30 @@
]
},
{
+ "name": "tael",
+ "configs": [
+ {
+ "builder": "RELEASE",
+ "experimental": true,
+ "leader_board": false,
+ "board_group": "guest vm builds",
+ "arch": "ARM_INTERNAL"
+ }
+ ]
+ },
+ {
+ "name": "tatl",
+ "configs": [
+ {
+ "builder": "RELEASE",
+ "experimental": true,
+ "leader_board": false,
+ "board_group": "guest vm builds",
+ "arch": "X86_INTERNAL"
+ }
+ ]
+ },
+ {
"name": "terra",
"configs": [
{
@@ -1077,6 +1125,14 @@
"release_builder_test_pool": "bvt",
"board_id": 466,
"is_active": true
+ },
+ {
+ "board_name": "ambassador",
+ "name": "genesis",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 466,
+ "is_active": true
}
]
},
@@ -1450,6 +1506,17 @@
{
"board_name": "dedede",
"name": "drawcia",
+ "test_suites": [
+ "sanity",
+ "bvt-inline",
+ "bvt-tast-cq",
+ "bvt-installer",
+ "bvt-arc",
+ "au",
+ "bvt-cq",
+ "bvt-perbuild",
+ "bvt-tast-informational"
+ ],
"cq_test_enabled": true,
"release_builder_test_pool": "bvt",
"board_id": 419,
@@ -1503,7 +1570,7 @@
},
{
"board_name": "dedede",
- "name": "madoo",
+ "name": "lantis",
"cq_test_enabled": false,
"release_builder_test_pool": "bvt",
"board_id": 419,
@@ -1511,6 +1578,25 @@
},
{
"board_name": "dedede",
+ "name": "madoo",
+ "test_suites": [
+ "sanity",
+ "bvt-inline",
+ "bvt-tast-cq",
+ "bvt-installer",
+ "bvt-arc",
+ "au",
+ "bvt-cq",
+ "bvt-perbuild",
+ "bvt-tast-informational"
+ ],
+ "cq_test_enabled": true,
+ "release_builder_test_pool": "bvt",
+ "board_id": 419,
+ "is_active": true
+ },
+ {
+ "board_name": "dedede",
"name": "maglia",
"cq_test_enabled": false,
"release_builder_test_pool": "bvt",
@@ -1527,6 +1613,25 @@
},
{
"board_name": "dedede",
+ "name": "metaknight",
+ "test_suites": [
+ "sanity",
+ "bvt-inline",
+ "bvt-tast-cq",
+ "bvt-installer",
+ "bvt-arc",
+ "au",
+ "bvt-cq",
+ "bvt-perbuild",
+ "bvt-tast-informational"
+ ],
+ "cq_test_enabled": true,
+ "release_builder_test_pool": "bvt",
+ "board_id": 419,
+ "is_active": true
+ },
+ {
+ "board_name": "dedede",
"name": "waddledee",
"cq_test_enabled": false,
"release_builder_test_pool": "bvt",
@@ -1635,6 +1740,23 @@
]
},
{
+ "name": "elm-arc64",
+ "reference_board_name": "elm-arc64",
+ "arch": "ARM_INTERNAL",
+ "builder": "RELEASE",
+ "experimental": true,
+ "models": [
+ {
+ "board_name": "elm-arc64",
+ "name": "elm",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7156,
+ "is_active": true
+ }
+ ]
+ },
+ {
"name": "elm-kernelnext",
"reference_board_name": "elm-kernelnext",
"arch": "ARM_INTERNAL",
@@ -1689,17 +1811,6 @@
{
"board_name": "eve",
"name": "eve",
- "test_suites": [
- "sanity",
- "bvt-inline",
- "bvt-tast-cq",
- "bvt-installer",
- "bvt-arc",
- "au",
- "bvt-cq",
- "bvt-perbuild",
- "bvt-tast-informational"
- ],
"cq_test_enabled": false,
"release_builder_test_pool": "bvt",
"board_id": 294,
@@ -1779,6 +1890,17 @@
{
"board_name": "eve-kernelnext",
"name": "eve",
+ "test_suites": [
+ "sanity",
+ "bvt-inline",
+ "bvt-tast-cq",
+ "bvt-installer",
+ "bvt-arc",
+ "au",
+ "bvt-cq",
+ "bvt-perbuild",
+ "bvt-tast-informational"
+ ],
"cq_test_enabled": false,
"release_builder_test_pool": "bvt",
"board_id": 446,
@@ -2353,6 +2475,103 @@
]
},
{
+ "name": "grunt-arc64",
+ "reference_board_name": "grunt-arc64",
+ "arch": "X86_INTERNAL",
+ "builder": "RELEASE",
+ "experimental": true,
+ "models": [
+ {
+ "board_name": "grunt-arc64",
+ "name": "aleena",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7153,
+ "is_active": true
+ },
+ {
+ "board_name": "grunt-arc64",
+ "name": "barla",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7153,
+ "is_active": true
+ },
+ {
+ "board_name": "grunt-arc64",
+ "name": "careena",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7153,
+ "is_active": true
+ },
+ {
+ "board_name": "grunt-arc64",
+ "name": "grunt",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7153,
+ "is_active": true
+ },
+ {
+ "board_name": "grunt-arc64",
+ "name": "kasumi",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7153,
+ "is_active": true
+ },
+ {
+ "board_name": "grunt-arc64",
+ "name": "kasumi360",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7153,
+ "is_active": true
+ },
+ {
+ "board_name": "grunt-arc64",
+ "name": "liara",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7153,
+ "is_active": true
+ },
+ {
+ "board_name": "grunt-arc64",
+ "name": "nuwani",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7153,
+ "is_active": true
+ },
+ {
+ "board_name": "grunt-arc64",
+ "name": "nuwani360",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7153,
+ "is_active": true
+ },
+ {
+ "board_name": "grunt-arc64",
+ "name": "treeya",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7153,
+ "is_active": true
+ },
+ {
+ "board_name": "grunt-arc64",
+ "name": "treeya360",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7153,
+ "is_active": true
+ }
+ ]
+ },
+ {
"name": "grunt-kernelnext",
"reference_board_name": "grunt-kernelnext",
"arch": "X86_INTERNAL",
@@ -3688,6 +3907,111 @@
]
},
{
+ "name": "jacuzzi-arc64",
+ "reference_board_name": "jacuzzi-arc64",
+ "arch": "ARM_INTERNAL",
+ "builder": "RELEASE",
+ "experimental": true,
+ "models": [
+ {
+ "board_name": "jacuzzi-arc64",
+ "name": "burnet",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7154,
+ "is_active": true
+ },
+ {
+ "board_name": "jacuzzi-arc64",
+ "name": "cerise",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7154,
+ "is_active": true
+ },
+ {
+ "board_name": "jacuzzi-arc64",
+ "name": "damu",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7154,
+ "is_active": true
+ },
+ {
+ "board_name": "jacuzzi-arc64",
+ "name": "esche",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7154,
+ "is_active": true
+ },
+ {
+ "board_name": "jacuzzi-arc64",
+ "name": "fennel",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7154,
+ "is_active": true
+ },
+ {
+ "board_name": "jacuzzi-arc64",
+ "name": "fennel14",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7154,
+ "is_active": true
+ },
+ {
+ "board_name": "jacuzzi-arc64",
+ "name": "jacuzzi",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7154,
+ "is_active": true
+ },
+ {
+ "board_name": "jacuzzi-arc64",
+ "name": "juniper",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7154,
+ "is_active": true
+ },
+ {
+ "board_name": "jacuzzi-arc64",
+ "name": "kappa",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7154,
+ "is_active": true
+ },
+ {
+ "board_name": "jacuzzi-arc64",
+ "name": "kenzo",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7154,
+ "is_active": true
+ },
+ {
+ "board_name": "jacuzzi-arc64",
+ "name": "stern",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7154,
+ "is_active": true
+ },
+ {
+ "board_name": "jacuzzi-arc64",
+ "name": "willow",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7154,
+ "is_active": true
+ }
+ ]
+ },
+ {
"name": "kalista",
"reference_board_name": "kalista",
"arch": "X86_INTERNAL",
@@ -4911,7 +5235,18 @@
{
"board_name": "puff",
"name": "dooly",
- "cq_test_enabled": false,
+ "test_suites": [
+ "sanity",
+ "bvt-inline",
+ "bvt-tast-cq",
+ "bvt-installer",
+ "bvt-arc",
+ "au",
+ "bvt-cq",
+ "bvt-perbuild",
+ "bvt-tast-informational"
+ ],
+ "cq_test_enabled": true,
"release_builder_test_pool": "bvt",
"board_id": 411,
"is_active": true
@@ -5520,6 +5855,47 @@
]
},
{
+ "name": "sarien-arc64",
+ "reference_board_name": "sarien-arc64",
+ "arch": "X86_INTERNAL",
+ "builder": "RELEASE",
+ "experimental": true,
+ "models": [
+ {
+ "board_name": "sarien-arc64",
+ "name": "arcada",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7158,
+ "is_active": true
+ },
+ {
+ "board_name": "sarien-arc64",
+ "name": "arcada_signed",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7158,
+ "is_active": true
+ },
+ {
+ "board_name": "sarien-arc64",
+ "name": "sarien",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7158,
+ "is_active": true
+ },
+ {
+ "board_name": "sarien-arc64",
+ "name": "sarien_signed",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7158,
+ "is_active": true
+ }
+ ]
+ },
+ {
"name": "scarlet",
"reference_board_name": "scarlet",
"arch": "ARM_INTERNAL",
@@ -5574,6 +5950,39 @@
]
},
{
+ "name": "scarlet-arc64",
+ "reference_board_name": "scarlet-arc64",
+ "arch": "ARM_INTERNAL",
+ "builder": "RELEASE",
+ "experimental": true,
+ "models": [
+ {
+ "board_name": "scarlet-arc64",
+ "name": "dru",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7155,
+ "is_active": true
+ },
+ {
+ "board_name": "scarlet-arc64",
+ "name": "druwl",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7155,
+ "is_active": true
+ },
+ {
+ "board_name": "scarlet-arc64",
+ "name": "dumo",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 7155,
+ "is_active": true
+ }
+ ]
+ },
+ {
"name": "snappy",
"reference_board_name": "snappy",
"arch": "X86_INTERNAL",
@@ -5800,6 +6209,41 @@
},
{
"board_name": "volteer",
+ "name": "delbin_npcx796fc",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 405,
+ "is_active": true
+ },
+ {
+ "board_name": "volteer",
+ "name": "eldrid",
+ "test_suites": [
+ "sanity",
+ "bvt-inline",
+ "bvt-tast-cq",
+ "bvt-installer",
+ "bvt-arc",
+ "au",
+ "bvt-cq",
+ "bvt-perbuild",
+ "bvt-tast-informational"
+ ],
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 405,
+ "is_active": true
+ },
+ {
+ "board_name": "volteer",
+ "name": "eldrid_npcx796",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 405,
+ "is_active": true
+ },
+ {
+ "board_name": "volteer",
"name": "elemi",
"cq_test_enabled": false,
"release_builder_test_pool": "bvt",
@@ -5991,6 +6435,14 @@
},
{
"board_name": "volteer-kernelnext",
+ "name": "delbin_npcx796fc",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 451,
+ "is_active": true
+ },
+ {
+ "board_name": "volteer-kernelnext",
"name": "eldrid",
"cq_test_enabled": false,
"release_builder_test_pool": "bvt",
@@ -5999,6 +6451,14 @@
},
{
"board_name": "volteer-kernelnext",
+ "name": "eldrid_npcx796",
+ "cq_test_enabled": false,
+ "release_builder_test_pool": "bvt",
+ "board_id": 451,
+ "is_active": true
+ },
+ {
+ "board_name": "volteer-kernelnext",
"name": "elemi",
"cq_test_enabled": false,
"release_builder_test_pool": "bvt",
diff --git a/config/luci-scheduler.cfg b/config/luci-scheduler.cfg
index dcebc5c..ecc0c5e 100644
--- a/config/luci-scheduler.cfg
+++ b/config/luci-scheduler.cfg
@@ -56,17 +56,6 @@
acl_sets: "default"
schedule: "with 5m interval"
gitiles: {
- repo: "https://chromium.googlesource.com/chromium/src"
- refs: "regexp:refs/tags/87\\..*"
- }
- triggers: "release-R87-13505.B-chell-chrome-no-afdo-uprev-pre-flight-branch"
-}
-
-trigger {
- id: "trigger_3"
- acl_sets: "default"
- schedule: "with 5m interval"
- gitiles: {
repo: "https://chromium.googlesource.com/chromiumos/chromite"
refs: "refs/heads/master"
path_regexps: "config/luci-scheduler.cfg"
@@ -75,7 +64,7 @@
}
trigger {
- id: "trigger_4"
+ id: "trigger_3"
acl_sets: "default"
schedule: "with 5m interval"
gitiles: {
@@ -86,7 +75,7 @@
}
trigger {
- id: "trigger_5"
+ id: "trigger_4"
acl_sets: "default"
schedule: "with 5m interval"
gitiles: {
@@ -97,7 +86,7 @@
}
trigger {
- id: "trigger_6"
+ id: "trigger_5"
acl_sets: "default"
schedule: "with 5m interval"
gitiles: {
@@ -109,7 +98,7 @@
}
trigger {
- id: "trigger_7"
+ id: "trigger_6"
acl_sets: "default"
schedule: "with 5m interval"
gitiles: {
@@ -121,7 +110,7 @@
}
trigger {
- id: "trigger_8"
+ id: "trigger_7"
acl_sets: "default"
schedule: "with 5m interval"
gitiles: {
@@ -2759,24 +2748,6 @@
}
job {
- id: "release-R87-13505.B-chell-chrome-no-afdo-uprev-pre-flight-branch"
- acl_sets: "default"
- schedule: "triggered"
- buildbucket: {
- server: "cr-buildbucket.appspot.com"
- bucket: "luci.chromeos.general"
- builder: "LegacyRelease"
- tags: "cbb_branch:release-R87-13505.B"
- tags: "cbb_config:chell-chrome-no-afdo-uprev-pre-flight-branch"
- tags: "cbb_display_label:release"
- properties: "cbb_branch:release-R87-13505.B"
- properties: "cbb_config:chell-chrome-no-afdo-uprev-pre-flight-branch"
- properties: "cbb_display_label:release"
- properties: "cbb_extra_args:[\"--buildbot\"]"
- }
-}
-
-job {
id: "release-R87-13505.B-orderfile-generate-toolchain"
acl_sets: "default"
schedule: "0 8/12 * * *"
diff --git a/config/waterfall_layout_dump.txt b/config/waterfall_layout_dump.txt
index 782428f..d849b8e 100644
--- a/config/waterfall_layout_dump.txt
+++ b/config/waterfall_layout_dump.txt
@@ -265,6 +265,7 @@
betty-pi-arc-release
betty-qt-arc-release
betty-release
+ bob-arc64-release
bob-release
brya-release
bubs-release
@@ -288,6 +289,7 @@
dedede-release
drallion-release
edgar-release
+ elm-arc64-release
elm-kernelnext-release
elm-release
endeavour-release
@@ -311,6 +313,7 @@
gnawty-release
gonzo-release
grunt-arc-r-release
+ grunt-arc64-release
grunt-kernelnext-release
grunt-release
guado-cfm-release
@@ -318,6 +321,7 @@
guado-release
guado_labstation-release
guybrush-release
+ hana-arc64-release
hana-kernelnext-release
hana-release
hatch-arc-r-ack-release
@@ -329,6 +333,7 @@
hatch-kernelnext-release
hatch-release
heli-release
+ jacuzzi-arc64-release
jacuzzi-release
kalista-cfm-release
kalista-release
@@ -377,7 +382,9 @@
romer-release
samus-release
sand-release
+ sarien-arc64-release
sarien-release
+ scarlet-arc64-release
scarlet-release
sentry-release
setzer-release
@@ -388,6 +395,8 @@
strongbad-release
sumo-release
swanky-release
+ tael-release
+ tatl-release
terra-release
tidus-release
trogdor-release
@@ -579,6 +588,12 @@
betty-release-tryjob
betty-unittest-stress
betty-vmtest-informational-tryjob
+ bob-arc64-full-tryjob
+ bob-arc64-llvm-next-toolchain-tryjob
+ bob-arc64-llvm-toolchain-tryjob
+ bob-arc64-payloads-tryjob
+ bob-arc64-release-tryjob
+ bob-arc64-unittest-stress
bob-factory-gru-9017.B-factorybranch-tryjob
bob-full-tryjob
bob-llvm-next-toolchain-tryjob
@@ -755,6 +770,12 @@
edgar-payloads-tryjob
edgar-release-tryjob
edgar-unittest-stress
+ elm-arc64-full-tryjob
+ elm-arc64-llvm-next-toolchain-tryjob
+ elm-arc64-llvm-toolchain-tryjob
+ elm-arc64-payloads-tryjob
+ elm-arc64-release-tryjob
+ elm-arc64-unittest-stress
elm-factory-oak-8182.B-factorybranch-tryjob
elm-full-tryjob
elm-kernelnext-full-tryjob
@@ -1130,6 +1151,12 @@
grunt-arc-r-release-tryjob
grunt-arc-r-unittest-stress
grunt-arc-r-vmrvc-android-pfq-tryjob
+ grunt-arc64-full-tryjob
+ grunt-arc64-llvm-next-toolchain-tryjob
+ grunt-arc64-llvm-toolchain-tryjob
+ grunt-arc64-payloads-tryjob
+ grunt-arc64-release-tryjob
+ grunt-arc64-unittest-stress
grunt-factory-grunt-11164.B-factorybranch-tryjob
grunt-full-tryjob
grunt-kernelnext-full-tryjob
@@ -1176,6 +1203,12 @@
guybrush-payloads-tryjob
guybrush-release-tryjob
guybrush-unittest-stress
+ hana-arc64-full-tryjob
+ hana-arc64-llvm-next-toolchain-tryjob
+ hana-arc64-llvm-toolchain-tryjob
+ hana-arc64-payloads-tryjob
+ hana-arc64-release-tryjob
+ hana-arc64-unittest-stress
hana-factory-oak-8182.B-factorybranch-tryjob
hana-full-tryjob
hana-kernelnext-full-tryjob
@@ -1246,6 +1279,12 @@
heli-payloads-tryjob
heli-release-tryjob
heli-unittest-stress
+ jacuzzi-arc64-full-tryjob
+ jacuzzi-arc64-llvm-next-toolchain-tryjob
+ jacuzzi-arc64-llvm-toolchain-tryjob
+ jacuzzi-arc64-payloads-tryjob
+ jacuzzi-arc64-release-tryjob
+ jacuzzi-arc64-unittest-stress
jacuzzi-factory-kukui-12587.B-factorybranch-tryjob
jacuzzi-full-tryjob
jacuzzi-llvm-next-toolchain-tryjob
@@ -1449,6 +1488,7 @@
betty-pi-arc-release-tryjob
betty-qt-arc-release-tryjob
betty-release-tryjob
+ bob-arc64-release-tryjob
bob-release-tryjob
brya-release-tryjob
bubs-release-tryjob
@@ -1472,6 +1512,7 @@
dedede-release-tryjob
drallion-release-tryjob
edgar-release-tryjob
+ elm-arc64-release-tryjob
elm-kernelnext-release-tryjob
elm-release-tryjob
endeavour-release-tryjob
@@ -1495,6 +1536,7 @@
gnawty-release-tryjob
gonzo-release-tryjob
grunt-arc-r-release-tryjob
+ grunt-arc64-release-tryjob
grunt-kernelnext-release-tryjob
grunt-release-tryjob
guado-cfm-release-tryjob
@@ -1502,6 +1544,7 @@
guado-release-tryjob
guado_labstation-release-tryjob
guybrush-release-tryjob
+ hana-arc64-release-tryjob
hana-kernelnext-release-tryjob
hana-release-tryjob
hatch-arc-r-ack-release-tryjob
@@ -1513,6 +1556,7 @@
hatch-kernelnext-release-tryjob
hatch-release-tryjob
heli-release-tryjob
+ jacuzzi-arc64-release-tryjob
jacuzzi-release-tryjob
kalista-cfm-release-tryjob
kalista-release-tryjob
@@ -1561,7 +1605,9 @@
romer-release-tryjob
samus-release-tryjob
sand-release-tryjob
+ sarien-arc64-release-tryjob
sarien-release-tryjob
+ scarlet-arc64-release-tryjob
scarlet-release-tryjob
sentry-release-tryjob
setzer-release-tryjob
@@ -1572,6 +1618,8 @@
strongbad-release-tryjob
sumo-release-tryjob
swanky-release-tryjob
+ tael-release-tryjob
+ tatl-release-tryjob
terra-release-tryjob
tidus-release-tryjob
trogdor-release-tryjob
@@ -1837,6 +1885,12 @@
sand-payloads-tryjob
sand-release-tryjob
sand-unittest-stress
+ sarien-arc64-full-tryjob
+ sarien-arc64-llvm-next-toolchain-tryjob
+ sarien-arc64-llvm-toolchain-tryjob
+ sarien-arc64-payloads-tryjob
+ sarien-arc64-release-tryjob
+ sarien-arc64-unittest-stress
sarien-factory-sarien-12033.B-factorybranch-tryjob
sarien-full-tryjob
sarien-llvm-next-toolchain-tryjob
@@ -1845,6 +1899,12 @@
sarien-payloads-tryjob
sarien-release-tryjob
sarien-unittest-stress
+ scarlet-arc64-full-tryjob
+ scarlet-arc64-llvm-next-toolchain-tryjob
+ scarlet-arc64-llvm-toolchain-tryjob
+ scarlet-arc64-payloads-tryjob
+ scarlet-arc64-release-tryjob
+ scarlet-arc64-unittest-stress
scarlet-factory-scarlet-10211.B-factorybranch-tryjob
scarlet-full-tryjob
scarlet-llvm-next-toolchain-tryjob
@@ -1923,10 +1983,12 @@
tael-full-tryjob
tael-llvm-next-toolchain-tryjob
tael-llvm-toolchain-tryjob
+ tael-release-tryjob
tael-unittest-stress
tatl-full-tryjob
tatl-llvm-next-toolchain-tryjob
tatl-llvm-toolchain-tryjob
+ tatl-release-tryjob
tatl-unittest-stress
terra-factory-strago-7458.B-factorybranch-tryjob
terra-full-tryjob
diff --git a/cros/test/image_test.py b/cros/test/image_test.py
index 8fecee7..4e6bb79 100644
--- a/cros/test/image_test.py
+++ b/cros/test/image_test.py
@@ -113,8 +113,8 @@
The allow list has higher precedence than the block list.
"""
blocked_patterns = [re.compile(x) for x in [
- r'text/x-c\+\+',
- r'text/x-c',
+ r'^text/x-c\+\+$',
+ r'^text/x-c$',
]]
allowed_patterns = [re.compile(x) for x in [
r'.*/braille/.*',
diff --git a/cros/test/usergroup_baseline.py b/cros/test/usergroup_baseline.py
index 3056eca..831c5e5 100644
--- a/cros/test/usergroup_baseline.py
+++ b/cros/test/usergroup_baseline.py
@@ -177,7 +177,8 @@
GroupEntry(group='suzy-q', gid=415, users={'chronos', 'rma_fw_keeper'}),
GroupEntry(group='cros_ec-access', gid=416, users={'runtime_probe',
'healthd_ec',
- 'power'}),
+ 'power',
+ 'typecd_ec'}),
GroupEntry(group='shill', gid=20104, users={'shill', 'ipsec'}),
GroupEntry(group='fuse-drivefs', gid=304, users={'chronos'}),
GroupEntry(group='password-viewers', gid=611, users={'kerberosd', 'shill',
@@ -196,7 +197,8 @@
GroupEntry(group='usbprinter', gid=20155, users={'cups', 'saned'}),
GroupEntry(group='traced-producer', gid=20162, users={'traced',
'traced-probes',
- 'chronos'}),
+ 'chronos',
+ 'crosvm'}),
GroupEntry(group='traced-consumer', gid=20164, users={'traced',
'chronos'}),
))
@@ -236,10 +238,10 @@
'ap-lb-update-manager', 'ap-monitor', 'ap-monlog',
'ap-net-acc-manager', 'ap-net-controller',
'ap-net-monitor', 'ap-pal', 'ap-pcap-manager', 'ap-pfd',
- 'ap-pipe-reader', 'ap-qos-monitor', 'ap-rodizio',
- 'ap-taxonomy', 'ap-update-manager', 'ap-vorlon-client',
- 'ap-wifi-diagnostics', 'ap-wifi-manager',
- 'ap-wireless-optimizer', 'gdisp'}),
+ 'ap-pipe-reader', 'ap-process-manager', 'ap-qos-monitor',
+ 'ap-rodizio', 'ap-taxonomy', 'ap-update-manager',
+ 'ap-vorlon-client', 'ap-wifi-diagnostics',
+ 'ap-wifi-manager', 'ap-wireless-optimizer', 'gdisp'}),
))
# rialtod:!:400:rialto
diff --git a/lib/config_lib.py b/lib/config_lib.py
index 4d6abca..0112ac7 100644
--- a/lib/config_lib.py
+++ b/lib/config_lib.py
@@ -951,6 +951,9 @@
# List of images we want to build -- see build_image for more details.
images=['test'],
+ # Whether to convert the image into a guest VM image.
+ guest_vm_image=False,
+
# Image from which we will build update payloads. Must either be None
# or name one of the images in the 'images' list, above.
payload_image=None,
diff --git a/lib/constants.py b/lib/constants.py
index 1bf2e04..00e9aea 100644
--- a/lib/constants.py
+++ b/lib/constants.py
@@ -40,7 +40,7 @@
DEFAULT_CHROOT_DIR = 'chroot'
DEFAULT_CHROOT_PATH = os.path.join(SOURCE_ROOT, DEFAULT_CHROOT_DIR)
TERMINA_TOOLS_DIR = os.path.join(
- SOURCE_ROOT, 'src/platform/container-guest-tools/termina')
+ CHROOT_SOURCE_ROOT, 'src/platform/container-guest-tools/termina')
STATEFUL_DIR = '/mnt/stateful_partition'
@@ -415,12 +415,23 @@
MERGE_BRANCH
]
+# SDK target.
+TARGET_SDK = 'virtual/target-sdk'
# Default OS target packages.
TARGET_OS_PKG = 'virtual/target-os'
TARGET_OS_DEV_PKG = 'virtual/target-os-dev'
TARGET_OS_TEST_PKG = 'virtual/target-os-test'
TARGET_OS_FACTORY_PKG = 'virtual/target-os-factory'
TARGET_OS_FACTORY_SHIM_PKG = 'virtual/target-os-factory-shim'
+# The virtuals composing a "full" build, e.g. what's built in the cq.
+# Local (developer) builds only use target-os by default.
+ALL_TARGET_PACKAGES = (
+ TARGET_OS_PKG,
+ TARGET_OS_DEV_PKG,
+ TARGET_OS_TEST_PKG,
+ TARGET_OS_FACTORY_PKG,
+ TARGET_OS_FACTORY_SHIM_PKG,
+)
# Constants for uprevving Chrome
@@ -804,6 +815,9 @@
TEST_KEY_PRIVATE = 'id_rsa'
TEST_KEY_PUBLIC = 'id_rsa.pub'
+DEBUG_SYMBOLS_NAME = 'debug_breakpad'
+DEBUG_SYMBOLS_TAR = '%s.tar.xz' % DEBUG_SYMBOLS_NAME
+
DEV_IMAGE_NAME = 'chromiumos_image'
DEV_IMAGE_BIN = '%s.bin' % DEV_IMAGE_NAME
@@ -822,8 +836,10 @@
IMAGE_TYPE_ACCESSORY_USBPD = 'accessory_usbpd'
# Standalone accessory microcontroller firmware (e.g. wireless keyboard).
IMAGE_TYPE_ACCESSORY_RWSIG = 'accessory_rwsig'
-# Cr50 Firmware.
-IMAGE_TYPE_CR50_FIRMWARE = 'cr50_firmware'
+# GSC Firmware.
+IMAGE_TYPE_GSC_FIRMWARE = 'gsc_firmware'
+# TODO(b/173049030): Deprecate this alias after 2021-06.
+IMAGE_TYPE_CR50_FIRMWARE = IMAGE_TYPE_GSC_FIRMWARE
IMAGE_TYPE_TO_NAME = {
IMAGE_TYPE_BASE: BASE_IMAGE_BIN,
diff --git a/lib/depgraph.py b/lib/depgraph.py
index a5c9938..f5b16d4 100644
--- a/lib/depgraph.py
+++ b/lib/depgraph.py
@@ -7,12 +7,17 @@
from __future__ import print_function
+import collections
import copy
import os
import sys
import time
+from typing import List, Optional, Union
+from chromite.lib import constants
+from chromite.lib import cros_logging as logging
from chromite.lib import cros_test_lib
+from chromite.lib.parser import package_info
assert sys.version_info >= (3, 6), 'This module requires Python 3.6+'
@@ -395,7 +400,8 @@
break
deps[cpv] = dict(
- action=action, deptypes=[str(x) for x in priorities], deps={})
+ action=action, deptypes=[str(x) for x in priorities], deps={},
+ root=child.root)
# We've built our list of deps, so we can add our package to the tree.
@@ -409,7 +415,8 @@
# for a board and the package is a BDEPEND. We only want to add that
# package to the deps_tree if include_bdepend is set.
if (node.root == root or self.include_bdepend):
- deps_tree[str(node.cpv)] = dict(action=str(node.operation), deps=deps)
+ deps_tree[str(node.cpv)] = dict(action=str(node.operation), deps=deps,
+ root=node.root)
# The only packages that will have a distinct root (in the Chrome OS
# build) are BDEPEND packages for a board target. If we are building
@@ -422,7 +429,7 @@
# bdeps_tree.
if node.root != root:
bdeps_tree[str(node.cpv)] = dict(
- action=str(node.operation), deps=deps)
+ action=str(node.operation), deps=deps, root=node.root)
# Ask portage for its install plan, so that we can only throw out
# dependencies that portage throws out.
@@ -852,3 +859,125 @@
print(' %s' % (j))
if not needs:
print(' no dependencies')
+
+
+# Depgraph results data container used by the raw depgraph functions. The
+# deps attribute has the main depgraph info, while the bdeps attribute
+# contains just the bdepends depgraph, i.e. the depgraph installed to the SDK.
+DepgraphResult = collections.namedtuple('DepgraphResult',
+ ('deps', 'bdeps', 'packages'))
+
+
+def _get_emerge_args(sysroot_path: str,
+ packages: Union[List[str], List[package_info.PackageInfo]],
+ include_bdeps: bool) -> List[str]:
+ """Get the default emerge arguments for building a depgraph."""
+ # Pretend: Don't actually install anything.
+ # Emptytree: Act as though nothing is installed (even if some packages are).
+ # Sysroot: Which sysroot we're considering.
+ args = ['--quiet', '--pretend', '--emptytree', '--sysroot', sysroot_path]
+ # Also set the root for DepGraphGenerator specific semantics. This might not
+ # be necessary, pending more investigation.
+ # TODO: Document final reason or remove if unnecessary.
+ args.extend(['--root', sysroot_path])
+ if include_bdeps:
+ args.append('--include-bdepend')
+
+ try:
+ # Assume PackageInfo instance.
+ final_pkgs = [p.atom for p in packages]
+ except AttributeError:
+ # Also accept strings.
+ final_pkgs = [str(p) for p in packages]
+ args.extend(final_pkgs)
+
+ logging.info('Generating depgraph for packages: %s', ', '.join(final_pkgs))
+
+ return args
+
+
+def _get_sysroot_path(
+ sysroot: Union[str, 'sysroot_lib.Sysroot'],
+ build_target: Union[str, 'build_target_lib.BuildTarget']) -> str:
+ """Convenience function to support sysroot paths from a variety of sources.
+
+ Get the sysroot path from a sysroot (the path, or a Sysroot instance), or
+ a build target (by name, or from the BuildTarget instance).
+ """
+ if sysroot:
+ try:
+ return sysroot.path
+ except AttributeError:
+ return sysroot
+ else:
+ try:
+ return build_target.root
+ except AttributeError:
+ return cros_build_lib.GetSysroot(build_target)
+
+
+def _get_raw_sdk_depgraph(
+ packages: Optional[Union[List[str], List[package_info.PackageInfo]]] = None
+) -> DepgraphResult:
+ """Get the depgraph for the SDK itself.
+
+ The SDK deps will contain the packages installed to a fresh SDK.
+ The bdeps will always be empty since everything is installed to the SDK.
+ """
+ sysroot_path = cros_build_lib.GetSysroot(board=None)
+ packages = packages or [constants.TARGET_SDK]
+ lib_argv = _get_emerge_args(sysroot_path, packages, include_bdeps=True)
+ deps = DepGraphGenerator()
+ deps.Initialize(lib_argv)
+ deps_tree, _deps_info, bdeps_tree = deps.GenDependencyTree()
+
+ return DepgraphResult(deps=deps_tree, bdeps=bdeps_tree, packages=packages)
+
+
+def _get_raw_sysroot_depgraph(
+ sysroot: Optional['sysroot_lib.Sysroot'] = None,
+ build_target: Optional['build_target_lib.BuildTarget'] = None,
+ packages: Optional[Union[List[str], List[package_info.PackageInfo]]] = None
+) -> DepgraphResult:
+ """Get the sysroot depgraph for a build target.
+
+ The sysroot deps are the packages installed to a sysroot -- effectively
+ the packages installed on a device. The bdeps contains all the packages
+ installed to the SDK when the board is built. The two graphs are technically
+ disjoint, but packages can appear in both (with different roots).
+ """
+ assert build_target or sysroot
+ packages = packages or constants.ALL_TARGET_PACKAGES
+ sysroot_path = _get_sysroot_path(sysroot, build_target)
+ lib_argv = _get_emerge_args(sysroot_path, packages, include_bdeps=False)
+
+ deps = DepGraphGenerator()
+ deps.Initialize(lib_argv)
+ deps_tree, _deps_info, bdeps_tree = deps.GenDependencyTree()
+
+ return DepgraphResult(deps=deps_tree, bdeps=bdeps_tree, packages=packages)
+
+
+def _get_raw_build_target_depgraph(
+ sysroot: Optional['sysroot_lib.Sysroot'] = None,
+ build_target: Optional['build_target_lib.BuildTarget'] = None,
+ packages: Optional[Union[List[str], List[package_info.PackageInfo]]] = None
+) -> DepgraphResult:
+ """Get the full depgraph for a build target - its sysroot and bdepends.
+
+ The build target deps contains the [r]depends packages installed
+ to the sysroot and bdepends packages installed to the SDK.
+ The bdeps contains only the bdepends packages installed to
+ the SDK. The bdeps graph is a subgraph of the deps graph.
+ """
+ assert build_target or sysroot
+ packages = packages or constants.ALL_TARGET_PACKAGES
+ sysroot_path = _get_sysroot_path(sysroot, build_target)
+ lib_argv = _get_emerge_args(sysroot_path, packages, include_bdeps=True)
+
+ deps = DepGraphGenerator()
+ deps.Initialize(lib_argv)
+
+ deps_tree, _deps_info, bdeps_tree = deps.GenDependencyTree()
+ return DepgraphResult(deps=deps_tree, bdeps=bdeps_tree, packages=packages)
+
diff --git a/lib/gs.py b/lib/gs.py
index c63b4ae..f5b8547 100644
--- a/lib/gs.py
+++ b/lib/gs.py
@@ -1035,7 +1035,11 @@
cmd = ['ls']
if details:
cmd += ['-l']
- cmd += ['--', path]
+ cmd += ['--']
+ if isinstance(path, str):
+ cmd.append(path)
+ else:
+ cmd.extend(path)
# We always request the extended details as the overhead compared to a plain
# listing is negligible.
@@ -1090,11 +1094,11 @@
cmd = ['mv', '--', src_path, dest_path]
return self.DoCommand(cmd, **kwargs)
- def SetACL(self, upload_url, acl=None, **kwargs):
+ def SetACL(self, path, acl=None, **kwargs):
"""Set access on a file already in google storage.
Args:
- upload_url: gs:// url that will have acl applied to it.
+ path: gs:// url that will have acl applied to it.
acl: An ACL permissions file or canned ACL.
kwargs: See options that DoCommand takes.
"""
@@ -1104,7 +1108,13 @@
'SetAcl invoked w/out a specified acl, nor a default acl.')
acl = self.acl
- self.DoCommand(['acl', 'set', acl, upload_url], **kwargs)
+ cmd = ['acl', 'set', '--', acl]
+ if isinstance(path, str):
+ cmd.append(path)
+ else:
+ cmd.extend(path)
+
+ self.DoCommand(cmd, **kwargs)
def ChangeACL(self, upload_url, acl_args_file=None, acl_args=None, **kwargs):
"""Change access on a file already in google storage with "acl ch".
@@ -1177,7 +1187,10 @@
if recursive:
cmd.append('-R')
cmd.append('--')
- cmd.append(path)
+ if isinstance(path, str):
+ cmd.append(path)
+ else:
+ cmd.extend(path)
try:
self.DoCommand(cmd, **kwargs)
except GSNoSuchKey:
diff --git a/lib/gs_unittest.py b/lib/gs_unittest.py
index 717b9b5..9a6d39e 100644
--- a/lib/gs_unittest.py
+++ b/lib/gs_unittest.py
@@ -405,6 +405,10 @@
found = ctx.List(tempuri, details=True)
self.assertEqual(files, sorted([os.path.basename(x.url) for x in found]))
+ # Check the detailed listing with multiple paths.
+ found = ctx.List(['%s/%s' % (tempuri, x) for x in files], details=True)
+ self.assertEqual(files, sorted([os.path.basename(x.url) for x in found]))
+
# Make sure sizes line up.
for f in found:
l = len(os.path.basename(f.url)) * 10
@@ -646,6 +650,12 @@
self.ctx.Remove('gs://foo/bar', recursive=True)
self.gs_mock.assertCommandContains(['rm', '-R'])
+ def testMultiple(self):
+ """Test handling of multiple paths."""
+ self.ctx.Remove(['gs://foo/bar', 'gs://fat/cow'], recursive=True)
+ self.gs_mock.assertCommandContains(
+ ['rm', '-R', '--', 'gs://foo/bar', 'gs://fat/cow'])
+
class UnmockedRemoveTest(cros_test_lib.TestCase):
"""Tests Remove functionality w/out mocks."""
@@ -680,6 +690,18 @@
self.assertFalse(ctx.Exists(os.path.join(tempuri, p)))
@cros_test_lib.NetworkTest()
+ def testMultiple(self):
+ """Test handling of multiple paths."""
+ files = ('a', 'b/c', 'd/e/ffff')
+ ctx = gs.GSContext()
+ with gs.TemporaryURL('chromite.rm') as tempuri:
+ for p in files:
+ ctx.Copy('/dev/null', os.path.join(tempuri, p))
+ ctx.Remove(['%s/%s' % (tempuri, x) for x in files])
+ for p in files:
+ self.assertFalse(ctx.Exists(os.path.join(tempuri, p)))
+
+ @cros_test_lib.NetworkTest()
def testGeneration(self):
"""Test conditional remove behavior."""
ctx = gs.GSContext()
@@ -1074,7 +1096,8 @@
def testSetDefaultAcl(self):
"""Test default ACL behavior."""
self.ctx.SetACL('gs://abc/1', 'monkeys')
- self.gs_mock.assertCommandContains(['acl', 'set', 'monkeys', 'gs://abc/1'])
+ self.gs_mock.assertCommandContains(
+ ['acl', 'set', '--', 'monkeys', 'gs://abc/1'])
def testSetAcl(self):
"""Base ACL setting functionality."""
@@ -1083,6 +1106,13 @@
self.gs_mock.assertCommandContains(['acl', 'set', '/my/file/acl',
'gs://abc/1'])
+ def testSetAclMultiple(self):
+ """Test multiple paths at once."""
+ ctx = gs.GSContext(acl='/my/file/acl')
+ ctx.SetACL(['gs://abc/1', 'gs://abc/2'])
+ self.gs_mock.assertCommandContains(
+ ['acl', 'set', '--', '/my/file/acl', 'gs://abc/1', 'gs://abc/2'])
+
def testChangeAcl(self):
"""Test changing an ACL."""
basic_file = """
diff --git a/lib/loas.py b/lib/loas.py
index 75d7402..3deed94 100644
--- a/lib/loas.py
+++ b/lib/loas.py
@@ -14,7 +14,6 @@
from __future__ import print_function
import datetime
-import re
import socket
import sys
@@ -44,7 +43,7 @@
self.user = user
self.email_notify = email_notify
self.email_server = email_server
- self.enroll_msg = 'become -t -c "prodaccess --sslenroll" %s@%s' % (
+ self.enroll_msg = 'become -t -c "gcert --loas2" %s@%s' % (
self.user, socket.getfqdn())
self.last_notification = (
datetime.date.today() - datetime.timedelta(weeks=10))
@@ -70,24 +69,18 @@
self.last_notification + datetime.timedelta(days=1)):
return
- cmd = ['prodcertstatus', '--check_loas_cert_location', 'sslenrolled']
+ # Let the tool tell us whether things will fail soon.
+ cmd = ['gcertstatus', '--check_loas2', '--nocheck_ssh',
+ f'--check_remaining={7 * 24}h']
result = cros_build_lib.sudo_run(cmd,
user=self.user,
check=False,
stdout=True,
encoding='utf-8')
- # Figure out how many days are left. The command should display:
- # SSL-ENROLLED CERT cert expires in about 22 days
- m = re.search(r'cert expires in about ([0-9]+) days', result.output)
- if m:
- days_left = int(m.group(1))
- else:
- days_left = 0
-
# Send out one notification a day if there's a week or less left
# before our creds expire.
- if days_left <= 7:
+ if result.returncode:
alerts.SendEmail(
'Loas certs expiring soon!',
self.email_notify,
@@ -98,4 +91,4 @@
else:
# We won't expire for a while, so stop the periodic polling.
self.last_notification = (
- datetime.date.today() + datetime.timedelta(days=days_left - 8))
+ datetime.date.today() + datetime.timedelta(days=7))
diff --git a/lib/loas_unittest.py b/lib/loas_unittest.py
index 14b254e..a4d1792 100644
--- a/lib/loas_unittest.py
+++ b/lib/loas_unittest.py
@@ -41,34 +41,34 @@
self.assertRaises(loas.LoasError, self.loas.Check)
def testStatusError(self):
- """Verify that errors from prodcertstatus result in an e-mail."""
+ """Verify that errors from gcertstatus result in an e-mail."""
self.rc_mock.AddCmdResult(
- partial_mock.In('prodcertstatus'), returncode=1,
- error='No valid SSL-ENROLLED CERT certs')
+ partial_mock.In('gcertstatus'), returncode=1,
+ error='WARNING no LOAS2 certificate found')
self.loas.Status()
self.assertEqual(self.email_mock.call_count, 1)
def testStatusUpToDate(self):
"""Verify that up-to-date certs delay further checks for a while."""
self.rc_mock.AddCmdResult(
- partial_mock.In('prodcertstatus'), returncode=0,
- error='SSL-ENROLLED CERT cert expires in about 39 days')
+ partial_mock.In('gcertstatus'), returncode=0,
+ error='LOAS2 expires in 1234h')
- # This should invoke prodcertstatus.
+ # This should invoke gcertstatus.
self.loas.Status()
- self.assertEqual(self.email_mock.call_count, 1)
+ self.assertEqual(self.rc_mock.call_count, 1)
# While this should return quickly.
self.loas.Status()
- self.assertEqual(self.email_mock.call_count, 1)
+ self.assertEqual(self.rc_mock.call_count, 1)
def testStatusExpiresSoon(self):
"""Verify that expiring certs generate e-mails once a day."""
self.rc_mock.AddCmdResult(
- partial_mock.In('prodcertstatus'), returncode=0,
- error='SSL-ENROLLED CERT cert expires in about 3 days')
+ partial_mock.In('gcertstatus'), returncode=1,
+ error=' WARNING LOAS2 expires in 76h')
- # This should invoke prodcertstatus & send an e-mail.
+ # This should invoke gcertstatus & send an e-mail.
self.loas.Status()
self.assertEqual(self.email_mock.call_count, 1)
diff --git a/lib/parser/package_info.py b/lib/parser/package_info.py
index d231239..98f3907 100644
--- a/lib/parser/package_info.py
+++ b/lib/parser/package_info.py
@@ -148,6 +148,12 @@
def __hash__(self):
return hash((self._category, self._package, self._version, self._revision))
+ def __repr__(self):
+ return f'PackageInfo<{str(self)}>'
+
+ def __str__(self):
+ return self.cpvr or self.atom
+
@functools.lru_cache()
def __format__(self, format_spec):
"""Formatter function.
diff --git a/lib/sysroot_lib.py b/lib/sysroot_lib.py
index daefc4f..a86fab9 100644
--- a/lib/sysroot_lib.py
+++ b/lib/sysroot_lib.py
@@ -11,6 +11,7 @@
import multiprocessing
import os
import sys
+from typing import Iterable
from chromite.api.gen.chromiumos import common_pb2
from chromite.lib import constants
@@ -20,6 +21,7 @@
from chromite.lib import osutils
from chromite.lib import portage_util
from chromite.lib import toolchain
+from chromite.lib.parser import package_info
assert sys.version_info >= (3, 6), 'This module requires Python 3.6+'
@@ -801,3 +803,30 @@
os._exit(result.returncode)
else:
cros_build_lib.sudo_run(rm + [self.path], quiet=True)
+
+ def get_sdk_provided_packages(self) -> Iterable[package_info.PackageInfo]:
+ """Find all packages provided by the SDK (i.e. package.provided)."""
+ # Look at packages in package.provided.
+ sdk_file_path = self._Path('etc', 'portage', 'profile', 'package.provided')
+ for line in osutils.ReadFile(sdk_file_path).splitlines():
+ # Skip comments and empty lines.
+ line = line.split('#', 1)[0].strip()
+ if not line:
+ continue
+ yield package_info.parse(line)
+
+
+def get_sdk_provided_packages(
+ sysroot_path: str) -> Iterable[package_info.PackageInfo]:
+ """Find all packages provided by the SDK (i.e. package.provided).
+
+ Convenience wrapper for the Sysroot method.
+
+ Args:
+ sysroot_path: The sysroot to use when finding SDK packages.
+
+ Returns:
+ The provided packages.
+ """
+ sysroot = Sysroot(sysroot_path)
+ return sysroot.get_sdk_provided_packages()
diff --git a/lib/sysroot_lib_unittest.py b/lib/sysroot_lib_unittest.py
index 052eca7..277e98e 100644
--- a/lib/sysroot_lib_unittest.py
+++ b/lib/sysroot_lib_unittest.py
@@ -271,3 +271,17 @@
with self.assertRaises(sysroot_lib.ToolchainInstallError):
self.sysroot.UpdateToolchain('board', local_init=True)
+
+
+def test_get_sdk_provided_packages(simple_sysroot):
+ pkg_provided = simple_sysroot.path / 'etc/portage/profile/package.provided'
+ content = """
+foo/bar-2-r3
+
+# Comment line.
+cat/pkg-1.0.0 # Comment after package.
+"""
+ osutils.WriteFile(pkg_provided, content, makedirs=True)
+ pkgs = list(sysroot_lib.get_sdk_provided_packages(simple_sysroot.path))
+ expected = [package_info.parse(p) for p in ('foo/bar-2-r3', 'cat/pkg-1.0.0')]
+ assert pkgs == expected
diff --git a/lib/uprev_lib.py b/lib/uprev_lib.py
index 7c9071e..b779018 100644
--- a/lib/uprev_lib.py
+++ b/lib/uprev_lib.py
@@ -505,14 +505,11 @@
result = ebuild.RevWorkOnEBuild(
os.path.join(constants.SOURCE_ROOT, 'src'), self.manifest,
reject_self_repo=self._reject_self_repo)
- except portage_util.InvalidUprevSourceError as e:
+ except (portage_util.InvalidUprevSourceError,
+ portage_util.EbuildVersionError) as e:
logging.error('An error occurred while uprevving %s: %s',
ebuild.package, e)
raise
- except portage_util.EbuildVersionError as e:
- logging.warning('An error occurred while uprevving %s, skipping: %s',
- ebuild.package, e)
- return
except OSError:
logging.warning(
'Cannot rev %s\n'
@@ -820,8 +817,11 @@
raise EbuildManifestError(
f'Unable to update manifest for {package}: {e.stderr}')
- result = UprevResult(
- outcome=outcome, changed_files=[new_ebuild_src_path, manifest_src_path])
+ changed_files = [new_ebuild_src_path]
+ if os.path.exists(manifest_src_path):
+ changed_files.append(manifest_src_path)
+
+ result = UprevResult(outcome=outcome, changed_files=changed_files)
if stable_ebuild is not None:
result.changed_files.append(stable_ebuild.ebuild_path)
diff --git a/lib/xbuddy/xbuddy.py b/lib/xbuddy/xbuddy.py
index c618bbe..bfc9436 100644
--- a/lib/xbuddy/xbuddy.py
+++ b/lib/xbuddy/xbuddy.py
@@ -575,7 +575,7 @@
if os.path.exists(dev_image):
return 'dev'
- raise XBuddyException('No images found in %s' % local_dir)
+ return None
@staticmethod
def InterpretPath(path, default_board=None, default_version=None):
@@ -854,6 +854,7 @@
# Parse the path.
image_type, board, version, is_local = self.InterpretPath(
path, default_board, default_version)
+ file_name = None
if is_local:
# Get a local image.
if version == LATEST:
@@ -865,10 +866,13 @@
if image_type == ANY:
image_type = self._FindAny(artifact_dir)
- file_name = os.path.join(artifact_dir,
- LOCAL_ALIAS_TO_FILENAME[image_type])
- if not os.path.exists(file_name):
- raise XBuddyException('Local %s artifact not in static_dir at %s' %
+ # If there was an image type discovered, get the file name otherwise, just
+ # return with no file name.
+ if image_type:
+ file_name = os.path.join(artifact_dir,
+ LOCAL_ALIAS_TO_FILENAME[image_type])
+ if not os.path.exists(file_name):
+ raise XBuddyException('Local %s artifact not in static_dir at %s' %
(image_type, file_name))
else:
# Get a remote image.
@@ -879,7 +883,6 @@
board, suffix, version, image_dir=image_dir)
_Log('Resolved version %s to %s.', version, build_id)
- file_name = None
if not lookup_only:
file_name = self._GetFromGS(build_id, image_type, image_dir=image_dir,
channel=channel)[0]
diff --git a/licensing/licenses_lib.py b/licensing/licenses_lib.py
index 81e4e0a..e4eff85 100644
--- a/licensing/licenses_lib.py
+++ b/licensing/licenses_lib.py
@@ -134,10 +134,11 @@
# attribution from them.
COPYRIGHT_ATTRIBUTION_LICENSES = [
'BSD', # requires distribution of copyright notice
- 'BSD-2', # so does BSD-2 http://opensource.org/licenses/BSD-2-Clause
- 'BSD-3', # and BSD-3? http://opensource.org/licenses/BSD-3-Clause
+ 'BSD-2', # so does BSD-2 https://opensource.org/licenses/BSD-2-Clause
+ 'BSD-3', # and BSD-3? https://opensource.org/licenses/BSD-3-Clause
'BSD-4', # and 4?
'BSD-with-attribution',
+ 'ISC', # so does ISC https://opensource.org/licenses/ISC
'MIT',
'MIT-with-advertising',
'Old-MIT',
diff --git a/scripts/cros_extract_deps.py b/scripts/cros_extract_deps.py
index 1ef8e07..6f31cc3 100644
--- a/scripts/cros_extract_deps.py
+++ b/scripts/cros_extract_deps.py
@@ -11,7 +11,6 @@
from __future__ import print_function
from __future__ import absolute_import
-import os
import sys
from chromite.lib.depgraph import DepGraphGenerator
@@ -19,8 +18,8 @@
from chromite.lib import commandline
from chromite.lib import cros_build_lib
from chromite.lib import cros_logging as logging
-from chromite.lib import osutils
from chromite.lib import pformat
+from chromite.lib import sysroot_lib
from chromite.lib.parser import package_info
@@ -154,27 +153,6 @@
return cpes
-def GenerateSDKCPVList(sysroot):
- """Find all SDK packages from package.provided
-
- Args:
- sysroot: The board directory to use when finding SDK packages.
-
- Returns:
- A list of CPV Name strings, e.g.
- ["sys-libs/glibc-2.23-r9", "dev-lang/go-1.8.3-r1"]
- """
- # Look at packages in package.provided.
- sdk_file_path = os.path.join(sysroot, 'etc', 'portage',
- 'profile', 'package.provided')
- for line in osutils.ReadFile(sdk_file_path).splitlines():
- # Skip comments and empty lines.
- line = line.split('#', 1)[0].strip()
- if not line:
- continue
- yield line
-
-
def GenerateCPEList(deps_list, sysroot):
"""Generate all CPEs for the packages included in deps_list and SDK packages
@@ -203,20 +181,20 @@
"""
cpe_dump = []
- # Generage CPEs for SDK packages.
- for sdk_cpv in sorted(GenerateSDKCPVList(sysroot)):
+ # Generate CPEs for SDK packages.
+ for pkg_info in sorted(
+ sysroot_lib.get_sdk_provided_packages(sysroot), key=lambda x: x.cpvr):
# Only add CPE for SDK CPVs missing in deps_list.
- if deps_list.get(sdk_cpv) is not None:
+ if deps_list.get(pkg_info.cpvr) is not None:
continue
- split = package_info.SplitCPV(sdk_cpv)
- cpes = GetCPEFromCPV(split.category, split.package, split.version_no_rev)
+ cpes = GetCPEFromCPV(pkg_info.category, pkg_info.package, pkg_info.version)
if cpes:
- cpe_dump.append({'ComponentName': '%s' % split.cp,
+ cpe_dump.append({'ComponentName': '%s' % pkg_info.atom,
'Repository': 'cros',
'Targets': sorted(cpes)})
else:
- logging.warning('No CPE entry for %s', sdk_cpv)
+ logging.warning('No CPE entry for %s', pkg_info.cpvr)
# Generage CPEs for packages in deps_list.
for cpv, record in sorted(deps_list.items()):
diff --git a/scripts/cros_portage_upgrade.py b/scripts/cros_portage_upgrade.py
index b502b32..84c5378 100644
--- a/scripts/cros_portage_upgrade.py
+++ b/scripts/cros_portage_upgrade.py
@@ -1866,7 +1866,7 @@
'\n'
)
- parser = commandline.ArgumentParser(epilog=epilog)
+ parser = commandline.ArgumentParser(epilog=epilog, default_log_level='notice')
parser.add_argument('packages', nargs='*', default=None,
help='Packages to process.')
parser.add_argument('--amend', action='store_true', default=False,
diff --git a/scripts/cros_sdk.py b/scripts/cros_sdk.py
index dc87c78..11cfb21 100644
--- a/scripts/cros_sdk.py
+++ b/scripts/cros_sdk.py
@@ -21,6 +21,7 @@
import random
import re
import resource
+import subprocess
import sys
from six.moves import urllib
@@ -971,11 +972,19 @@
# --use-image after a reboot to avoid losing access to their existing chroot.
chroot_exists = cros_sdk_lib.IsChrootReady(options.chroot)
img_path = _ImageFileForChroot(options.chroot)
- if (not options.use_image and not chroot_exists and not options.delete and
- not options.unmount and os.path.exists(img_path)):
- logging.notice('Existing chroot image %s found. Forcing --use-image on.',
- img_path)
- options.use_image = True
+ if (not options.use_image and not options.delete and not options.unmount
+ and os.path.exists(img_path)):
+ if chroot_exists:
+ # If the chroot is already populated, make sure it has something
+ # mounted on it before we assume it came from an image.
+ cmd = ['mountpoint', '-q', options.chroot]
+ if cros_build_lib.dbg_run(cmd, check=False).returncode == 0:
+ options.use_image = True
+
+ else:
+ logging.notice('Existing chroot image %s found. Forcing --use-image on.',
+ img_path)
+ options.use_image = True
if any_snapshot_operation and not options.use_image:
if os.path.exists(img_path):
@@ -1138,14 +1147,19 @@
extra_gbs = (img_used_bytes - mount_used_bytes) // 2**30
if extra_gbs > MAX_UNUSED_IMAGE_GBS:
logging.notice('%s is using %s GiB more than needed. Running '
- 'fstrim.', img_path, extra_gbs)
- cmd = ['fstrim', options.chroot]
- try:
- cros_build_lib.dbg_run(cmd)
- except cros_build_lib.RunCommandError as e:
- logging.warning(
- 'Running fstrim failed. Consider running fstrim on '
- 'your chroot manually.\n%s', e)
+ 'fstrim in background.', img_path, extra_gbs)
+ pid = os.fork()
+ if pid == 0:
+ try:
+ # Directly call Popen to run fstrim concurrently.
+ cmd = ['fstrim', options.chroot]
+ subprocess.Popen(cmd, close_fds=True, shell=False)
+ except subprocess.SubprocessError as e:
+ logging.warning(
+ 'Running fstrim failed. Consider running fstrim on '
+ 'your chroot manually.\n%s', e)
+ os._exit(0) # pylint: disable=protected-access
+ os.waitpid(pid, 0)
# Enter a new set of namespaces. Everything after here cannot directly affect
# the hosts's mounts or alter LVM volumes.
diff --git a/scripts/pushimage.py b/scripts/pushimage.py
index b5fd647..90ee2fd 100644
--- a/scripts/pushimage.py
+++ b/scripts/pushimage.py
@@ -56,7 +56,7 @@
constants.IMAGE_TYPE_ACCESSORY_USBPD,
constants.IMAGE_TYPE_ACCESSORY_RWSIG,
constants.IMAGE_TYPE_BASE,
- constants.IMAGE_TYPE_CR50_FIRMWARE,
+ constants.IMAGE_TYPE_GSC_FIRMWARE,
)
@@ -292,7 +292,8 @@
def PushImage(src_path, board, versionrev=None, profile=None, priority=50,
sign_types=None, dry_run=False, mock=False, force_keysets=(),
- force_channels=None, buildroot=constants.SOURCE_ROOT):
+ force_channels=None, buildroot=constants.SOURCE_ROOT,
+ dest_bucket=constants.RELEASE_BUCKET):
"""Push the image from the archive bucket to the release bucket.
Args:
@@ -309,6 +310,7 @@
force_keysets: Set of keysets to use rather than what the inputs say.
force_channels: Set of channels to use rather than what the inputs say.
buildroot: Buildroot in which to look for signing instructions.
+ dest_bucket: Bucket to push results to.
Returns:
A dictionary that maps 'channel' -> ['gs://signer_instruction_uri1',
@@ -371,7 +373,7 @@
gs_base = os.path.join(tbs_base, getpass.getuser())
else:
logging.info('Upload mode: normal; signers will process the images')
- tbs_base = gs_base = constants.RELEASE_BUCKET
+ tbs_base = gs_base = dest_bucket
sect_general = {
'config_board': board,
@@ -408,7 +410,7 @@
firmware_basename = _ImageNameBase(constants.IMAGE_TYPE_FIRMWARE)
acc_usbpd_basename = _ImageNameBase(constants.IMAGE_TYPE_ACCESSORY_USBPD)
acc_rwsig_basename = _ImageNameBase(constants.IMAGE_TYPE_ACCESSORY_RWSIG)
- cr50_firmware_basename = _ImageNameBase(constants.IMAGE_TYPE_CR50_FIRMWARE)
+ gsc_firmware_basename = _ImageNameBase(constants.IMAGE_TYPE_GSC_FIRMWARE)
test_basename = _ImageNameBase(constants.IMAGE_TYPE_TEST)
base_basename = _ImageNameBase(constants.IMAGE_TYPE_BASE)
hwqual_tarball = 'chromeos-hwqual-%s-%s.tar.bz2' % (board, versionrev)
@@ -447,8 +449,8 @@
('firmware_from_source.tar.bz2', acc_rwsig_basename, 'tar.bz2',
constants.IMAGE_TYPE_ACCESSORY_RWSIG),
- ('firmware_from_source.tar.bz2', cr50_firmware_basename, 'tar.bz2',
- constants.IMAGE_TYPE_CR50_FIRMWARE),
+ ('firmware_from_source.tar.bz2', gsc_firmware_basename, 'tar.bz2',
+ constants.IMAGE_TYPE_GSC_FIRMWARE),
)
# The following build artifacts are copied and marked for signing, if
@@ -616,6 +618,8 @@
help='Buildroot to use. Defaults to current.')
parser.add_argument('--yes', action='store_true', default=False,
help='answer yes to all prompts')
+ parser.add_argument('--dest-bucket', default=constants.RELEASE_BUCKET,
+ help='dest bucket. Default to %(default)s')
return parser
@@ -644,4 +648,4 @@
profile=opts.profile, priority=opts.priority,
sign_types=opts.sign_types, dry_run=opts.dry_run, mock=opts.mock,
force_keysets=force_keysets, force_channels=opts.channels,
- buildroot=opts.buildroot)
+ buildroot=opts.buildroot, dest_bucket=opts.dest_bucket)
diff --git a/scripts/pushimage_unittest.py b/scripts/pushimage_unittest.py
index c8b2e92..bcbecc4 100644
--- a/scripts/pushimage_unittest.py
+++ b/scripts/pushimage_unittest.py
@@ -320,20 +320,20 @@
self.assertTrue(self.mark_mock.called)
self.assertEqual(urls, EXPECTED)
- def testSignTypesCr50Firmware(self):
+ def testSignTypesGscFirmware(self):
"""Only sign the requested type"""
EXPECTED = {
'canary': [
('gs://chromeos-releases/canary-channel/board2/5126.0.0/'
- 'ChromeOS-cr50_firmware-R34-5126.0.0-board2.instructions')],
+ 'ChromeOS-gsc_firmware-R34-5126.0.0-board2.instructions')],
'dev': [
('gs://chromeos-releases/dev-channel/board2/5126.0.0/'
- 'ChromeOS-cr50_firmware-R34-5126.0.0-board2.instructions')],
+ 'ChromeOS-gsc_firmware-R34-5126.0.0-board2.instructions')],
}
with mock.patch.object(gs.GSContext, 'Exists', return_value=True):
urls = pushimage.PushImage('/src', 'board2', 'R34-5126.0.0',
- sign_types=['cr50_firmware'])
+ sign_types=['gsc_firmware'])
self.assertEqual(self.gs_mock.call_count, 30)
self.assertTrue(self.mark_mock.called)
self.assertEqual(urls, EXPECTED)
diff --git a/scripts/run_pytest.py b/scripts/run_pytest.py
index 53fdda7..499a559 100644
--- a/scripts/run_pytest.py
+++ b/scripts/run_pytest.py
@@ -35,7 +35,6 @@
ensure_chroot_exists()
re_execute_inside_chroot(argv)
else:
- os.chdir(constants.CHROMITE_DIR)
pytest_args += ['--no-chroot']
# This is a cheesy hack to make sure gsutil is populated in the cache before
@@ -81,15 +80,22 @@
def re_execute_inside_chroot(argv):
"""Re-execute the test wrapper inside the chroot."""
+ if cros_build_lib.IsInsideChroot():
+ return
+
+ target = os.path.join(constants.CHROMITE_DIR, 'scripts', 'run_pytest')
+ relpath = os.path.relpath(target, '.')
+ # If we're in the scripts dir, make sure we always have a relative path,
+ # otherwise cros_sdk will search $PATH and fail.
+ if os.path.sep not in relpath:
+ relpath = os.path.join('.', relpath)
cmd = [
'cros_sdk',
+ '--working-dir', '.',
'--',
- os.path.join('..', '..', 'chromite', 'run_pytest'),
+ relpath,
]
- if not cros_build_lib.IsInsideChroot():
- os.execvp(cmd[0], cmd + argv)
- else:
- os.chdir(constants.CHROMITE_DIR)
+ os.execvp(cmd[0], cmd + argv)
def ensure_chroot_exists():
diff --git a/scripts/run_tests.py b/scripts/run_tests.py
index 82c99dc..90a78f8 100644
--- a/scripts/run_tests.py
+++ b/scripts/run_tests.py
@@ -73,7 +73,6 @@
# List all exceptions, with a token describing what's odd here.
SPECIAL_TESTS = {
# Tests that need to run inside the chroot.
- 'cli/cros/lint_unittest': INSIDE,
'lib/cros_test_lib_unittest': INSIDE,
'lib/operation_unittest': INSIDE,
diff --git a/scripts/trigger_cr50_signing b/scripts/trigger_gsc_signing
similarity index 100%
rename from scripts/trigger_cr50_signing
rename to scripts/trigger_gsc_signing
diff --git a/scripts/trigger_cr50_signing.py b/scripts/trigger_gsc_signing.py
similarity index 87%
rename from scripts/trigger_cr50_signing.py
rename to scripts/trigger_gsc_signing.py
index 11b1de1..155afb2 100644
--- a/scripts/trigger_cr50_signing.py
+++ b/scripts/trigger_gsc_signing.py
@@ -3,7 +3,7 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-"""Trigger signing for cr50 images.
+"""Trigger signing for gsc images.
Causes signing to occur for a given artifact.
"""
@@ -26,8 +26,9 @@
assert sys.version_info >= (3, 6), 'This module requires Python 3.6+'
-CR50_PRODUCTION_JOB = 'chromeos/packaging/sign-image'
-CR50_STAGING_JOB = 'chromeos/staging/staging-sign-image'
+GSC_PRODUCTION_JOB = 'chromeos/packaging/sign-image'
+GSC_STAGING_JOB = 'chromeos/staging/staging-sign-image'
+_IMAGE_TYPE = 'gsc_firmware'
# See ../infra/proto/src/chromiumos/common.proto.
_channels = {k.lower().replace('channel_', ''): v
@@ -42,7 +43,7 @@
# See ../infra/proto/src/chromiumos/sign_image.proto.
_target_types = {k.lower(): v
- for k, v in sign_image_pb2.Cr50Instructions.Target.items()
+ for k, v in sign_image_pb2.GscInstructions.Target.items()
if v}
@@ -88,10 +89,6 @@
'--keyset', default='cr50-accessory-mp', help='The keyset to use.')
parser.add_argument(
- '--image-type', choices=_image_types, default='cr50_firmware',
- help='The image type.')
-
- parser.add_argument(
'--signer-type', choices=_signer_types,
default='production', help='The image type.')
@@ -136,9 +133,6 @@
options.Freeze()
passes = True
- if options.image_type != 'cr50_firmware':
- logging.error('Unsupported --image-type %s', options.image_type)
- passes = False
if options.target == 'node_locked':
if not options.dev_ids:
@@ -156,16 +150,16 @@
if not passes:
return 1
- builder = CR50_STAGING_JOB if options.staging else CR50_PRODUCTION_JOB
+ builder = GSC_STAGING_JOB if options.staging else GSC_PRODUCTION_JOB
properties = {
'archive': options.archive,
'build_target': {'name': options.build_target},
'channel': _channels[options.channel],
- 'cr50_instructions': {
+ 'gsc_instructions': {
'target': _target_types[options.target],
},
- 'image_type': _image_types[options.image_type],
+ 'image_type': _image_types[_IMAGE_TYPE],
'keyset': options.keyset,
'signer_type': _signer_types[options.signer_type],
}
@@ -180,6 +174,6 @@
LaunchOne(options.dry_run, builder, properties)
else:
for dev in options.dev_ids:
- properties['cr50_instructions']['device_id'] = dev
+ properties['gsc_instructions']['device_id'] = dev
LaunchOne(options.dry_run, builder, properties)
return 0
diff --git a/scripts/trigger_cr50_signing_unittest.py b/scripts/trigger_gsc_signing_unittest.py
similarity index 83%
rename from scripts/trigger_cr50_signing_unittest.py
rename to scripts/trigger_gsc_signing_unittest.py
index 6e7f93a..6f4d9f4 100644
--- a/scripts/trigger_cr50_signing_unittest.py
+++ b/scripts/trigger_gsc_signing_unittest.py
@@ -3,7 +3,7 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-"""Unittests for trigger_cr50_signing.py."""
+"""Unittests for trigger_gsc_signing.py."""
from __future__ import print_function
@@ -12,7 +12,7 @@
import mock
-from chromite.scripts import trigger_cr50_signing as trigger
+from chromite.scripts import trigger_gsc_signing as trigger
from chromite.api.gen.chromiumos import common_pb2
from chromite.api.gen.chromiumos import sign_image_pb2
from chromite.lib import cros_logging as logging
@@ -63,13 +63,13 @@
args = ['--archive', 'gs://test/file.bin', '--keyset', 'test-keyset']
self.assertEqual(0, trigger.main(args))
launch.assert_called_once_with(
- False, trigger.CR50_PRODUCTION_JOB, {
+ False, trigger.GSC_PRODUCTION_JOB, {
'archive': 'gs://test/file.bin',
'build_target': {'name': 'unknown'},
'channel': common_pb2.CHANNEL_UNSPECIFIED,
- 'cr50_instructions': {
- 'target': sign_image_pb2.Cr50Instructions.PREPVT},
- 'image_type': common_pb2.CR50_FIRMWARE,
+ 'gsc_instructions': {
+ 'target': sign_image_pb2.GscInstructions.PREPVT},
+ 'image_type': common_pb2.GSC_FIRMWARE,
'keyset': 'test-keyset',
'signer_type': sign_image_pb2.SIGNER_PRODUCTION})
@@ -82,18 +82,18 @@
build_target = 'board'
target = 'prepvt'
signer = 'production'
- image = 'cr50_firmware'
+ image = 'gsc_firmware'
args = ['--archive', archive, '--keyset', keyset, '--channel', channel,
'--build-target', build_target, '--target', target,
- '--signer-type', signer, '--image-type', image]
+ '--signer-type', signer]
self.assertEqual(0, trigger.main(args))
launch.assert_called_once_with(
- False, trigger.CR50_PRODUCTION_JOB, {
+ False, trigger.GSC_PRODUCTION_JOB, {
'archive': archive,
'build_target': {'name': build_target},
'channel': trigger._channels[channel],
- 'cr50_instructions': {'target': trigger._target_types[target]},
+ 'gsc_instructions': {'target': trigger._target_types[target]},
'image_type': trigger._image_types[image],
'keyset': keyset,
'signer_type': trigger._signer_types[signer]})
@@ -105,13 +105,13 @@
'--staging']
self.assertEqual(0, trigger.main(args))
launch.assert_called_once_with(
- False, trigger.CR50_STAGING_JOB, {
+ False, trigger.GSC_STAGING_JOB, {
'archive': 'gs://test/file.bin',
'build_target': {'name': 'unknown'},
'channel': common_pb2.CHANNEL_UNSPECIFIED,
- 'cr50_instructions': {
- 'target': sign_image_pb2.Cr50Instructions.PREPVT},
- 'image_type': common_pb2.CR50_FIRMWARE,
+ 'gsc_instructions': {
+ 'target': sign_image_pb2.GscInstructions.PREPVT},
+ 'image_type': common_pb2.GSC_FIRMWARE,
'keyset': 'test-keyset',
'signer_type': sign_image_pb2.SIGNER_PRODUCTION})
@@ -122,13 +122,13 @@
'--dry-run']
self.assertEqual(0, trigger.main(args))
launch.assert_called_once_with(
- True, trigger.CR50_PRODUCTION_JOB, {
+ True, trigger.GSC_PRODUCTION_JOB, {
'archive': 'gs://test/file.bin',
'build_target': {'name': 'unknown'},
'channel': common_pb2.CHANNEL_UNSPECIFIED,
- 'cr50_instructions': {
- 'target': sign_image_pb2.Cr50Instructions.PREPVT},
- 'image_type': common_pb2.CR50_FIRMWARE,
+ 'gsc_instructions': {
+ 'target': sign_image_pb2.GscInstructions.PREPVT},
+ 'image_type': common_pb2.GSC_FIRMWARE,
'keyset': 'test-keyset',
'signer_type': sign_image_pb2.SIGNER_PRODUCTION})
@@ -171,21 +171,21 @@
expected_properties = [
{'archive': 'gs://test/file.bin', 'build_target': {'name': 'unknown'},
'channel': 0,
- 'cr50_instructions': {'target': trigger._target_types['node_locked'],
+ 'gsc_instructions': {'target': trigger._target_types['node_locked'],
'device_id': '00000001-00001234'},
'signer_type': sign_image_pb2.SIGNER_PRODUCTION,
- 'image_type': common_pb2.CR50_FIRMWARE, 'keyset': 'test-keyset'},
+ 'image_type': common_pb2.GSC_FIRMWARE, 'keyset': 'test-keyset'},
{'archive': 'gs://test/file.bin', 'build_target': {'name': 'unknown'},
'channel': 0,
- 'cr50_instructions': {'target': trigger._target_types['node_locked'],
+ 'gsc_instructions': {'target': trigger._target_types['node_locked'],
'device_id': '00000002-00000021'},
'signer_type': sign_image_pb2.SIGNER_PRODUCTION,
- 'image_type': common_pb2.CR50_FIRMWARE, 'keyset': 'test-keyset'}]
+ 'image_type': common_pb2.GSC_FIRMWARE, 'keyset': 'test-keyset'}]
# Check the calls in two parts, since we need to convert the json string
# back to a dict.
self.assertEqual(self.rc.call_args_list, [
mock.call(
- ['bb', 'add', '-p', '@/dev/stdin', trigger.CR50_PRODUCTION_JOB],
+ ['bb', 'add', '-p', '@/dev/stdin', trigger.GSC_PRODUCTION_JOB],
log_output=True, input=mock.ANY) for _ in expected_properties])
self.assertEqual(
expected_properties,
diff --git a/sdk/README.md b/sdk/README.md
new file mode 100644
index 0000000..865a341
--- /dev/null
+++ b/sdk/README.md
@@ -0,0 +1,5 @@
+# Chromium OS SDK
+
+Here we hold files related to the SDK.
+These will largely be symlinked into place so they're always fresh.
+Nothing should be executed directly out of here.
diff --git a/sdk/etc/bash_completion.d/cros b/sdk/etc/bash_completion.d/cros
new file mode 100644
index 0000000..63929bb
--- /dev/null
+++ b/sdk/etc/bash_completion.d/cros
@@ -0,0 +1,294 @@
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Add programmable completion to some Chromium OS build scripts
+
+# Declare one cache for all bash complete operations to
+# allow it to be easiley cleared if need be.
+# > unset _comp_cache
+declare -A _comp_cache
+
+# Usage: cros --help | _subcmds_from_help
+# Parse subcommands from a commands's help message.
+# Trims the help outputs after it see any token with "command"
+# in it. Then, it searches for a no-space bracketed token,
+# similar to the following:
+# {subcmd1,subcmd2,subcmd3}
+_subcmds_from_help() {
+ sed -n -e '/commands:/,$p' \
+ | egrep -o '\{[[:alnum:]_,-]+\}' | sort -u \
+ | tr -d '{}' | tr ',' ' '
+ return ${PIPESTATUS[0]}
+}
+
+# Echo a list of -- flags that the current command accepts. The
+# function assumes that the command supports shflags' --help flag.
+_flags() {
+ command "$@" --help 2>&1 \
+ | egrep -o -- '--(\[no\])?[[:alnum:]=_-]+' \
+ | sed -E -e 's|--\[no\](.+)|--\1 --no\1|'
+}
+
+# Complete flags, i.e., current words starting with --. Return 1 if
+# the current word doesn't start with --, 0 otherwise.
+_complete_flag_help() {
+ COMPREPLY=()
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ if [[ "${cur}" == --* ]]; then
+ local key="flags/${COMP_WORDS[0]}"
+ if [[ -z "${_comp_cache[${key}]}" ]]; then
+ _comp_cache[${key}]="$(_flags "${COMP_WORDS[0]}")"
+ fi
+ COMPREPLY=( $(compgen -W "${_comp_cache[${key}]}" -- "${cur}") )
+ return 0
+ fi
+ return 1
+}
+
+# Look for "--arg=foo" or "--arg foo" (where foo can be an empty string) in the
+# word to be completed. If found, echo "--arg=foo".
+_argeq() {
+ local arg=$1
+ local w0="${COMP_WORDS[COMP_CWORD]}"
+ local w1="${COMP_WORDS[COMP_CWORD-1]}"
+
+ # Check for completing "--arg="
+ if [ "${w1}" == ${arg} -a "${w0}" == "=" ]; then
+ echo "${w1}${w0}"
+ return 0
+ fi
+
+ # Check for completing "--arg foo"
+ if [ "${w1}" == ${arg} ]; then
+ echo "${w1}=${w0}"
+ return 0
+ fi
+
+ # Check for completing "--arg=foo"
+ if [ ${COMP_CWORD} -gt 2 ]; then
+ local w2="${COMP_WORDS[COMP_CWORD-2]}"
+ if [ "${w2}" == ${arg} -a "${w1}" == "=" ]; then
+ echo "${w2}${w1}${w0}"
+ return 0
+ fi
+ fi
+}
+
+
+# echo the existing target board sysroots
+_board_sysroots() {
+ local builddir=/build
+ if [ -d ${builddir} ]; then
+ echo $(command ls "${builddir}")
+ fi
+}
+
+_complete_board_sysroot_flag() {
+ COMPREPLY=()
+ local arg=$(_argeq --board)
+ if [[ ${arg} == --board=* ]]; then
+ COMPREPLY=( $(compgen -W "$(_board_sysroots)" -- ${arg#--board=}) )
+ return 0
+ fi
+ return 1
+}
+
+# Completion for --board= argument for existing board sysroots
+_complete_basic() {
+ _complete_flag_help && return 0
+ _complete_board_sysroot_flag && return 0
+}
+
+# echo the existing target board overlays
+_board_overlays() {
+ local overlaydir=../overlays
+ if [ -d ${overlaydir} ]; then
+ echo $(command ls $overlaydir | grep overlay- | sed s,overlay-,,)
+ fi
+}
+
+# Completion for --board= argument for existing board overlays
+_board_overlay() {
+ _complete_flag_help && return 0
+
+ COMPREPLY=()
+ local arg=$(_argeq --board)
+ if [[ ${arg} == --board=* ]]; then
+ COMPREPLY=( $(compgen -W "$(_board_overlays)" -- ${arg#--board=}) )
+ fi
+}
+
+# Completion for -c and -s argument for autotest script
+_ls_autotest() {
+ local autotest_dir=../third_party/autotest/files
+ ls --color=never -dBFH ${autotest_dir}/$1* 2>/dev/null \
+ | sed s/"..\/third_party\/autotest\/files\/"//g
+}
+
+_autotest_complete() {
+ _complete_flag_help && return 0
+
+ local arg=$(_argeq -c)
+ if [[ ${arg} == -c=* ]]; then
+ COMPREPLY=($(compgen -W "$(_ls_autotest ${arg#-c=})"))
+ return 0
+ fi
+
+ arg=$(_argeq -s)
+ if [[ ${arg} == -s=* ]]; then
+ COMPREPLY=($(compgen -W "$(_ls_autotest ${arg#-s=})"))
+ return 0
+ fi
+
+ _complete_board_sysroot_flag && return 0
+}
+
+_test_that_complete() {
+ _complete_flag_help && return 0
+ return 0
+}
+
+# Complete cros_workon's <command> argument.
+#
+# TODO(petkov): We should probably extract the list of commands from
+# cros_workon --help, just like we do for flags (see _complete_flag_help).
+#
+# TODO(petkov): Currently, this assumes that the command is the first
+# argument. In practice, the command is the first non-flag
+# argument. I.e., this should be fixed to support something like
+# "cros_workon --all list".
+_complete_cros_workon_command() {
+ [ ${COMP_CWORD} -eq 1 ] || return 1
+ local command="${COMP_WORDS[1]}"
+
+ # TODO(hesling): Local scoped references to associative arrays
+ # seems to be broken in bash version 4.3.48, but working in version 5.
+ # We can beautify this by using the following command, when cros bash
+ # is updated.
+ # local -n cache="_comp_cache[subcmds/cros_workon]"
+
+ local key="subcmds/cros_workon"
+ if [[ -z "${_comp_cache[${key}]}" ]]; then
+ _comp_cache[${key}]="$(command cros_workon --help | _subcmds_from_help)"
+ fi
+ COMPREPLY=($(compgen -W "${_comp_cache[${key}]}" -- "${command}"))
+ return 0
+}
+
+# Prints the full path to the cros_workon executable, handling tilde
+# expansion for the current user.
+_cros_workon_executable() {
+ local cros_workon="${COMP_WORDS[0]}"
+ if [[ "$cros_workon" == '~/'* ]]; then
+ cros_workon="$HOME/${cros_workon#'~/'}"
+ fi
+ echo "$cros_workon"
+}
+
+# Lists the workon (or live, if --all is passed in) ebuilds. Lists
+# both the full names (e.g., chromeos-base/metrics) as well as just
+# the ebuild names (e.g., metrics).
+_cros_workon_list() {
+ local cros_workon=$(_cros_workon_executable)
+ ${cros_workon} $1 list | sed 's,\(.\+\)/\(.\+\),\1/\2 \2,'
+}
+
+# Completes the current cros_workon argument assuming it's a
+# package/ebuild name.
+_complete_cros_workon_package() {
+ [ ${COMP_CWORD} -gt 1 ] || return 1
+ local package="${COMP_WORDS[COMP_CWORD]}"
+ local command="${COMP_WORDS[1]}"
+ # If "start", complete based on all workon packages.
+ if [[ ${command} == "start" ]]; then
+ local key="pkgs/all"
+ if [[ -z "${_comp_cache[${key}]}" ]]; then
+ _comp_cache[${key}]="$(_cros_workon_list --all)"
+ fi
+ COMPREPLY=($(compgen -W "${_comp_cache[${key}]}" -- "${package}"))
+ return 0
+ fi
+ # If "stop" or "iterate", complete based on all live packages.
+ if [[ ${command} == "stop" ]] || [[ ${command} == "iterate" ]]; then
+ COMPREPLY=($(compgen -W "$(_cros_workon_list)" -- "$package"))
+ return 0
+ fi
+ return 1
+}
+
+# Complete cros_workon arguments.
+_cros_workon() {
+ COMPREPLY=()
+ _complete_flag_help && return 0
+ _complete_board_sysroot_flag && return 0
+ _complete_cros_workon_command && return 0
+ _complete_cros_workon_package && return 0
+ return 0
+}
+
+_complete_cros_command() {
+ local command="${COMP_WORDS[COMP_CWORD]}"
+ if [ ${COMP_CWORD} -ne 1 ]; then
+ return 1
+ fi
+
+ local key="subcmds/cros"
+ if [[ -z "${_comp_cache[${key}]}" ]]; then
+ _comp_cache[${key}]="$(command cros --help | _subcmds_from_help)"
+ fi
+ COMPREPLY=($(compgen -W "${_comp_cache[${key}]}" -- "${command}"))
+ return 0
+}
+
+# Complete cros arguments.
+_cros() {
+ COMPREPLY=()
+ _complete_flag_help && return 0
+ _complete_board_sysroot_flag && return 0
+ _complete_cros_command && return 0
+ # TODO(hesling): Add package completion like cros_workon.
+ return 0
+}
+
+# Complete equery's <module-name> argument.
+_complete_equery_module_name() {
+ [ ${COMP_CWORD} -eq 1 ] || return 1
+ local command="${COMP_WORDS[1]}"
+ COMPREPLY=($(compgen -W "belongs changes check depends depgraph files has \
+ hasuse keywords list meta size uses which" \
+ -- "$command"))
+ return 0
+}
+
+# Complete equery arguments.
+_complete_equery() {
+ COMPREPLY=()
+ _complete_equery_module_name && return 0
+ return 0
+}
+
+complete -o bashdefault -o default -F _complete_basic \
+ build_autotest.sh \
+ build_image \
+ build_packages \
+ mod_image_for_test.sh \
+ cros_portage_upgrade
+
+complete -o bashdefault -o default -F _board_overlay setup_board
+complete -o bashdefault -o default -o nospace -F _autotest_complete autotest
+complete -o bashdefault -o default -o nospace -F _test_that_complete test_that
+complete -o bashdefault -o default -F _cros cros
+complete -F _cros_workon cros_workon
+complete -o bashdefault -o default -F _complete_equery equery
+
+# Use equery completion for equery-$board for known boards
+_boardlist=$(cros_list_overlays | egrep "^.*/overlays/overlay-.*$" |
+ sed -n "s/.*overlay-//p")
+for board in $_boardlist; do
+ complete -o bashdefault -o default -F _complete_equery equery-$board
+done
+
+### Local Variables:
+### mode: shell-script
+### End:
diff --git a/sdk/etc/bash_completion.d/repo b/sdk/etc/bash_completion.d/repo
new file mode 100644
index 0000000..f9bf898
--- /dev/null
+++ b/sdk/etc/bash_completion.d/repo
@@ -0,0 +1,105 @@
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Programmable completion for some Chromium OS build scripts.
+
+_list_repo_commands() {
+ local repo=${COMP_WORDS[0]}
+ "${repo}" help --all | grep -E '^ ' | sed 's/ \([^ ]\+\) .\+/\1/'
+}
+
+_list_repo_branches() {
+ local repo=${COMP_WORDS[0]}
+ "${repo}" branches 2>&1 | grep \| | sed 's/[ *][Pp ] *\([^ ]\+\) .*/\1/'
+}
+
+_list_repo_projects() {
+ local repo=${COMP_WORDS[0]}
+ "${repo}" list -n
+}
+
+# Complete the repo <command> argument.
+_complete_repo_command() {
+ [ ${COMP_CWORD} -eq 1 ] || return 1
+ local command=${COMP_WORDS[1]}
+ COMPREPLY=($(compgen -W "$(_list_repo_commands)" -- "${command}"))
+ return 0
+}
+
+_complete_repo_arg() {
+ [ ${COMP_CWORD} -gt 1 ] || return 1
+ local command=${COMP_WORDS[1]}
+ local current=${COMP_WORDS[COMP_CWORD]}
+ if [[ ${command} == "abandon" ]]; then
+ if [[ ${COMP_CWORD} -eq 2 ]]; then
+ COMPREPLY=($(compgen -W "$(_list_repo_branches)" -- "${current}"))
+ else
+ COMPREPLY=($(compgen -W "$(_list_repo_projects)" -- "${current}"))
+ fi
+ return 0
+ fi
+ if [[ ${command} == "help" ]]; then
+ [ ${COMP_CWORD} -eq 2 ] && \
+ COMPREPLY=($(compgen -W "$(_list_repo_commands)" -- "${current}"))
+ return 0
+ fi
+ if [[ ${command} == "start" ]]; then
+ [ ${COMP_CWORD} -gt 2 ] && \
+ COMPREPLY=($(compgen -W "$(_list_repo_projects)" -- "${current}"))
+ return 0
+ fi
+ return 1
+}
+
+# Complete the repo arguments.
+_complete_repo() {
+ COMPREPLY=()
+ _complete_repo_command && return 0
+ _complete_repo_arg && return 0
+ return 0
+}
+
+complete -F _complete_repo repo
+
+if [[ -f /usr/share/git/git-prompt.sh ]]; then
+ # Path in the cros_sdk chroot
+ source /usr/share/git/git-prompt.sh
+elif [[ -f /usr/share/bash-completion/completions/git ]]; then
+ # Path on Ubuntu 19.10
+ source /usr/share/bash-completion/completions/git
+fi
+
+# Add a way to get the "m" branch from repo easily; used by __git_branch_ps1()
+#
+# Repo seems to maintain a phony 'm/' remote and it always seems to be the name
+# of the manifest branch. This will retrieve it.
+__git_m_branch() {
+ local git_dir=$(git rev-parse --git-dir 2> /dev/null)
+ if [ -n "${git_dir}" ]; then
+ echo $(cd ${git_dir}/refs/remotes/m 2> /dev/null && ls)
+ fi
+}
+
+# A "subclass" of __git_ps1 that adds the manifest branch name into the prompt.
+# ...if you're on manifest branch "0.11.257.B" and local branch "lo" and
+# pass " (%s)", we'll output " (0.11.257.B/lo)". Note that we'll never show
+# the manifest branch 'master', since it's so common.
+__git_branch_ps1() {
+ local format_str="${1:- (%s)}"
+ local m_branch=$(__git_m_branch)
+ # Do not print the branch name if it includes 'master'.
+ if [[ "${m_branch}" != *master* && -n "${m_branch}" ]]; then
+ format_str=$(printf "${format_str}" "${m_branch}/%s")
+ fi
+ # for subshells, prefix the prompt with the shell nesting level
+ local lshlvl=""
+ [ ! -z "${SHLVL##*[!0-9]*}" ] && [ ${SHLVL} -gt 1 ] && lshlvl="${SHLVL} "
+ __git_ps1 "${lshlvl}${format_str}"
+}
+
+# Prompt functions should not error when in subshells
+export -f __gitdir
+export -f __git_ps1
+export -f __git_m_branch
+export -f __git_branch_ps1
diff --git a/service/artifacts.py b/service/artifacts.py
index 184f727..1edc44d 100644
--- a/service/artifacts.py
+++ b/service/artifacts.py
@@ -13,6 +13,7 @@
import collections
import fnmatch
import glob
+import multiprocessing
import os
import shutil
import tempfile
@@ -21,7 +22,9 @@
from six.moves import urllib
from chromite.lib import autotest_util
+from chromite.lib import build_target_lib
from chromite.lib import cache
+from chromite.lib import chroot_lib
from chromite.lib import constants
from chromite.lib import cros_build_lib
from chromite.lib import cros_logging as logging
@@ -721,7 +724,7 @@
def GatherSymbolFiles(tempdir:str, destdir:str,
- paths: List[str]) -> List[SymbolFileTuple]:
+ paths: List[str]) -> List[SymbolFileTuple]:
"""Locate symbol files in |paths|
This generator function searches all paths for .sym files and copies them to
@@ -729,13 +732,18 @@
examined. A path to a directory will result in the directory being searched
for .sym files. The generator yields SymbolFileTuple objects that contain
symbol file references which are valid after this exits. Those files may exist
- externally, or be created in the tempdir (when expanding tarballs).
+ externally, or be created in the tempdir (when expanding tarballs). Typical
+ usage in the BuildAPI will be for the .sym files to exist under a directory
+ such as /build/<board>/usr/lib/debug/breakpad so that the path to a sym file
+ will always be unique.
Note: the caller must clean up the tempdir.
Note: this function is recursive for tar files.
Args:
tempdir: Path to use for temporary files.
- destdir: All .sym files are copied to this path.
+ destdir: All .sym files are copied to this path. Tarfiles are opened inside
+ a tempdir and any .sym files within them are copied to destdir from within
+ that temp path.
paths: A list of input paths to walk. Files are returned based on .sym name
w/out any checking internal symbol file format.
Dirs are searched for files that end in ".sym". Urls are not handled.
@@ -760,11 +768,6 @@
filename = os.path.join(root, f)
relative_path = filename[len(p):].lstrip('/')
try:
- # TODO(crbug.com/1031380): Put calls to shutil.copy in a function
- # that handles collisions in destdir due to different paths
- # to the same filename (foo/a/a.sym from path foo, bar/a/a.sym
- # from path bar) since the last shutil.copy will overwrite
- # previous one.
shutil.copy(filename, os.path.join(destdir, relative_path))
except IOError:
# Handles pre-3.3 Python where we may need to make the target
@@ -805,3 +808,44 @@
shutil.copy(p, destdir)
yield SymbolFileTuple(relative_path=os.path.basename(p),
source_file_name=p)
+
+
+def GenerateBreakpadSymbols(chroot: chroot_lib.Chroot,
+ build_target: build_target_lib.BuildTarget,
+ debug: bool) -> cros_build_lib.CommandResult:
+ """Generate breakpad (go/breakpad) symbols for debugging.
+
+ This function generates .sym files to /build/<board>/usr/lib/debug/breakpad
+ from .debug files found in /build/<board>/usr/lib/debug by calling
+ cros_generate_breakpad_symbols.
+
+ Args:
+ chroot (chroot_lib.Chroot): The chroot in which the sysroot should be built.
+ build_target: The sysroot's build target.
+ debug: Include extra debugging output.
+ """
+ # The firmware directory contains elf symbols that we have trouble parsing
+ # and that don't help with breakpad debugging (see https://crbug.com/213670).
+ exclude_dirs = ['firmware']
+
+ cmd = [
+ 'cros_generate_breakpad_symbols'
+ ]
+ if debug:
+ cmd += ['--debug']
+
+ # Execute for board in parallel with half # of cpus available to avoid
+ # starving other parallel processes on the same machine.
+ cmd += [
+ '--board=%s' % build_target.name,
+ '--jobs', max(1, multiprocessing.cpu_count() // 2)
+ ]
+ cmd += ['--exclude-dir=%s' % x for x in exclude_dirs]
+
+ logging.info('Generating breakpad symbols: %s.', cmd)
+ result = cros_build_lib.run(
+ cmd,
+ capture_output=True,
+ enter_chroot=True,
+ chroot_args=chroot.get_enter_args())
+ return result
diff --git a/service/artifacts_unittest.py b/service/artifacts_unittest.py
index 69dbadb..820bf64 100644
--- a/service/artifacts_unittest.py
+++ b/service/artifacts_unittest.py
@@ -694,7 +694,7 @@
self.assertEqual(os.readlink(disk_raw), self.image_file)
-class TestGatherSymbolFiles(cros_test_lib.MockTempDirTestCase):
+class GatherSymbolFilesTest(cros_test_lib.MockTempDirTestCase):
"""Base class for testing GatherSymbolFiles."""
SLIM_CONTENT = """
@@ -876,6 +876,9 @@
symbol_file_relative_paths.sort()
self.assertEqual(symbol_file_relative_paths,
['dir1/fileU.sym', 'fileD.sym'])
+ for symfile in symbol_file_relative_paths:
+ extension = symfile.split('.')[1]
+ self.assertEqual(extension, 'sym')
def test_GatherSymbolFileFullFilePaths(self):
"""Test full filepaths (.sym and .txt) only gather .sym files."""
@@ -911,6 +914,17 @@
files_in_output_dir = self.getFilesWithRelativeDir(output_dir)
self.assertEqual(files_in_output_dir, ['a_file.sym'])
+ def test_IsTarball(self):
+ """Test IsTarball helper function."""
+ self.assertTrue(artifacts.IsTarball('file.tar'))
+ self.assertTrue(artifacts.IsTarball('file.tar.bz2'))
+ self.assertTrue(artifacts.IsTarball('file.tar.gz'))
+ self.assertTrue(artifacts.IsTarball('file.tbz'))
+ self.assertTrue(artifacts.IsTarball('file.txz'))
+ self.assertFalse(artifacts.IsTarball('file.txt'))
+ self.assertFalse(artifacts.IsTarball('file.tart'))
+ self.assertFalse(artifacts.IsTarball('file.bz2'))
+
def getFilesWithRelativeDir(self, dest_dir):
"""Find all files below dest_dir using dir relative to dest_dir."""
relative_files = []
@@ -920,3 +934,46 @@
relpath = os.path.relpath(fullpath, dest_dir)
relative_files.append(relpath)
return relative_files
+
+
+class GenerateBreakpadSymbolsTest(cros_test_lib.MockTempDirTestCase):
+ """Base class for testing GenerateBreakpadSymbols."""
+
+ def setUp(self):
+ self.chroot_dir = os.path.join(self.tempdir, 'chroot_dir')
+ osutils.SafeMakedirs(self.chroot_dir)
+
+ def test_generateBreakpadSymbols(self):
+ """Verify that calling the service layer invokes the script as expected."""
+ chroot = chroot_lib.Chroot(self.chroot_dir)
+ build_target = build_target_lib.BuildTarget('board')
+ self.PatchObject(cros_build_lib, 'run')
+
+ # Call the method being tested.
+ artifacts.GenerateBreakpadSymbols(chroot, build_target, False)
+
+ cros_build_lib.run.assert_called_with(['cros_generate_breakpad_symbols',
+ '--board=board',
+ '--jobs', mock.ANY,
+ '--exclude-dir=firmware'],
+ capture_output=True,
+ enter_chroot=True,
+ chroot_args=['--chroot', mock.ANY])
+
+ def test_generateBreakpadSymbolsWithDebug(self):
+ """Verify that calling with debug invokes the script as expected."""
+ chroot = chroot_lib.Chroot(self.chroot_dir)
+ build_target = build_target_lib.BuildTarget('board')
+ self.PatchObject(cros_build_lib, 'run')
+
+ # Call the method being tested.
+ artifacts.GenerateBreakpadSymbols(chroot, build_target, True)
+
+ cros_build_lib.run.assert_called_with(['cros_generate_breakpad_symbols',
+ '--debug',
+ '--board=board',
+ '--jobs', mock.ANY,
+ '--exclude-dir=firmware'],
+ capture_output=True,
+ enter_chroot=True,
+ chroot_args=['--chroot', mock.ANY])
diff --git a/service/image.py b/service/image.py
index 02f96bf..2ad44c9 100644
--- a/service/image.py
+++ b/service/image.py
@@ -197,14 +197,17 @@
str: Path to the created guest VM folder.
"""
assert board
+
cmd = [os.path.join(constants.TERMINA_TOOLS_DIR, 'termina_build_image.py')]
+ image_dir = image_lib.GetLatestImageLink(board, force_chroot=True)
+
image_file = constants.TEST_IMAGE_BIN if is_test else constants.BASE_IMAGE_BIN
- image_path = os.path.join(image_lib.GetLatestImageLink(board), image_file)
+ image_path = os.path.join(image_dir, image_file)
output_dir = (constants.TEST_GUEST_VM_DIR if is_test
else constants.BASE_GUEST_VM_DIR)
- output_path = os.path.join(image_lib.GetLatestImageLink(board), output_dir)
+ output_path = os.path.join(image_dir, output_dir)
cmd.append(image_path)
cmd.append(output_path)
diff --git a/service/packages.py b/service/packages.py
index 5cb37c3..4a152b9 100644
--- a/service/packages.py
+++ b/service/packages.py
@@ -8,14 +8,14 @@
from __future__ import print_function
import collections
+from distutils.version import LooseVersion
import fileinput
import functools
import json
import os
import re
import sys
-
-import six
+from typing import List
from google.protobuf import json_format
@@ -296,25 +296,20 @@
UprevVersionedPackageResult: The result of updating drivefs ebuilds.
"""
- DRIVEFS_REFS = 'refs/tags/drivefs_'
- DRIVEFS_PATH = 'src/private-overlays/chromeos-overlay/chromeos-base'
+ DRIVEFS_PATH_PREFIX = 'src/private-overlays/chromeos-overlay/chromeos-base'
- # parse like the example PUpr (go/pupr#steps)
- valid_refs = [ref.ref for ref in refs if ref.ref.startswith(DRIVEFS_REFS)]
- if not valid_refs:
- # False alarm, there is no new package release. So do nothing.
+ drivefs_version = get_latest_drivefs_version_from_refs(refs)
+ if not drivefs_version:
+ # No valid DriveFS version is identified.
return None
- # Take the newest release, always.
- target_version = sorted(valid_refs,
- reverse=True)[0][len(DRIVEFS_REFS):]
+ logging.debug('DriveFS version determined from refs: %s', drivefs_version)
result = uprev_lib.UprevVersionedPackageResult()
- pkg_path = os.path.join(DRIVEFS_PATH, 'drivefs')
-
+ pkg_path = os.path.join(DRIVEFS_PATH_PREFIX, 'drivefs')
uprev_result = uprev_lib.uprev_workon_ebuild_to_version(pkg_path,
- target_version,
+ drivefs_version,
chroot)
all_changed_files = []
@@ -323,10 +318,10 @@
all_changed_files.extend(uprev_result.changed_files)
- pkg_path = os.path.join(DRIVEFS_PATH, 'drivefs-ipc')
+ pkg_path = os.path.join(DRIVEFS_PATH_PREFIX, 'drivefs-ipc')
uprev_result = uprev_lib.uprev_workon_ebuild_to_version(pkg_path,
- target_version,
+ drivefs_version,
chroot)
if not uprev_result:
@@ -334,7 +329,7 @@
all_changed_files.extend(uprev_result.changed_files)
- result.add_result(target_version, all_changed_files)
+ result.add_result(drivefs_version, all_changed_files)
return result
@@ -501,6 +496,36 @@
return result.add_result(chrome_version, uprev_manager.modified_ebuilds)
+def get_latest_drivefs_version_from_refs(refs: List[uprev_lib.GitRef]) -> str:
+ """Get the latest DriveFS version from refs
+
+ DriveFS versions follow the tag format of refs/tags/drivefs_1.2.3.
+ Versions are compared using |distutils.version.LooseVersion| and
+ the latest version is returned.
+
+ Args:
+ refs: The tags to parse for the latest DriveFS version.
+
+ Returns:
+ The latest DriveFS version to use.
+ """
+ DRIVEFS_REFS_PREFIX = 'refs/tags/drivefs_'
+
+ valid_refs = []
+ for gitiles in refs:
+ if gitiles.ref.startswith(DRIVEFS_REFS_PREFIX):
+ valid_refs.append(gitiles.ref)
+
+ if not valid_refs:
+ return None
+
+ # Sort by version and take the latest version.
+ target_version_ref = sorted(valid_refs,
+ key=LooseVersion,
+ reverse=True)[0]
+ return target_version_ref.replace(DRIVEFS_REFS_PREFIX, '')
+
+
def _generate_platform_c_files(replication_config, chroot):
"""Generates platform C files from a platform JSON payload.
@@ -676,7 +701,7 @@
extra_env = None
if useflags:
new_flags = useflags
- if not isinstance(useflags, six.string_types):
+ if not isinstance(useflags, str):
new_flags = ' '.join(useflags)
existing = os.environ.get('USE', '')
diff --git a/service/packages_unittest.py b/service/packages_unittest.py
index 9bcae74..ad9183e 100644
--- a/service/packages_unittest.py
+++ b/service/packages_unittest.py
@@ -1054,3 +1054,31 @@
return_value=['key1', 'key2'])
result = packages.get_key_id(self.build_target, 'model')
self.assertEqual(result, None)
+
+
+class GetLatestDrivefsVersionTest(cros_test_lib.TestCase):
+ """Tests for get_latest_drivefs_version_from_refs."""
+
+ def setUp(self):
+ # The tag ref template.
+ ref_tpl = 'refs/tags/drivefs_%s'
+
+ self.latest = '44.0.20'
+ self.versions = ['42.0.1', self.latest, '44.0.19', '39.0.15']
+ self.latest_ref = uprev_lib.GitRef('/path', ref_tpl % self.latest, 'abc123')
+ self.refs = [uprev_lib.GitRef('/path', ref_tpl % v, 'abc123')
+ for v in self.versions]
+
+ def test_single_ref(self):
+ """Test a single ref is supplied."""
+ self.assertEqual(self.latest,
+ packages.get_latest_drivefs_version_from_refs([self.latest_ref]))
+
+ def test_multiple_ref_versions(self):
+ """Test multiple refs supplied."""
+ self.assertEqual(self.latest,
+ packages.get_latest_drivefs_version_from_refs(self.refs))
+
+ def test_no_refs_returns_none(self):
+ """Test no refs supplied."""
+ self.assertEqual(packages.get_latest_drivefs_version_from_refs([]), None)
diff --git a/service/payload_unittest.py b/service/payload_unittest.py
index a794818..9081801 100644
--- a/service/payload_unittest.py
+++ b/service/payload_unittest.py
@@ -85,12 +85,12 @@
payload_config.GeneratePayload()
-
-class PayloadUtilitiesTest(cros_test_lib.TestCase):
- """Test utilities related to payloads."""
-
- def testImageType(self):
- """Test _ImageTypeToStr works."""
- # pylint: disable=protected-access
- self.assertEqual('image_type_base', payload._ImageTypeToStr(1))
- # pylint: enable=protected-access
+# TODO(crbug/1155212): Fix aliased enum value.
+# class PayloadUtilitiesTest(cros_test_lib.TestCase):
+# """Test utilities related to payloads."""
+#
+# def testImageType(self):
+# """Test _ImageTypeToStr works."""
+# # pylint: disable=protected-access
+# self.assertEqual('image_type_base', payload._ImageTypeToStr(1))
+# # pylint: enable=protected-access
diff --git a/signing/signer_instructions/board2.cr50_firmware.instructions b/signing/signer_instructions/board2.gsc_firmware.instructions
similarity index 100%
rename from signing/signer_instructions/board2.cr50_firmware.instructions
rename to signing/signer_instructions/board2.gsc_firmware.instructions
diff --git a/test/portage_fixtures.py b/test/portage_fixtures.py
index f6a45cb..a329c7d 100644
--- a/test/portage_fixtures.py
+++ b/test/portage_fixtures.py
@@ -43,3 +43,13 @@
yield overlays[i]
return make_overlay_stack
+
+
+# pylint: disable=redefined-outer-name
+@pytest.fixture
+def simple_sysroot(overlay_stack, tmp_path):
+ """Create the simplest possible sysroot."""
+ # pylint: disable=redefined-outer-name
+ overlay, = overlay_stack(1)
+ profile = overlay.create_profile()
+ return cr.test.Sysroot(tmp_path, profile, [overlay])
diff --git a/test/portage_testables.py b/test/portage_testables.py
index 7bd1789..998f66d 100644
--- a/test/portage_testables.py
+++ b/test/portage_testables.py
@@ -11,7 +11,6 @@
import itertools
import os
import pathlib # pylint: disable=import-error
-import shlex
from typing import Dict, Iterable, Tuple, Union
from chromite.lib import constants
@@ -38,7 +37,7 @@
"""Helper to format a dictionary into an ebuild file."""
output = []
for key in dictionary.keys():
- output.append(f'{key}={shlex.quote(dictionary[key])}')
+ output.append(f'{key}="{dictionary[key]}"')
output.append('\n')
return '\n'.join(output)
@@ -300,10 +299,18 @@
@property
def cpv(self) -> package_info.CPV:
- """Returns a CPV object constructed from this package's metadata."""
+ """Returns a CPV object constructed from this package's metadata.
+
+ Deprecated, use package_info instead.
+ """
return package_info.SplitCPV(self.category + '/' + self.package + '-' +
self.version)
+ @property
+ def package_info(self) -> package_info.PackageInfo:
+ """Returns a PackageInfo object constructed from this package's metadata."""
+ return package_info.parse(f'{self.category}/{self.package}-{self.version}')
+
def format_eclass_line(self) -> str:
"""Returns a string containing this package's eclass inheritance line."""
if self.inherit and isinstance(self.inherit, str):