Home | History | Annotate | Download | only in full.expected
      1 [
      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",
     12       "[START_DIR]/cache/docker/pathkit"
     13     ],
     14     "infra_step": true,
     15     "name": "mkdirs out_dir"
     16   },
     17   {
     18     "cmd": [
     19       "docker",
     20       "run",
     21       "--rm",
     22       "--volume",
     23       "[START_DIR]/cache/work:/SRC",
     24       "--volume",
     25       "[START_DIR]/cache/docker/pathkit:/OUT",
     26       "gcr.io/skia-public/emsdk-release:1.38.16_v1",
     27       "/SRC/skia/infra/pathkit/build_pathkit.sh"
     28     ],
     29     "env": {
     30       "CHROME_HEADLESS": "1",
     31       "DOCKER_CONFIG": "/home/chrome-bot/.docker",
     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-Release-PathKit/Release",
     42       "[START_DIR]/[SWARM_OUT_DIR]/out/Release"
     43     ],
     44     "infra_step": true,
     45     "name": "copy build products",
     46     "~followup_annotations": [
     47       "@@@STEP_LOG_LINE (a] python.inline@import errno@@@",
     48       "@@@STEP_LOG_LINE (a] python.inline@import glob@@@",
     49       "@@@STEP_LOG_LINE (a] python.inline@import os@@@",
     50       "@@@STEP_LOG_LINE (a] python.inline@import shutil@@@",
     51       "@@@STEP_LOG_LINE (a] python.inline@import sys@@@",
     52       "@@@STEP_LOG_LINE (a] python.inline@@@@",
     53       "@@@STEP_LOG_LINE (a] python.inline@src = sys.argv[1]@@@",
     54       "@@@STEP_LOG_LINE (a] python.inline@dst = sys.argv[2]@@@",
     55       "@@@STEP_LOG_LINE (a] 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 (a] python.inline@@@@",
     57       "@@@STEP_LOG_LINE (a] python.inline@try:@@@",
     58       "@@@STEP_LOG_LINE (a] python.inline@  os.makedirs(dst)@@@",
     59       "@@@STEP_LOG_LINE (a] python.inline@except OSError as e:@@@",
     60       "@@@STEP_LOG_LINE (a] python.inline@  if e.errno != errno.EEXIST:@@@",
     61       "@@@STEP_LOG_LINE (a] python.inline@    raise@@@",
     62       "@@@STEP_LOG_LINE (a] python.inline@@@@",
     63       "@@@STEP_LOG_LINE (a] python.inline@for pattern in build_products_whitelist:@@@",
     64       "@@@STEP_LOG_LINE (a] python.inline@  path = os.path.join(src, pattern)@@@",
     65       "@@@STEP_LOG_LINE (a] python.inline@  for f in glob.glob(path):@@@",
     66       "@@@STEP_LOG_LINE (a] python.inline@    dst_path = os.path.join(dst, os.path.relpath(f, src))@@@",
     67       "@@@STEP_LOG_LINE (a] python.inline@    if not os.path.isdir(os.path.dirname(dst_path)):@@@",
     68       "@@@STEP_LOG_LINE (a] python.inline@      os.makedirs(os.path.dirname(dst_path))@@@",
     69       "@@@STEP_LOG_LINE (a] python.inline@    print 'Copying build product %s to %s' % (f, dst_path)@@@",
     70       "@@@STEP_LOG_LINE (a] python.inline@    shutil.move(f, dst_path)@@@",
     71       "@@@STEP_LOG_END (a] 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",
     79       "[START_DIR]/cache/docker/pathkit",
     80       "[START_DIR]/[SWARM_OUT_DIR]/out/Release"
     81     ],
     82     "infra_step": true,
     83     "name": "copy wasm output",
     84     "~followup_annotations": [
     85       "@@@STEP_LOG_LINE (a] python.inline@import errno@@@",
     86       "@@@STEP_LOG_LINE (a] python.inline@import glob@@@",
     87       "@@@STEP_LOG_LINE (a] python.inline@import os@@@",
     88       "@@@STEP_LOG_LINE (a] python.inline@import shutil@@@",
     89       "@@@STEP_LOG_LINE (a] python.inline@import sys@@@",
     90       "@@@STEP_LOG_LINE (a] python.inline@@@@",
     91       "@@@STEP_LOG_LINE (a] python.inline@src = sys.argv[1]@@@",
     92       "@@@STEP_LOG_LINE (a] python.inline@dst = sys.argv[2]@@@",
     93       "@@@STEP_LOG_LINE (a] python.inline@build_products_whitelist = ['pathkit.*']@@@",
     94       "@@@STEP_LOG_LINE (a] python.inline@@@@",
     95       "@@@STEP_LOG_LINE (a] python.inline@try:@@@",
     96       "@@@STEP_LOG_LINE (a] python.inline@  os.makedirs(dst)@@@",
     97       "@@@STEP_LOG_LINE (a] python.inline@except OSError as e:@@@",
     98       "@@@STEP_LOG_LINE (a] python.inline@  if e.errno != errno.EEXIST:@@@",
     99       "@@@STEP_LOG_LINE (a] python.inline@    raise@@@",
    100       "@@@STEP_LOG_LINE (a] python.inline@@@@",
    101       "@@@STEP_LOG_LINE (a] python.inline@for pattern in build_products_whitelist:@@@",
    102       "@@@STEP_LOG_LINE (a] python.inline@  path = os.path.join(src, pattern)@@@",
    103       "@@@STEP_LOG_LINE (a] python.inline@  for f in glob.glob(path):@@@",
    104       "@@@STEP_LOG_LINE (a] python.inline@    dst_path = os.path.join(dst, os.path.relpath(f, src))@@@",
    105       "@@@STEP_LOG_LINE (a] python.inline@    if not os.path.isdir(os.path.dirname(dst_path)):@@@",
    106       "@@@STEP_LOG_LINE (a] python.inline@      os.makedirs(os.path.dirname(dst_path))@@@",
    107       "@@@STEP_LOG_LINE (a] python.inline@    print 'Copying build product %s to %s' % (f, dst_path)@@@",
    108       "@@@STEP_LOG_LINE (a] python.inline@    # Because Docker usually has some strange permissions (like root@@@",
    109       "@@@STEP_LOG_LINE (a] python.inline@    # ownership), we'd rather not keep those around. copyfile doesn't@@@",
    110       "@@@STEP_LOG_LINE (a] python.inline@    # keep the metadata around, so that helps us.@@@",
    111       "@@@STEP_LOG_LINE (a] python.inline@    shutil.copyfile(f, dst_path)@@@",
    112       "@@@STEP_LOG_END (a] python.inline@@@"
    113     ]
    114   },
    115   {
    116     "jsonResult": null,
    117     "name": "$result"
    118   }
    119 ]