Move Pixelbook build jobs to Docker Debian9.

-Make generated build tasks for Pixelbook use Debian9...Docker and rename those in jobs.json
---Non-Pixelbook ChromeOS build tasks now use regular Debian10, as they seem to handle it fine.
---Removed 2 Build-Debian9-Clang-arm-.*-Chromebook_GLES jobs, since they are now unused.
-Added docker logic to chromebook.py, refactored to handle the differing directory structure (TODO to simplify)
---Added docker-chromeos-compile.sh to run in the container.
---util function to convert to string that can be used in the python or passed to bash (cribbed from docker.py, will consolidate in later CL)
-Prerequisite for upgrading the last 10% of the fleet to Debian10

Bug: skia:9438
Change-Id: I0727aad2d00383e568ddbeea98d56d42bcca26e5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282678
Commit-Queue: Weston Tracey <westont@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
This commit is contained in:
Weston Tracey 2020-04-14 10:37:22 -04:00 committed by Skia Commit-Bot
parent eb1d5a2e23
commit 505dc179b0
11 changed files with 433 additions and 241 deletions

View File

@ -467,7 +467,11 @@ func (b *jobBuilder) deriveCompileTaskName() string {
task_os = COMPILE_TASK_NAME_OS_LINUX task_os = COMPILE_TASK_NAME_OS_LINUX
} else if b.os("ChromeOS") { } else if b.os("ChromeOS") {
ec = append([]string{"Chromebook", "GLES"}, ec...) ec = append([]string{"Chromebook", "GLES"}, ec...)
task_os = COMPILE_TASK_NAME_OS_LINUX
if b.model("Pixelbook") {
task_os = COMPILE_TASK_NAME_OS_LINUX_OLD task_os = COMPILE_TASK_NAME_OS_LINUX_OLD
ec = append(ec, "Docker")
}
} else if b.os("iOS") { } else if b.os("iOS") {
ec = append([]string{task_os}, ec...) ec = append([]string{task_os}, ec...)
task_os = "Mac" task_os = "Mac"
@ -536,7 +540,7 @@ func (b *taskBuilder) defaultSwarmDimensions() {
d["os"], ok = map[string]string{ d["os"], ok = map[string]string{
"Android": "Android", "Android": "Android",
"ChromeOS": "ChromeOS", "ChromeOS": "ChromeOS",
"Debian9": OLD_OS_LINUX_GCE, "Debian9": DEFAULT_OS_LINUX_GCE, // Runs in Deb9 Docker.
"Debian10": DEFAULT_OS_LINUX_GCE, "Debian10": DEFAULT_OS_LINUX_GCE,
"Mac": DEFAULT_OS_MAC, "Mac": DEFAULT_OS_MAC,
"Mac10.13": "Mac-10.13.6", "Mac10.13": "Mac-10.13.6",

View File

@ -16,12 +16,10 @@
"Build-Debian10-Clang-arm-Debug-Android_ASAN_Vulkan", "Build-Debian10-Clang-arm-Debug-Android_ASAN_Vulkan",
"Build-Debian10-Clang-arm-Debug-Android_Vulkan", "Build-Debian10-Clang-arm-Debug-Android_Vulkan",
"Build-Debian10-Clang-arm-Debug-Chromebook_GLES", "Build-Debian10-Clang-arm-Debug-Chromebook_GLES",
"Build-Debian9-Clang-arm-Debug-Chromebook_GLES",
"Build-Debian10-Clang-arm-Release-Android", "Build-Debian10-Clang-arm-Release-Android",
"Build-Debian10-Clang-arm-Release-Android_API26", "Build-Debian10-Clang-arm-Release-Android_API26",
"Build-Debian10-Clang-arm-Release-Android_Vulkan", "Build-Debian10-Clang-arm-Release-Android_Vulkan",
"Build-Debian10-Clang-arm-Release-Chromebook_GLES", "Build-Debian10-Clang-arm-Release-Chromebook_GLES",
"Build-Debian9-Clang-arm-Release-Chromebook_GLES",
"Build-Debian10-Clang-arm-Release-Flutter_Android", "Build-Debian10-Clang-arm-Release-Flutter_Android",
"Build-Debian10-Clang-arm64-Debug-Android", "Build-Debian10-Clang-arm64-Debug-Android",
"Build-Debian10-Clang-arm64-Debug-Android_ASAN", "Build-Debian10-Clang-arm64-Debug-Android_ASAN",
@ -44,7 +42,7 @@
"Build-Debian10-Clang-x86_64-Debug-ASAN", "Build-Debian10-Clang-x86_64-Debug-ASAN",
"Build-Debian10-Clang-x86_64-Debug-ASAN_Vulkan", "Build-Debian10-Clang-x86_64-Debug-ASAN_Vulkan",
"Build-Debian10-Clang-x86_64-Debug-Chromebook_GLES", "Build-Debian10-Clang-x86_64-Debug-Chromebook_GLES",
"Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES", "Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES_Docker",
"Build-Debian10-Clang-x86_64-Debug-OpenCL", "Build-Debian10-Clang-x86_64-Debug-OpenCL",
"Build-Debian10-Clang-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE", "Build-Debian10-Clang-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE",
"Build-Debian10-Clang-x86_64-Debug-SafeStack", "Build-Debian10-Clang-x86_64-Debug-SafeStack",
@ -59,7 +57,7 @@
"Build-Debian10-Clang-x86_64-Release-ASAN", "Build-Debian10-Clang-x86_64-Release-ASAN",
"Build-Debian10-Clang-x86_64-Release-CMake", "Build-Debian10-Clang-x86_64-Release-CMake",
"Build-Debian10-Clang-x86_64-Release-Chromebook_GLES", "Build-Debian10-Clang-x86_64-Release-Chromebook_GLES",
"Build-Debian9-Clang-x86_64-Release-Chromebook_GLES", "Build-Debian9-Clang-x86_64-Release-Chromebook_GLES_Docker",
"Build-Debian10-Clang-x86_64-Release-Fast", "Build-Debian10-Clang-x86_64-Release-Fast",
"Build-Debian10-Clang-x86_64-Release-MSAN", "Build-Debian10-Clang-x86_64-Release-MSAN",
"Build-Debian10-Clang-x86_64-Release-NoDEPS", "Build-Debian10-Clang-x86_64-Release-NoDEPS",

View File

@ -3,22 +3,49 @@
# found in the LICENSE file. # found in the LICENSE file.
from . import util from . import util
import os
IMAGES = {
# Used to build ChromeOS for Pixelbook in Debian9, to align GLIBC versions.
'Debian9': (
'gcr.io/skia-public/debian9@sha256:'
'f48edc56b621a44ee2f985555f9b09c2802da15d56bb4e43666faabbec80d569'),
}
def compile_fn(api, checkout_root, out_dir): def compile_fn(api, checkout_root, out_dir):
skia_dir = checkout_root.join('skia') skia_dir = checkout_root.join('skia')
configuration = api.vars.builder_cfg.get('configuration') configuration = api.vars.builder_cfg.get('configuration')
target_arch = api.vars.builder_cfg.get('target_arch') target_arch = api.vars.builder_cfg.get('target_arch')
os_name = api.vars.builder_cfg.get('os', '')
builder_name = api.vars.builder_name
clang_linux = api.vars.slave_dir.join('clang_linux') # Currently we mount this directory to /SRC in Docker.
# TODO(westont): Add docker module API to match binding to actual structure.
top_level = '/SRC' if 'Docker' in builder_name else str(api.vars.slave_dir)
clang_linux = os.path.join(top_level, 'clang_linux')
# This is a pretty typical arm-linux-gnueabihf sysroot # This is a pretty typical arm-linux-gnueabihf sysroot
sysroot_dir = api.vars.slave_dir.join('armhf_sysroot') sysroot_dir = os.path.join(top_level, 'armhf_sysroot')
args = {
'cc': "%s" % os.path.join(clang_linux, 'bin','clang'),
'cxx': "%s" % os.path.join(clang_linux, 'bin','clang++'),
'extra_cflags' : [],
'extra_ldflags' : [],
'extra_asmflags' : [],
'target_cpu': target_arch,
'skia_use_fontconfig': False,
'skia_use_system_freetype2': False,
'skia_use_egl': True,
'werror': True,
}
if 'arm' == target_arch: if 'arm' == target_arch:
# This is the extra things needed to link against for the chromebook. # This is the extra things needed to link against for the chromebook.
# For example, the Mali GL drivers. # For example, the Mali GL drivers.
gl_dir = api.vars.slave_dir.join('chromebook_arm_gles') gl_dir = os.path.join(top_level, 'chromebook_arm_gles')
env = {'LD_LIBRARY_PATH': sysroot_dir.join('lib')} env = {'LD_LIBRARY_PATH': os.path.join(sysroot_dir, 'lib')}
extra_asmflags = [ args['extra_asmflags'] = [
'--target=armv7a-linux-gnueabihf', '--target=armv7a-linux-gnueabihf',
'--sysroot=%s' % sysroot_dir, '--sysroot=%s' % sysroot_dir,
'-march=armv7-a', '-march=armv7-a',
@ -26,71 +53,67 @@ def compile_fn(api, checkout_root, out_dir):
'-mthumb', '-mthumb',
] ]
extra_cflags = [ args['extra_cflags'] = [
'--target=armv7a-linux-gnueabihf', '--target=armv7a-linux-gnueabihf',
'--sysroot=%s' % sysroot_dir, '--sysroot=%s' % sysroot_dir,
'-I%s' % gl_dir.join('include'), '-I%s' % os.path.join(gl_dir, 'include'),
'-I%s' % sysroot_dir.join('include'), '-I%s' % os.path.join(sysroot_dir, 'include'),
'-I%s' % sysroot_dir.join('include', 'c++', '6'), '-I%s' % os.path.join(sysroot_dir, 'include', 'c++', '6'),
'-I%s' % sysroot_dir.join('include', 'c++', '6', 'arm-linux-gnueabihf'), '-I%s' % os.path.join(sysroot_dir, 'include', 'c++', '6', 'arm-linux-gnueabihf'),
'-DMESA_EGL_NO_X11_HEADERS', '-DMESA_EGL_NO_X11_HEADERS',
'-U_GLIBCXX_DEBUG', '-U_GLIBCXX_DEBUG',
] ]
extra_ldflags = [ args['extra_ldflags'] = [
'--target=armv7a-linux-gnueabihf', '--target=armv7a-linux-gnueabihf',
'--sysroot=%s' % sysroot_dir, '--sysroot=%s' % sysroot_dir,
'-static-libstdc++', '-static-libgcc', '-static-libstdc++', '-static-libgcc',
# use sysroot's ld which can properly link things. # use sysroot's ld which can properly link things.
'-B%s' % sysroot_dir.join('bin'), '-B%s' % os.path.join(sysroot_dir, 'bin'),
# helps locate crt*.o # helps locate crt*.o
'-B%s' % sysroot_dir.join('gcc-cross'), '-B%s' % os.path.join(sysroot_dir, 'gcc-cross'),
# helps locate libgcc*.so # helps locate libgcc*.so
'-L%s' % sysroot_dir.join('gcc-cross'), '-L%s' % os.path.join(sysroot_dir, 'gcc-cross'),
'-L%s' % sysroot_dir.join('lib'), '-L%s' % os.path.join(sysroot_dir, 'lib'),
'-L%s' % gl_dir.join('lib'), '-L%s' % os.path.join(gl_dir, 'lib'),
] ]
else: else:
gl_dir = api.vars.slave_dir.join('chromebook_x86_64_gles') gl_dir = os.path.join(top_level,'chromebook_x86_64_gles')
env = {} env = {}
extra_asmflags = [] args['extra_asmflags'] = []
extra_cflags = [ args['extra_cflags'] = [
'-DMESA_EGL_NO_X11_HEADERS', '-DMESA_EGL_NO_X11_HEADERS',
'-I%s' % gl_dir.join('include'), '-I%s' % os.path.join(gl_dir, 'include'),
] ]
extra_ldflags = [ args['extra_ldflags'] = [
'-L%s' % gl_dir.join('lib'), '-L%s' % os.path.join(gl_dir, 'lib'),
'-static-libstdc++', '-static-libgcc', '-static-libstdc++', '-static-libgcc',
'-fuse-ld=lld', '-fuse-ld=lld',
] ]
quote = lambda x: '"%s"' % x args['extra_cflags'].append('-DDUMMY_clang_linux_version=%s' %
args = {
'cc': quote(clang_linux.join('bin','clang')),
'cxx': quote(clang_linux.join('bin','clang++')),
'target_cpu': quote(target_arch),
'skia_use_fontconfig': 'false',
'skia_use_system_freetype2': 'false',
'skia_use_egl': 'true',
'werror': 'true',
}
extra_cflags.append('-DDUMMY_clang_linux_version=%s' %
api.run.asset_version('clang_linux', skia_dir)) api.run.asset_version('clang_linux', skia_dir))
if configuration != 'Debug': if configuration != 'Debug':
args['is_debug'] = 'false' args['is_debug'] = False
args['extra_asmflags'] = repr(extra_asmflags).replace("'", '"')
args['extra_cflags'] = repr(extra_cflags).replace("'", '"')
args['extra_ldflags'] = repr(extra_ldflags).replace("'", '"')
gn_args = ' '.join('%s=%s' % (k,v) for (k,v) in sorted(args.iteritems()))
gn = skia_dir.join('bin', 'gn') gn = skia_dir.join('bin', 'gn')
if os_name == 'Debian9' and 'Docker' in builder_name:
script = api.build.resource('docker-chromeos-compile.sh')
image_hash = IMAGES[os_name]
# Invalidate incremental build cache if image changes.
args['extra_cflags'].append('-DDUMMY_docker_image=%s' % image_hash)
api.docker.run('Run build script in Docker', image_hash,
checkout_root, out_dir, script, args=[util.py_to_gn(args)])
return
with api.context(cwd=skia_dir, env=env): with api.context(cwd=skia_dir, env=env):
api.run(api.python, 'fetch-gn', api.run(api.python, 'fetch-gn',
script=skia_dir.join('bin', 'fetch-gn'), script=skia_dir.join('bin', 'fetch-gn'),
infra_step=True) infra_step=True)
api.run(api.step, 'gn gen', cmd=[gn, 'gen', out_dir, '--args=' + gn_args]) api.run(api.step, 'gn gen',
cmd=[gn, 'gen', out_dir, '--args=' + util.py_to_gn(args)])
api.run(api.step, 'ninja', api.run(api.step, 'ninja',
cmd=['ninja', '-C', out_dir, 'nanobench', 'dm']) cmd=['ninja', '-C', out_dir, 'nanobench', 'dm'])

View File

@ -0,0 +1,140 @@
[
{
"cmd": [
"vpython",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[START_DIR]/cache/work/skia/infra/bots/assets/clang_linux/VERSION",
"/path/to/tmp/"
],
"infra_step": true,
"name": "Get clang_linux VERSION",
"~followup_annotations": [
"@@@STEP_LOG_LINE@VERSION@42@@@",
"@@@STEP_LOG_END@VERSION@@@"
]
},
{
"cmd": [],
"name": "Docker setup"
},
{
"cmd": [
"vpython",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"ensure-directory",
"--mode",
"0777",
"[START_DIR]/cache/work/skia/out/Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES_Docker/Debug"
],
"infra_step": true,
"name": "Docker setup.mkdirs out_dir",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"chmod",
"777",
"[START_DIR]/cache/work/skia/out/Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES_Docker/Debug"
],
"infra_step": true,
"name": "Docker setup.chmod 777 [START_DIR]/cache/work/skia/out/Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES_Docker/Debug",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"chmod",
"755",
"[START_DIR]/cache/work"
],
"infra_step": true,
"name": "Docker setup.chmod 755 [START_DIR]/cache/work",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"chmod",
"0755",
"RECIPE_MODULE[skia::build]/resources/docker-chromeos-compile.sh"
],
"infra_step": true,
"name": "Docker setup.chmod 0755 RECIPE_MODULE[skia::build]/resources/docker-chromeos-compile.sh",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"docker",
"run",
"--shm-size=2gb",
"--rm",
"--mount",
"type=bind,source=[START_DIR]/cache/work,target=/SRC",
"--mount",
"type=bind,source=[START_DIR]/cache/work/skia/out/Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES_Docker/Debug,target=/OUT",
"gcr.io/skia-public/debian9@sha256:f48edc56b621a44ee2f985555f9b09c2802da15d56bb4e43666faabbec80d569",
"/SRC/../RECIPE_MODULE[skia::build]/resources/docker-chromeos-compile.sh",
"cc=\"/SRC/clang_linux/bin/clang\" cxx=\"/SRC/clang_linux/bin/clang++\" extra_asmflags=[] extra_cflags=[\"-DMESA_EGL_NO_X11_HEADERS\",\"-I/SRC/chromebook_x86_64_gles/include\",\"-DDUMMY_clang_linux_version=42\",\"-DDUMMY_docker_image=gcr.io/skia-public/debian9@sha256:f48edc56b621a44ee2f985555f9b09c2802da15d56bb4e43666faabbec80d569\"] extra_ldflags=[\"-L/SRC/chromebook_x86_64_gles/lib\",\"-static-libstdc++\",\"-static-libgcc\",\"-fuse-ld=lld\"] skia_use_egl=true skia_use_fontconfig=false skia_use_system_freetype2=false target_cpu=\"x86_64\" werror=true"
],
"env": {
"CHROME_HEADLESS": "1",
"DOCKER_CONFIG": "/home/chrome-bot/.docker",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"name": "Run build script in Docker"
},
{
"cmd": [
"python",
"-u",
"import errno\nimport glob\nimport os\nimport shutil\nimport sys\n\nsrc = sys.argv[1]\ndst = sys.argv[2]\nbuild_products = ['dm', 'dm.exe', 'dm.app', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'hello-opencl', 'hello-opencl.exe', 'nanobench', 'nanobench.exe', 'skpbench', 'skpbench.exe', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'skottie_tool', 'lib/*.so', 'run_testlab', 'skqp-universal-debug.apk', 'whitelist_devices.json']\n\ntry:\n os.makedirs(dst)\nexcept OSError as e:\n if e.errno != errno.EEXIST:\n raise\n\nfor pattern in build_products:\n path = os.path.join(src, pattern)\n for f in glob.glob(path):\n dst_path = os.path.join(dst, os.path.relpath(f, src))\n if not os.path.isdir(os.path.dirname(dst_path)):\n os.makedirs(os.path.dirname(dst_path))\n print 'Copying build product %s to %s' % (f, dst_path)\n shutil.move(f, dst_path)\n",
"[START_DIR]/cache/work/skia/out/Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES_Docker/Debug",
"[START_DIR]/[SWARM_OUT_DIR]/out/Debug"
],
"infra_step": true,
"name": "copy build products",
"~followup_annotations": [
"@@@STEP_LOG_LINE@python.inline@import errno@@@",
"@@@STEP_LOG_LINE@python.inline@import glob@@@",
"@@@STEP_LOG_LINE@python.inline@import os@@@",
"@@@STEP_LOG_LINE@python.inline@import shutil@@@",
"@@@STEP_LOG_LINE@python.inline@import sys@@@",
"@@@STEP_LOG_LINE@python.inline@@@@",
"@@@STEP_LOG_LINE@python.inline@src = sys.argv[1]@@@",
"@@@STEP_LOG_LINE@python.inline@dst = sys.argv[2]@@@",
"@@@STEP_LOG_LINE@python.inline@build_products = ['dm', 'dm.exe', 'dm.app', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'hello-opencl', 'hello-opencl.exe', 'nanobench', 'nanobench.exe', 'skpbench', 'skpbench.exe', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'skottie_tool', 'lib/*.so', 'run_testlab', 'skqp-universal-debug.apk', 'whitelist_devices.json']@@@",
"@@@STEP_LOG_LINE@python.inline@@@@",
"@@@STEP_LOG_LINE@python.inline@try:@@@",
"@@@STEP_LOG_LINE@python.inline@ os.makedirs(dst)@@@",
"@@@STEP_LOG_LINE@python.inline@except OSError as e:@@@",
"@@@STEP_LOG_LINE@python.inline@ if e.errno != errno.EEXIST:@@@",
"@@@STEP_LOG_LINE@python.inline@ raise@@@",
"@@@STEP_LOG_LINE@python.inline@@@@",
"@@@STEP_LOG_LINE@python.inline@for pattern in build_products:@@@",
"@@@STEP_LOG_LINE@python.inline@ path = os.path.join(src, pattern)@@@",
"@@@STEP_LOG_LINE@python.inline@ for f in glob.glob(path):@@@",
"@@@STEP_LOG_LINE@python.inline@ dst_path = os.path.join(dst, os.path.relpath(f, src))@@@",
"@@@STEP_LOG_LINE@python.inline@ if not os.path.isdir(os.path.dirname(dst_path)):@@@",
"@@@STEP_LOG_LINE@python.inline@ os.makedirs(os.path.dirname(dst_path))@@@",
"@@@STEP_LOG_LINE@python.inline@ print 'Copying build product %s to %s' % (f, dst_path)@@@",
"@@@STEP_LOG_LINE@python.inline@ shutil.move(f, dst_path)@@@",
"@@@STEP_LOG_END@python.inline@@@"
]
},
{
"name": "$result"
}
]

View File

@ -0,0 +1,140 @@
[
{
"cmd": [
"vpython",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[START_DIR]/cache/work/skia/infra/bots/assets/clang_linux/VERSION",
"/path/to/tmp/"
],
"infra_step": true,
"name": "Get clang_linux VERSION",
"~followup_annotations": [
"@@@STEP_LOG_LINE@VERSION@42@@@",
"@@@STEP_LOG_END@VERSION@@@"
]
},
{
"cmd": [],
"name": "Docker setup"
},
{
"cmd": [
"vpython",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"ensure-directory",
"--mode",
"0777",
"[START_DIR]/cache/work/skia/out/Build-Debian9-Clang-x86_64-Release-Chromebook_GLES_Docker/Release"
],
"infra_step": true,
"name": "Docker setup.mkdirs out_dir",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"chmod",
"777",
"[START_DIR]/cache/work/skia/out/Build-Debian9-Clang-x86_64-Release-Chromebook_GLES_Docker/Release"
],
"infra_step": true,
"name": "Docker setup.chmod 777 [START_DIR]/cache/work/skia/out/Build-Debian9-Clang-x86_64-Release-Chromebook_GLES_Docker/Release",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"chmod",
"755",
"[START_DIR]/cache/work"
],
"infra_step": true,
"name": "Docker setup.chmod 755 [START_DIR]/cache/work",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"chmod",
"0755",
"RECIPE_MODULE[skia::build]/resources/docker-chromeos-compile.sh"
],
"infra_step": true,
"name": "Docker setup.chmod 0755 RECIPE_MODULE[skia::build]/resources/docker-chromeos-compile.sh",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"docker",
"run",
"--shm-size=2gb",
"--rm",
"--mount",
"type=bind,source=[START_DIR]/cache/work,target=/SRC",
"--mount",
"type=bind,source=[START_DIR]/cache/work/skia/out/Build-Debian9-Clang-x86_64-Release-Chromebook_GLES_Docker/Release,target=/OUT",
"gcr.io/skia-public/debian9@sha256:f48edc56b621a44ee2f985555f9b09c2802da15d56bb4e43666faabbec80d569",
"/SRC/../RECIPE_MODULE[skia::build]/resources/docker-chromeos-compile.sh",
"cc=\"/SRC/clang_linux/bin/clang\" cxx=\"/SRC/clang_linux/bin/clang++\" extra_asmflags=[] extra_cflags=[\"-DMESA_EGL_NO_X11_HEADERS\",\"-I/SRC/chromebook_x86_64_gles/include\",\"-DDUMMY_clang_linux_version=42\",\"-DDUMMY_docker_image=gcr.io/skia-public/debian9@sha256:f48edc56b621a44ee2f985555f9b09c2802da15d56bb4e43666faabbec80d569\"] extra_ldflags=[\"-L/SRC/chromebook_x86_64_gles/lib\",\"-static-libstdc++\",\"-static-libgcc\",\"-fuse-ld=lld\"] is_debug=false skia_use_egl=true skia_use_fontconfig=false skia_use_system_freetype2=false target_cpu=\"x86_64\" werror=true"
],
"env": {
"CHROME_HEADLESS": "1",
"DOCKER_CONFIG": "/home/chrome-bot/.docker",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"name": "Run build script in Docker"
},
{
"cmd": [
"python",
"-u",
"import errno\nimport glob\nimport os\nimport shutil\nimport sys\n\nsrc = sys.argv[1]\ndst = sys.argv[2]\nbuild_products = ['dm', 'dm.exe', 'dm.app', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'hello-opencl', 'hello-opencl.exe', 'nanobench', 'nanobench.exe', 'skpbench', 'skpbench.exe', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'skottie_tool', 'lib/*.so', 'run_testlab', 'skqp-universal-debug.apk', 'whitelist_devices.json']\n\ntry:\n os.makedirs(dst)\nexcept OSError as e:\n if e.errno != errno.EEXIST:\n raise\n\nfor pattern in build_products:\n path = os.path.join(src, pattern)\n for f in glob.glob(path):\n dst_path = os.path.join(dst, os.path.relpath(f, src))\n if not os.path.isdir(os.path.dirname(dst_path)):\n os.makedirs(os.path.dirname(dst_path))\n print 'Copying build product %s to %s' % (f, dst_path)\n shutil.move(f, dst_path)\n",
"[START_DIR]/cache/work/skia/out/Build-Debian9-Clang-x86_64-Release-Chromebook_GLES_Docker/Release",
"[START_DIR]/[SWARM_OUT_DIR]/out/Release"
],
"infra_step": true,
"name": "copy build products",
"~followup_annotations": [
"@@@STEP_LOG_LINE@python.inline@import errno@@@",
"@@@STEP_LOG_LINE@python.inline@import glob@@@",
"@@@STEP_LOG_LINE@python.inline@import os@@@",
"@@@STEP_LOG_LINE@python.inline@import shutil@@@",
"@@@STEP_LOG_LINE@python.inline@import sys@@@",
"@@@STEP_LOG_LINE@python.inline@@@@",
"@@@STEP_LOG_LINE@python.inline@src = sys.argv[1]@@@",
"@@@STEP_LOG_LINE@python.inline@dst = sys.argv[2]@@@",
"@@@STEP_LOG_LINE@python.inline@build_products = ['dm', 'dm.exe', 'dm.app', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'hello-opencl', 'hello-opencl.exe', 'nanobench', 'nanobench.exe', 'skpbench', 'skpbench.exe', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'skottie_tool', 'lib/*.so', 'run_testlab', 'skqp-universal-debug.apk', 'whitelist_devices.json']@@@",
"@@@STEP_LOG_LINE@python.inline@@@@",
"@@@STEP_LOG_LINE@python.inline@try:@@@",
"@@@STEP_LOG_LINE@python.inline@ os.makedirs(dst)@@@",
"@@@STEP_LOG_LINE@python.inline@except OSError as e:@@@",
"@@@STEP_LOG_LINE@python.inline@ if e.errno != errno.EEXIST:@@@",
"@@@STEP_LOG_LINE@python.inline@ raise@@@",
"@@@STEP_LOG_LINE@python.inline@@@@",
"@@@STEP_LOG_LINE@python.inline@for pattern in build_products:@@@",
"@@@STEP_LOG_LINE@python.inline@ path = os.path.join(src, pattern)@@@",
"@@@STEP_LOG_LINE@python.inline@ for f in glob.glob(path):@@@",
"@@@STEP_LOG_LINE@python.inline@ dst_path = os.path.join(dst, os.path.relpath(f, src))@@@",
"@@@STEP_LOG_LINE@python.inline@ if not os.path.isdir(os.path.dirname(dst_path)):@@@",
"@@@STEP_LOG_LINE@python.inline@ os.makedirs(os.path.dirname(dst_path))@@@",
"@@@STEP_LOG_LINE@python.inline@ print 'Copying build product %s to %s' % (f, dst_path)@@@",
"@@@STEP_LOG_LINE@python.inline@ shutil.move(f, dst_path)@@@",
"@@@STEP_LOG_END@python.inline@@@"
]
},
{
"name": "$result"
}
]

View File

@ -34,6 +34,8 @@ TEST_BUILDERS = [
'Build-Debian10-Clang-arm-Release-Android_API26', 'Build-Debian10-Clang-arm-Release-Android_API26',
'Build-Debian10-Clang-arm-Release-Android_ASAN', 'Build-Debian10-Clang-arm-Release-Android_ASAN',
'Build-Debian10-Clang-arm-Release-Chromebook_GLES', 'Build-Debian10-Clang-arm-Release-Chromebook_GLES',
'Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES_Docker',
'Build-Debian9-Clang-x86_64-Release-Chromebook_GLES_Docker',
'Build-Debian10-Clang-arm-Release-Flutter_Android', 'Build-Debian10-Clang-arm-Release-Flutter_Android',
'Build-Debian10-Clang-arm64-Release-Android_Wuffs', 'Build-Debian10-Clang-arm64-Release-Android_Wuffs',
'Build-Debian10-Clang-x86-devrel-Android_SKQP', 'Build-Debian10-Clang-x86-devrel-Android_SKQP',

View File

@ -0,0 +1,20 @@
#!/bin/bash
# Copyright 2020 Google LLC
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# This assumes it is being run inside a docker container with the following
# mounts:
# /SRC: Swarming start dir
# /OUT: output directory for gn and ninja
set -e
set -x
export PATH="/SRC/recipe_bundle/depot_tools:${PATH}"
cd /SRC/skia
./bin/fetch-gn
./bin/gn gen /OUT "--args=$1"
ninja -C /OUT nanobench dm

View File

@ -31,6 +31,23 @@ DEFAULT_BUILD_PRODUCTS = [
'whitelist_devices.json', 'whitelist_devices.json',
] ]
# TODO(westont): Use this in docker.py, instead of a copy of it.
def py_to_gn(val):
"""Convert val to a string that can be used as GN args."""
if isinstance(val, bool):
return 'true' if val else 'false'
elif isinstance(val, basestring):
# TODO(dogben): Handle quoting "$\
return '"%s"' % val
elif isinstance(val, (list, tuple)):
return '[%s]' % (','.join(py_to_gn(x) for x in val))
elif isinstance(val, dict):
gn = ' '.join(
'%s=%s' % (k, py_to_gn(v)) for (k, v) in sorted(val.iteritems()))
return gn
else: # pragma: nocover
raise Exception('Converting %s to gn is not implemented.' % type(val))
def copy_listed_files(api, src, dst, product_list): def copy_listed_files(api, src, dst, product_list):
"""Copy listed files src to dst.""" """Copy listed files src to dst."""

View File

@ -394,24 +394,14 @@
"Build-Debian10-GCC-x86_64-Release-Shared_Docker" "Build-Debian10-GCC-x86_64-Release-Shared_Docker"
] ]
}, },
"Build-Debian9-Clang-arm-Debug-Chromebook_GLES": { "Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES_Docker": {
"tasks": [ "tasks": [
"Build-Debian9-Clang-arm-Debug-Chromebook_GLES" "Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES_Docker"
] ]
}, },
"Build-Debian9-Clang-arm-Release-Chromebook_GLES": { "Build-Debian9-Clang-x86_64-Release-Chromebook_GLES_Docker": {
"tasks": [ "tasks": [
"Build-Debian9-Clang-arm-Release-Chromebook_GLES" "Build-Debian9-Clang-x86_64-Release-Chromebook_GLES_Docker"
]
},
"Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES": {
"tasks": [
"Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES"
]
},
"Build-Debian9-Clang-x86_64-Release-Chromebook_GLES": {
"tasks": [
"Build-Debian9-Clang-x86_64-Release-Chromebook_GLES"
] ]
}, },
"Build-Mac-Clang-arm-Debug-iOS": { "Build-Mac-Clang-arm-Debug-iOS": {
@ -9254,164 +9244,12 @@
], ],
"service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com" "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
}, },
"Build-Debian9-Clang-arm-Debug-Chromebook_GLES": { "Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES_Docker": {
"caches": [ "caches": [
{ {
"name": "vpython", "name": "docker",
"path": "cache/vpython" "path": "cache/docker"
}
],
"cipd_packages": [
{
"name": "infra/tools/luci-auth/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:565b3a1d4a36f511c1a0880e1c94e3c4681b6dfc"
}, },
{
"name": "infra/tools/luci/kitchen/${platform}",
"path": ".",
"version": "git_revision:565b3a1d4a36f511c1a0880e1c94e3c4681b6dfc"
},
{
"name": "infra/tools/luci/vpython/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:565b3a1d4a36f511c1a0880e1c94e3c4681b6dfc"
},
{
"name": "skia/bots/armhf_sysroot",
"path": "armhf_sysroot",
"version": "version:7"
},
{
"name": "skia/bots/chromebook_arm_gles",
"path": "chromebook_arm_gles",
"version": "version:0"
},
{
"name": "skia/bots/clang_linux",
"path": "clang_linux",
"version": "version:20"
}
],
"command": [
"cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
"-u",
"skia/infra/bots/run_recipe.py",
"${ISOLATED_OUTDIR}",
"compile",
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildername\":\"Build-Debian9-Clang-arm-Debug-Chromebook_GLES\",\"swarm_out_dir\":\"build\"}",
"skia"
],
"dependencies": [
"Housekeeper-PerCommit-BundleRecipes"
],
"dimensions": [
"gpu:none",
"os:Debian-9.8",
"pool:Skia"
],
"env_prefixes": {
"PATH": [
"cipd_bin_packages",
"cipd_bin_packages/bin"
],
"VPYTHON_VIRTUALENV_ROOT": [
"cache/vpython"
]
},
"execution_timeout_ns": 3600000000000,
"extra_tags": {
"log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
},
"idempotent": true,
"io_timeout_ns": 3600000000000,
"isolate": "compile.isolate",
"max_attempts": 2,
"outputs": [
"build"
],
"service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
},
"Build-Debian9-Clang-arm-Release-Chromebook_GLES": {
"caches": [
{
"name": "vpython",
"path": "cache/vpython"
}
],
"cipd_packages": [
{
"name": "infra/tools/luci-auth/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:565b3a1d4a36f511c1a0880e1c94e3c4681b6dfc"
},
{
"name": "infra/tools/luci/kitchen/${platform}",
"path": ".",
"version": "git_revision:565b3a1d4a36f511c1a0880e1c94e3c4681b6dfc"
},
{
"name": "infra/tools/luci/vpython/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:565b3a1d4a36f511c1a0880e1c94e3c4681b6dfc"
},
{
"name": "skia/bots/armhf_sysroot",
"path": "armhf_sysroot",
"version": "version:7"
},
{
"name": "skia/bots/chromebook_arm_gles",
"path": "chromebook_arm_gles",
"version": "version:0"
},
{
"name": "skia/bots/clang_linux",
"path": "clang_linux",
"version": "version:20"
}
],
"command": [
"cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
"-u",
"skia/infra/bots/run_recipe.py",
"${ISOLATED_OUTDIR}",
"compile",
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildername\":\"Build-Debian9-Clang-arm-Release-Chromebook_GLES\",\"swarm_out_dir\":\"build\"}",
"skia"
],
"dependencies": [
"Housekeeper-PerCommit-BundleRecipes"
],
"dimensions": [
"gpu:none",
"os:Debian-9.8",
"pool:Skia"
],
"env_prefixes": {
"PATH": [
"cipd_bin_packages",
"cipd_bin_packages/bin"
],
"VPYTHON_VIRTUALENV_ROOT": [
"cache/vpython"
]
},
"execution_timeout_ns": 3600000000000,
"extra_tags": {
"log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
},
"idempotent": true,
"io_timeout_ns": 3600000000000,
"isolate": "compile.isolate",
"max_attempts": 2,
"outputs": [
"build"
],
"service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
},
"Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES": {
"caches": [
{ {
"name": "vpython", "name": "vpython",
"path": "cache/vpython" "path": "cache/vpython"
@ -9450,16 +9288,19 @@
"skia/infra/bots/run_recipe.py", "skia/infra/bots/run_recipe.py",
"${ISOLATED_OUTDIR}", "${ISOLATED_OUTDIR}",
"compile", "compile",
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildername\":\"Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES\",\"swarm_out_dir\":\"build\"}", "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildername\":\"Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES_Docker\",\"swarm_out_dir\":\"build\"}",
"skia" "skia"
], ],
"dependencies": [ "dependencies": [
"Housekeeper-PerCommit-BundleRecipes" "Housekeeper-PerCommit-BundleRecipes"
], ],
"dimensions": [ "dimensions": [
"cpu:x86-64-Haswell_GCE",
"gpu:none", "gpu:none",
"os:Debian-9.8", "machine_type:n1-standard-16",
"pool:Skia" "os:Debian-10.3",
"pool:Skia",
"docker_installed:true"
], ],
"env_prefixes": { "env_prefixes": {
"PATH": [ "PATH": [
@ -9483,8 +9324,12 @@
], ],
"service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com" "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
}, },
"Build-Debian9-Clang-x86_64-Release-Chromebook_GLES": { "Build-Debian9-Clang-x86_64-Release-Chromebook_GLES_Docker": {
"caches": [ "caches": [
{
"name": "docker",
"path": "cache/docker"
},
{ {
"name": "vpython", "name": "vpython",
"path": "cache/vpython" "path": "cache/vpython"
@ -9523,16 +9368,19 @@
"skia/infra/bots/run_recipe.py", "skia/infra/bots/run_recipe.py",
"${ISOLATED_OUTDIR}", "${ISOLATED_OUTDIR}",
"compile", "compile",
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildername\":\"Build-Debian9-Clang-x86_64-Release-Chromebook_GLES\",\"swarm_out_dir\":\"build\"}", "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildername\":\"Build-Debian9-Clang-x86_64-Release-Chromebook_GLES_Docker\",\"swarm_out_dir\":\"build\"}",
"skia" "skia"
], ],
"dependencies": [ "dependencies": [
"Housekeeper-PerCommit-BundleRecipes" "Housekeeper-PerCommit-BundleRecipes"
], ],
"dimensions": [ "dimensions": [
"cpu:x86-64-Haswell_GCE",
"gpu:none", "gpu:none",
"os:Debian-9.8", "machine_type:n1-standard-16",
"pool:Skia" "os:Debian-10.3",
"pool:Skia",
"docker_installed:true"
], ],
"env_prefixes": { "env_prefixes": {
"PATH": [ "PATH": [
@ -18787,7 +18635,7 @@
"skia" "skia"
], ],
"dependencies": [ "dependencies": [
"Build-Debian9-Clang-arm-Release-Chromebook_GLES", "Build-Debian10-Clang-arm-Release-Chromebook_GLES",
"Housekeeper-PerCommit-BundleRecipes", "Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateSKP", "Housekeeper-PerCommit-IsolateSKP",
"Housekeeper-PerCommit-IsolateSVG", "Housekeeper-PerCommit-IsolateSVG",
@ -18854,7 +18702,7 @@
"skia" "skia"
], ],
"dependencies": [ "dependencies": [
"Build-Debian9-Clang-arm-Release-Chromebook_GLES", "Build-Debian10-Clang-arm-Release-Chromebook_GLES",
"Housekeeper-PerCommit-BundleRecipes", "Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateSKP", "Housekeeper-PerCommit-IsolateSKP",
"Housekeeper-PerCommit-IsolateSVG", "Housekeeper-PerCommit-IsolateSVG",
@ -18921,7 +18769,7 @@
"skia" "skia"
], ],
"dependencies": [ "dependencies": [
"Build-Debian9-Clang-arm-Release-Chromebook_GLES", "Build-Debian10-Clang-arm-Release-Chromebook_GLES",
"Housekeeper-PerCommit-BundleRecipes", "Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateSKP", "Housekeeper-PerCommit-IsolateSKP",
"Housekeeper-PerCommit-IsolateSVG", "Housekeeper-PerCommit-IsolateSVG",
@ -18988,7 +18836,7 @@
"skia" "skia"
], ],
"dependencies": [ "dependencies": [
"Build-Debian9-Clang-x86_64-Release-Chromebook_GLES", "Build-Debian9-Clang-x86_64-Release-Chromebook_GLES_Docker",
"Housekeeper-PerCommit-BundleRecipes", "Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateSKP", "Housekeeper-PerCommit-IsolateSKP",
"Housekeeper-PerCommit-IsolateSVG", "Housekeeper-PerCommit-IsolateSVG",
@ -19055,7 +18903,7 @@
"skia" "skia"
], ],
"dependencies": [ "dependencies": [
"Build-Debian9-Clang-arm-Release-Chromebook_GLES", "Build-Debian10-Clang-arm-Release-Chromebook_GLES",
"Housekeeper-PerCommit-BundleRecipes", "Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateSKP", "Housekeeper-PerCommit-IsolateSKP",
"Housekeeper-PerCommit-IsolateSVG", "Housekeeper-PerCommit-IsolateSVG",
@ -19122,7 +18970,7 @@
"skia" "skia"
], ],
"dependencies": [ "dependencies": [
"Build-Debian9-Clang-arm-Release-Chromebook_GLES", "Build-Debian10-Clang-arm-Release-Chromebook_GLES",
"Housekeeper-PerCommit-BundleRecipes", "Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateSKP", "Housekeeper-PerCommit-IsolateSKP",
"Housekeeper-PerCommit-IsolateSVG", "Housekeeper-PerCommit-IsolateSVG",
@ -31477,7 +31325,7 @@
"skia" "skia"
], ],
"dependencies": [ "dependencies": [
"Build-Debian9-Clang-arm-Debug-Chromebook_GLES", "Build-Debian10-Clang-arm-Debug-Chromebook_GLES",
"Housekeeper-PerCommit-BundleRecipes", "Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateSKP", "Housekeeper-PerCommit-IsolateSKP",
"Housekeeper-PerCommit-IsolateSVG", "Housekeeper-PerCommit-IsolateSVG",
@ -31544,7 +31392,7 @@
"skia" "skia"
], ],
"dependencies": [ "dependencies": [
"Build-Debian9-Clang-arm-Release-Chromebook_GLES", "Build-Debian10-Clang-arm-Release-Chromebook_GLES",
"Housekeeper-PerCommit-BundleRecipes", "Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateSKP", "Housekeeper-PerCommit-IsolateSKP",
"Housekeeper-PerCommit-IsolateSVG", "Housekeeper-PerCommit-IsolateSVG",
@ -31611,7 +31459,7 @@
"skia" "skia"
], ],
"dependencies": [ "dependencies": [
"Build-Debian9-Clang-arm-Debug-Chromebook_GLES", "Build-Debian10-Clang-arm-Debug-Chromebook_GLES",
"Housekeeper-PerCommit-BundleRecipes", "Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateSKP", "Housekeeper-PerCommit-IsolateSKP",
"Housekeeper-PerCommit-IsolateSVG", "Housekeeper-PerCommit-IsolateSVG",
@ -31678,7 +31526,7 @@
"skia" "skia"
], ],
"dependencies": [ "dependencies": [
"Build-Debian9-Clang-arm-Release-Chromebook_GLES", "Build-Debian10-Clang-arm-Release-Chromebook_GLES",
"Housekeeper-PerCommit-BundleRecipes", "Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateSKP", "Housekeeper-PerCommit-IsolateSKP",
"Housekeeper-PerCommit-IsolateSVG", "Housekeeper-PerCommit-IsolateSVG",
@ -31745,7 +31593,7 @@
"skia" "skia"
], ],
"dependencies": [ "dependencies": [
"Build-Debian9-Clang-arm-Debug-Chromebook_GLES", "Build-Debian10-Clang-arm-Debug-Chromebook_GLES",
"Housekeeper-PerCommit-BundleRecipes", "Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateSKP", "Housekeeper-PerCommit-IsolateSKP",
"Housekeeper-PerCommit-IsolateSVG", "Housekeeper-PerCommit-IsolateSVG",
@ -31812,7 +31660,7 @@
"skia" "skia"
], ],
"dependencies": [ "dependencies": [
"Build-Debian9-Clang-arm-Release-Chromebook_GLES", "Build-Debian10-Clang-arm-Release-Chromebook_GLES",
"Housekeeper-PerCommit-BundleRecipes", "Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateSKP", "Housekeeper-PerCommit-IsolateSKP",
"Housekeeper-PerCommit-IsolateSVG", "Housekeeper-PerCommit-IsolateSVG",
@ -31879,7 +31727,7 @@
"skia" "skia"
], ],
"dependencies": [ "dependencies": [
"Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES", "Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES_Docker",
"Housekeeper-PerCommit-BundleRecipes", "Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateSKP", "Housekeeper-PerCommit-IsolateSKP",
"Housekeeper-PerCommit-IsolateSVG", "Housekeeper-PerCommit-IsolateSVG",
@ -31946,7 +31794,7 @@
"skia" "skia"
], ],
"dependencies": [ "dependencies": [
"Build-Debian9-Clang-x86_64-Release-Chromebook_GLES", "Build-Debian9-Clang-x86_64-Release-Chromebook_GLES_Docker",
"Housekeeper-PerCommit-BundleRecipes", "Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateSKP", "Housekeeper-PerCommit-IsolateSKP",
"Housekeeper-PerCommit-IsolateSVG", "Housekeeper-PerCommit-IsolateSVG",
@ -32013,7 +31861,7 @@
"skia" "skia"
], ],
"dependencies": [ "dependencies": [
"Build-Debian9-Clang-arm-Debug-Chromebook_GLES", "Build-Debian10-Clang-arm-Debug-Chromebook_GLES",
"Housekeeper-PerCommit-BundleRecipes", "Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateSKP", "Housekeeper-PerCommit-IsolateSKP",
"Housekeeper-PerCommit-IsolateSVG", "Housekeeper-PerCommit-IsolateSVG",
@ -32080,7 +31928,7 @@
"skia" "skia"
], ],
"dependencies": [ "dependencies": [
"Build-Debian9-Clang-arm-Release-Chromebook_GLES", "Build-Debian10-Clang-arm-Release-Chromebook_GLES",
"Housekeeper-PerCommit-BundleRecipes", "Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateSKP", "Housekeeper-PerCommit-IsolateSKP",
"Housekeeper-PerCommit-IsolateSVG", "Housekeeper-PerCommit-IsolateSVG",
@ -32147,7 +31995,7 @@
"skia" "skia"
], ],
"dependencies": [ "dependencies": [
"Build-Debian9-Clang-arm-Debug-Chromebook_GLES", "Build-Debian10-Clang-arm-Debug-Chromebook_GLES",
"Housekeeper-PerCommit-BundleRecipes", "Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateSKP", "Housekeeper-PerCommit-IsolateSKP",
"Housekeeper-PerCommit-IsolateSVG", "Housekeeper-PerCommit-IsolateSVG",
@ -32214,7 +32062,7 @@
"skia" "skia"
], ],
"dependencies": [ "dependencies": [
"Build-Debian9-Clang-arm-Release-Chromebook_GLES", "Build-Debian10-Clang-arm-Release-Chromebook_GLES",
"Housekeeper-PerCommit-BundleRecipes", "Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateSKP", "Housekeeper-PerCommit-IsolateSKP",
"Housekeeper-PerCommit-IsolateSVG", "Housekeeper-PerCommit-IsolateSVG",