Home | History | Annotate | only in /external/skia/infra/pathkit/docker
Up to higher level directory
NameDateSize
emsdk-base/22-Oct-2020
gold-karma-chrome-tests/22-Oct-2020
karma-chrome-tests/22-Oct-2020
Makefile22-Oct-2020739
perf-karma-chrome-tests/22-Oct-2020
README.md22-Oct-20204.2K

README.md

      1 Docker
      2 ======
      3 
      4 Docker files to ease working with PathKit and WASM.
      5 
      6 emsdk-base
      7 ----------
      8 
      9 This image has an Emscripten SDK environment that can be used for
     10 compiling projects (e.g. Skia's PathKit) to WASM/asm.js.
     11 
     12 This image is standalone and does not have any extra dependencies that make
     13 it Skia-exclusive.
     14 
     15 It gets manually pushed anytime there's an update to the Dockerfile or relevant
     16 installed libraries.
     17 
     18     make publish_emsdk_base
     19 
     20 For testing the image locally, the following flow can be helpful:
     21 
     22     docker build -t emsdk-base ./emsdk-base/
     23     # Run bash in it to poke around and make sure things are properly installed
     24     docker run -it emsdk-release /bin/bash
     25     # Compile PathKit with the local image
     26     docker run -v $SKIA_ROOT:/SRC -v $SKIA_ROOT/out/dockerpathkit:/OUT emsdk-base /SRC/infra/pathkit/build_pathkit.sh
     27 
     28 karma-chrome-tests
     29 ------------------
     30 
     31 This image has Google Chrome and karma/jasmine installed on it, which can
     32 be used to run JS tests.
     33 
     34 This image is standalone and does not have any extra dependencies that make
     35 it Skia-exclusive.
     36 
     37 It gets manually pushed anytime there's an update to the Dockerfile or relevant
     38 installed libraries.
     39 
     40     make publish_karma_chrome_tests
     41 
     42 Of note, some versions (generally before Chrome 60) run out of space on /dev/shm when
     43 using the default Docker settings.  To be safe, it is recommended to run the container
     44 with the flag --shm-size=2gb.
     45 
     46 For testing the image locally, the following can be helpful:
     47 
     48     docker build -t karma-chrome-tests ./karma-chrome-tests/
     49     # Run bash in it to poke around and make sure things are properly installed
     50     docker run -it --shm-size=2gb karma-chrome-tests /bin/bash
     51     # Run the tests (but not capturing Gold output) with the local source repo
     52     docker run --shm-size=2gb -v $SKIA_ROOT:/SRC karma-chrome-tests karma start /SRC/infra/pathkit/karma-docker.conf.js --single-run
     53 
     54 gold-karma-chrome-tests
     55 ------------------
     56 
     57 This image has Google Chrome and karma/jasmine installed on it, which can
     58 be used to run JS tests.
     59 
     60 This image assumes the runner wants to collect the output images and JSON data
     61 specific to Skia Infra's Gold tool (image correctness).
     62 
     63 It gets manually pushed anytime there's an update to the Dockerfile or the parent
     64 image (karma-chrome-tests).
     65 
     66     # Run the following from $SKIA_ROOT/infra/pathkit
     67     make publish_gold_karma_chrome_tests
     68 
     69 Of note, some versions (generally before Chrome 60) run out of space on /dev/shm when
     70 using the default Docker settings.  To be safe, it is recommended to run the container
     71 with the flag --shm-size=2gb.
     72 
     73 For testing the image locally, the following can be helpful:
     74 
     75     # Run the following from $SKIA_ROOT/infra/pathkit
     76     make gold-docker-image
     77     # Run bash in it to poke around and make sure things are properly installed
     78     docker run -it --shm-size=2gb gold-karma-chrome-tests /bin/bash
     79     # Run the tests and collect Gold output with the local source repo
     80     mkdir -p -m 0777 /tmp/dockergold
     81     docker run --shm-size=2gb -v $SKIA_ROOT:/SRC -v /tmp/dockergold:/OUT gold-karma-chrome-tests /SRC/infra/pathkit/test_pathkit.sh
     82 
     83 perf-karma-chrome-tests
     84 ------------------
     85 
     86 This image has Google Chrome and karma/jasmine installed on it, which can
     87 be used to run JS tests.
     88 
     89 This image assumes the runner wants to collect the output images and JSON data
     90 specific to Skia Infra's Perf tool.
     91 
     92 It gets manually pushed anytime there's an update to the Dockerfile or the parent
     93 image (karma-chrome-tests).
     94 
     95     # Run the following from $SKIA_ROOT/infra/pathkit
     96     make publish_perf_karma_chrome_tests
     97 
     98 Of note, some versions (generally before Chrome 60) run out of space on /dev/shm when
     99 using the default Docker settings.  To be safe, it is recommended to run the container
    100 with the flag --shm-size=2gb.
    101 
    102 For testing the image locally, the following can be helpful:
    103 
    104     # Run the following from $SKIA_ROOT/infra/pathkit
    105     make perf-docker-image
    106     # Run bash in it to poke around and make sure things are properly installed
    107     docker run -it --shm-size=2gb perf-karma-chrome-tests /bin/bash
    108     # Run the tests and collect Perf output with the local source repo
    109     mkdir -p -m 0777 /tmp/dockerperf
    110     docker run --shm-size=2gb -v $SKIA_ROOT:/SRC -v /tmp/dockerperf:/OUT perf-karma-chrome-tests /SRC/infra/pathkit/perf_pathkit.sh
    111