1[ 2 { 3 "cmd": [], 4 "name": "Docker setup" 5 }, 6 { 7 "cmd": [ 8 "vpython", 9 "-u", 10 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 11 "--json-output", 12 "/path/to/tmp/json", 13 "ensure-directory", 14 "--mode", 15 "0777", 16 "[START_DIR]/cache/work/skia/out/Build-Debian10-GCC-x86-Debug-Docker/Debug" 17 ], 18 "infra_step": true, 19 "name": "Docker setup.mkdirs out_dir", 20 "~followup_annotations": [ 21 "@@@STEP_NEST_LEVEL@1@@@" 22 ] 23 }, 24 { 25 "cmd": [ 26 "chmod", 27 "777", 28 "[START_DIR]/cache/work/skia/out/Build-Debian10-GCC-x86-Debug-Docker/Debug" 29 ], 30 "infra_step": true, 31 "name": "Docker setup.chmod 777 [START_DIR]/cache/work/skia/out/Build-Debian10-GCC-x86-Debug-Docker/Debug", 32 "~followup_annotations": [ 33 "@@@STEP_NEST_LEVEL@1@@@" 34 ] 35 }, 36 { 37 "cmd": [ 38 "chmod", 39 "755", 40 "[START_DIR]/cache/work" 41 ], 42 "infra_step": true, 43 "name": "Docker setup.chmod 755 [START_DIR]/cache/work", 44 "~followup_annotations": [ 45 "@@@STEP_NEST_LEVEL@1@@@" 46 ] 47 }, 48 { 49 "cmd": [ 50 "chmod", 51 "0755", 52 "RECIPE_MODULE[skia::build]/resources/docker-compile.sh" 53 ], 54 "infra_step": true, 55 "name": "Docker setup.chmod 0755 RECIPE_MODULE[skia::build]/resources/docker-compile.sh", 56 "~followup_annotations": [ 57 "@@@STEP_NEST_LEVEL@1@@@" 58 ] 59 }, 60 { 61 "cmd": [ 62 "docker", 63 "run", 64 "--shm-size=2gb", 65 "--rm", 66 "--mount", 67 "type=bind,source=[START_DIR]/cache/work,target=/SRC", 68 "--mount", 69 "type=bind,source=[START_DIR]/cache/work/skia/out/Build-Debian10-GCC-x86-Debug-Docker/Debug,target=/OUT", 70 "gcr.io/skia-public/gcc-debian10-x86@sha256:b1ec55403ac66d9500d033d6ffd7663894d32335711fbbb0fb4c67dfce812203", 71 "/SRC/../RECIPE_MODULE[skia::build]/resources/docker-compile.sh", 72 "cc=\"gcc\" cxx=\"g++\" extra_cflags=[\"-O1\",\"-g1\",\"-DDUMMY_docker_image=gcr.io/skia-public/gcc-debian10-x86@sha256:b1ec55403ac66d9500d033d6ffd7663894d32335711fbbb0fb4c67dfce812203\"] extra_ldflags=[] target_cpu=\"x86\" werror=true" 73 ], 74 "env": { 75 "CHROME_HEADLESS": "1", 76 "DOCKER_CONFIG": "/home/chrome-bot/.docker", 77 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 78 }, 79 "name": "Run build script in Docker" 80 }, 81 { 82 "cmd": [ 83 "python", 84 "-u", 85 "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", 86 "[START_DIR]/cache/work/skia/out/Build-Debian10-GCC-x86-Debug-Docker/Debug", 87 "[START_DIR]/[SWARM_OUT_DIR]/out/Debug" 88 ], 89 "infra_step": true, 90 "name": "copy build products", 91 "~followup_annotations": [ 92 "@@@STEP_LOG_LINE@python.inline@import errno@@@", 93 "@@@STEP_LOG_LINE@python.inline@import glob@@@", 94 "@@@STEP_LOG_LINE@python.inline@import os@@@", 95 "@@@STEP_LOG_LINE@python.inline@import shutil@@@", 96 "@@@STEP_LOG_LINE@python.inline@import sys@@@", 97 "@@@STEP_LOG_LINE@python.inline@@@@", 98 "@@@STEP_LOG_LINE@python.inline@src = sys.argv[1]@@@", 99 "@@@STEP_LOG_LINE@python.inline@dst = sys.argv[2]@@@", 100 "@@@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']@@@", 101 "@@@STEP_LOG_LINE@python.inline@@@@", 102 "@@@STEP_LOG_LINE@python.inline@try:@@@", 103 "@@@STEP_LOG_LINE@python.inline@ os.makedirs(dst)@@@", 104 "@@@STEP_LOG_LINE@python.inline@except OSError as e:@@@", 105 "@@@STEP_LOG_LINE@python.inline@ if e.errno != errno.EEXIST:@@@", 106 "@@@STEP_LOG_LINE@python.inline@ raise@@@", 107 "@@@STEP_LOG_LINE@python.inline@@@@", 108 "@@@STEP_LOG_LINE@python.inline@for pattern in build_products:@@@", 109 "@@@STEP_LOG_LINE@python.inline@ path = os.path.join(src, pattern)@@@", 110 "@@@STEP_LOG_LINE@python.inline@ for f in glob.glob(path):@@@", 111 "@@@STEP_LOG_LINE@python.inline@ dst_path = os.path.join(dst, os.path.relpath(f, src))@@@", 112 "@@@STEP_LOG_LINE@python.inline@ if not os.path.isdir(os.path.dirname(dst_path)):@@@", 113 "@@@STEP_LOG_LINE@python.inline@ os.makedirs(os.path.dirname(dst_path))@@@", 114 "@@@STEP_LOG_LINE@python.inline@ print 'Copying build product %s to %s' % (f, dst_path)@@@", 115 "@@@STEP_LOG_LINE@python.inline@ shutil.move(f, dst_path)@@@", 116 "@@@STEP_LOG_END@python.inline@@@" 117 ] 118 }, 119 { 120 "name": "$result" 121 } 122]