1Docker 2====== 3 4Docker files to ease working with PathKit and WASM. 5 6emsdk-release 7---------- 8 9This image has an Emscripten SDK environment that can be used for 10compiling projects (e.g. Skia's PathKit) to WASM/asm.js. 11 12This image is standalone and does not have any extra dependencies that make 13it Skia-exclusive. 14 15It gets manually pushed anytime there's an update to the Dockerfile or relevant 16installed libraries. 17 18 make publish_emsdk_base 19 20For testing the image locally, the following flow can be helpful: 21 22 docker build -t emsdk-release ./emsdk-release/ 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-release /SRC/infra/pathkit/build_pathkit.sh 27 28karma-chrome-tests 29------------------ 30 31This image has Google Chrome and karma/jasmine installed on it, which can 32be used to run JS tests. 33 34This image is standalone and does not have any extra dependencies that make 35it Skia-exclusive. 36 37It gets manually pushed anytime there's an update to the Dockerfile or relevant 38installed libraries. 39 40 make publish_karma_chrome_tests 41 42Of note, some versions (generally before Chrome 60) run out of space on /dev/shm when 43using the default Docker settings. To be safe, it is recommended to run the container 44with the flag --shm-size=2gb. 45 46For 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 54gold-karma-chrome-tests 55------------------ 56 57This image has Google Chrome and karma/jasmine installed on it, which can 58be used to run JS tests. 59 60This image assumes the runner wants to collect the output images and JSON data 61specific to Skia Infra's Gold tool (image correctness). 62 63It gets manually pushed anytime there's an update to the Dockerfile or the parent 64image (karma-chrome-tests). 65 66 # Run the following from $SKIA_ROOT/infra/pathkit 67 make publish_gold_karma_chrome_tests 68 69Of note, some versions (generally before Chrome 60) run out of space on /dev/shm when 70using the default Docker settings. To be safe, it is recommended to run the container 71with the flag --shm-size=2gb. 72 73For 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 83perf-karma-chrome-tests 84------------------ 85 86This image has Google Chrome and karma/jasmine installed on it, which can 87be used to run JS tests. 88 89This image assumes the runner wants to collect the output images and JSON data 90specific to Skia Infra's Perf tool. 91 92It gets manually pushed anytime there's an update to the Dockerfile or the parent 93image (karma-chrome-tests). 94 95 # Run the following from $SKIA_ROOT/infra/pathkit 96 make publish_perf_karma_chrome_tests 97 98Of note, some versions (generally before Chrome 60) run out of space on /dev/shm when 99using the default Docker settings. To be safe, it is recommended to run the container 100with the flag --shm-size=2gb. 101 102For 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