blob: 642c18a18b6d3901ae70b63f4b40293b42ee9717 [file] [log] [blame]
Kevin Lubickb3d0e3e2018-08-03 12:24:06 -04001[
2 {
3 "cmd": [
4 "python",
5 "-u",
6 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
7 "--json-output",
8 "/path/to/tmp/json",
9 "ensure-directory",
10 "--mode",
11 "0777",
Kevin Lubick8e9750d2018-10-09 09:36:35 -040012 "[START_DIR]/cache/docker/pathkit"
Kevin Lubickb3d0e3e2018-08-03 12:24:06 -040013 ],
14 "infra_step": true,
15 "name": "mkdirs out_dir"
16 },
17 {
18 "cmd": [
19 "docker",
20 "run",
21 "--rm",
22 "-v",
23 "[START_DIR]/cache/work:/SRC",
24 "-v",
Kevin Lubick8e9750d2018-10-09 09:36:35 -040025 "[START_DIR]/cache/docker/pathkit:/OUT",
Kevin Lubicke70c6b12018-11-06 07:49:40 -050026 "gcr.io/skia-public/emsdk-release:1.38.16_v1",
Kevin Lubick8e9750d2018-10-09 09:36:35 -040027 "/SRC/skia/infra/pathkit/build_pathkit.sh",
Kevin Lubick641bf872018-08-06 14:49:39 -040028 "debug"
Kevin Lubickb3d0e3e2018-08-03 12:24:06 -040029 ],
30 "env": {
31 "CHROME_HEADLESS": "1",
32 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
33 },
34 "name": "Build PathKit with Docker"
35 },
36 {
37 "cmd": [
38 "python",
39 "-u",
40 "import errno\nimport glob\nimport os\nimport shutil\nimport sys\n\nsrc = sys.argv[1]\ndst = sys.argv[2]\nbuild_products_whitelist = ['bookmaker', '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', 'skiaserve', '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_whitelist:\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",
41 "[START_DIR]/cache/work/skia/out/Build-Debian9-EMCC-wasm-Debug-PathKit/Debug",
42 "[START_DIR]/[SWARM_OUT_DIR]/out/Debug"
43 ],
44 "infra_step": true,
45 "name": "copy build products",
46 "~followup_annotations": [
47 "@@@STEP_LOG_LINE@python.inline@import errno@@@",
48 "@@@STEP_LOG_LINE@python.inline@import glob@@@",
49 "@@@STEP_LOG_LINE@python.inline@import os@@@",
50 "@@@STEP_LOG_LINE@python.inline@import shutil@@@",
51 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
52 "@@@STEP_LOG_LINE@python.inline@@@@",
53 "@@@STEP_LOG_LINE@python.inline@src = sys.argv[1]@@@",
54 "@@@STEP_LOG_LINE@python.inline@dst = sys.argv[2]@@@",
55 "@@@STEP_LOG_LINE@python.inline@build_products_whitelist = ['bookmaker', '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', 'skiaserve', 'lib/*.so', 'run_testlab', 'skqp-universal-debug.apk', 'whitelist_devices.json']@@@",
56 "@@@STEP_LOG_LINE@python.inline@@@@",
57 "@@@STEP_LOG_LINE@python.inline@try:@@@",
58 "@@@STEP_LOG_LINE@python.inline@ os.makedirs(dst)@@@",
59 "@@@STEP_LOG_LINE@python.inline@except OSError as e:@@@",
60 "@@@STEP_LOG_LINE@python.inline@ if e.errno != errno.EEXIST:@@@",
61 "@@@STEP_LOG_LINE@python.inline@ raise@@@",
62 "@@@STEP_LOG_LINE@python.inline@@@@",
63 "@@@STEP_LOG_LINE@python.inline@for pattern in build_products_whitelist:@@@",
64 "@@@STEP_LOG_LINE@python.inline@ path = os.path.join(src, pattern)@@@",
65 "@@@STEP_LOG_LINE@python.inline@ for f in glob.glob(path):@@@",
66 "@@@STEP_LOG_LINE@python.inline@ dst_path = os.path.join(dst, os.path.relpath(f, src))@@@",
67 "@@@STEP_LOG_LINE@python.inline@ if not os.path.isdir(os.path.dirname(dst_path)):@@@",
68 "@@@STEP_LOG_LINE@python.inline@ os.makedirs(os.path.dirname(dst_path))@@@",
69 "@@@STEP_LOG_LINE@python.inline@ print 'Copying build product %s to %s' % (f, dst_path)@@@",
70 "@@@STEP_LOG_LINE@python.inline@ shutil.move(f, dst_path)@@@",
71 "@@@STEP_LOG_END@python.inline@@@"
72 ]
73 },
74 {
75 "cmd": [
76 "python",
77 "-u",
78 "import errno\nimport glob\nimport os\nimport shutil\nimport sys\n\nsrc = sys.argv[1]\ndst = sys.argv[2]\nbuild_products_whitelist = ['pathkit.*']\n\ntry:\n os.makedirs(dst)\nexcept OSError as e:\n if e.errno != errno.EEXIST:\n raise\n\nfor pattern in build_products_whitelist:\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 # Because Docker usually has some strange permissions (like root\n # ownership), we'd rather not keep those around. copyfile doesn't\n # keep the metadata around, so that helps us.\n shutil.copyfile(f, dst_path)\n",
Kevin Lubick8e9750d2018-10-09 09:36:35 -040079 "[START_DIR]/cache/docker/pathkit",
Kevin Lubickb3d0e3e2018-08-03 12:24:06 -040080 "[START_DIR]/[SWARM_OUT_DIR]/out/Debug"
81 ],
82 "infra_step": true,
83 "name": "copy wasm output",
84 "~followup_annotations": [
85 "@@@STEP_LOG_LINE@python.inline@import errno@@@",
86 "@@@STEP_LOG_LINE@python.inline@import glob@@@",
87 "@@@STEP_LOG_LINE@python.inline@import os@@@",
88 "@@@STEP_LOG_LINE@python.inline@import shutil@@@",
89 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
90 "@@@STEP_LOG_LINE@python.inline@@@@",
91 "@@@STEP_LOG_LINE@python.inline@src = sys.argv[1]@@@",
92 "@@@STEP_LOG_LINE@python.inline@dst = sys.argv[2]@@@",
93 "@@@STEP_LOG_LINE@python.inline@build_products_whitelist = ['pathkit.*']@@@",
94 "@@@STEP_LOG_LINE@python.inline@@@@",
95 "@@@STEP_LOG_LINE@python.inline@try:@@@",
96 "@@@STEP_LOG_LINE@python.inline@ os.makedirs(dst)@@@",
97 "@@@STEP_LOG_LINE@python.inline@except OSError as e:@@@",
98 "@@@STEP_LOG_LINE@python.inline@ if e.errno != errno.EEXIST:@@@",
99 "@@@STEP_LOG_LINE@python.inline@ raise@@@",
100 "@@@STEP_LOG_LINE@python.inline@@@@",
101 "@@@STEP_LOG_LINE@python.inline@for pattern in build_products_whitelist:@@@",
102 "@@@STEP_LOG_LINE@python.inline@ path = os.path.join(src, pattern)@@@",
103 "@@@STEP_LOG_LINE@python.inline@ for f in glob.glob(path):@@@",
104 "@@@STEP_LOG_LINE@python.inline@ dst_path = os.path.join(dst, os.path.relpath(f, src))@@@",
105 "@@@STEP_LOG_LINE@python.inline@ if not os.path.isdir(os.path.dirname(dst_path)):@@@",
106 "@@@STEP_LOG_LINE@python.inline@ os.makedirs(os.path.dirname(dst_path))@@@",
107 "@@@STEP_LOG_LINE@python.inline@ print 'Copying build product %s to %s' % (f, dst_path)@@@",
108 "@@@STEP_LOG_LINE@python.inline@ # Because Docker usually has some strange permissions (like root@@@",
109 "@@@STEP_LOG_LINE@python.inline@ # ownership), we'd rather not keep those around. copyfile doesn't@@@",
110 "@@@STEP_LOG_LINE@python.inline@ # keep the metadata around, so that helps us.@@@",
111 "@@@STEP_LOG_LINE@python.inline@ shutil.copyfile(f, dst_path)@@@",
112 "@@@STEP_LOG_END@python.inline@@@"
113 ]
114 },
115 {
recipe-roller96ea3402018-10-30 15:22:37 -0700116 "jsonResult": null,
117 "name": "$result"
Kevin Lubickb3d0e3e2018-08-03 12:24:06 -0400118 }
119]