85de152dfa
Also rename emsdk-base -> emsdk-release so it is consistent with the container name. Bug: skia: NOTRY: true Change-Id: Idec19bdeb64a64120d0890b2987c2dce0a57535a Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206909 Reviewed-by: Stephan Altmueller <stephana@google.com>
111 lines
4.2 KiB
Markdown
111 lines
4.2 KiB
Markdown
Docker
|
|
======
|
|
|
|
Docker files to ease working with PathKit and WASM.
|
|
|
|
emsdk-release
|
|
----------
|
|
|
|
This image has an Emscripten SDK environment that can be used for
|
|
compiling projects (e.g. Skia's PathKit) to WASM/asm.js.
|
|
|
|
This image is standalone and does not have any extra dependencies that make
|
|
it Skia-exclusive.
|
|
|
|
It gets manually pushed anytime there's an update to the Dockerfile or relevant
|
|
installed libraries.
|
|
|
|
make publish_emsdk_base
|
|
|
|
For testing the image locally, the following flow can be helpful:
|
|
|
|
docker build -t emsdk-release ./emsdk-release/
|
|
# Run bash in it to poke around and make sure things are properly installed
|
|
docker run -it emsdk-release /bin/bash
|
|
# Compile PathKit with the local image
|
|
docker run -v $SKIA_ROOT:/SRC -v $SKIA_ROOT/out/dockerpathkit:/OUT emsdk-release /SRC/infra/pathkit/build_pathkit.sh
|
|
|
|
karma-chrome-tests
|
|
------------------
|
|
|
|
This image has Google Chrome and karma/jasmine installed on it, which can
|
|
be used to run JS tests.
|
|
|
|
This image is standalone and does not have any extra dependencies that make
|
|
it Skia-exclusive.
|
|
|
|
It gets manually pushed anytime there's an update to the Dockerfile or relevant
|
|
installed libraries.
|
|
|
|
make publish_karma_chrome_tests
|
|
|
|
Of note, some versions (generally before Chrome 60) run out of space on /dev/shm when
|
|
using the default Docker settings. To be safe, it is recommended to run the container
|
|
with the flag --shm-size=2gb.
|
|
|
|
For testing the image locally, the following can be helpful:
|
|
|
|
docker build -t karma-chrome-tests ./karma-chrome-tests/
|
|
# Run bash in it to poke around and make sure things are properly installed
|
|
docker run -it --shm-size=2gb karma-chrome-tests /bin/bash
|
|
# Run the tests (but not capturing Gold output) with the local source repo
|
|
docker run --shm-size=2gb -v $SKIA_ROOT:/SRC karma-chrome-tests karma start /SRC/infra/pathkit/karma-docker.conf.js --single-run
|
|
|
|
gold-karma-chrome-tests
|
|
------------------
|
|
|
|
This image has Google Chrome and karma/jasmine installed on it, which can
|
|
be used to run JS tests.
|
|
|
|
This image assumes the runner wants to collect the output images and JSON data
|
|
specific to Skia Infra's Gold tool (image correctness).
|
|
|
|
It gets manually pushed anytime there's an update to the Dockerfile or the parent
|
|
image (karma-chrome-tests).
|
|
|
|
# Run the following from $SKIA_ROOT/infra/pathkit
|
|
make publish_gold_karma_chrome_tests
|
|
|
|
Of note, some versions (generally before Chrome 60) run out of space on /dev/shm when
|
|
using the default Docker settings. To be safe, it is recommended to run the container
|
|
with the flag --shm-size=2gb.
|
|
|
|
For testing the image locally, the following can be helpful:
|
|
|
|
# Run the following from $SKIA_ROOT/infra/pathkit
|
|
make gold-docker-image
|
|
# Run bash in it to poke around and make sure things are properly installed
|
|
docker run -it --shm-size=2gb gold-karma-chrome-tests /bin/bash
|
|
# Run the tests and collect Gold output with the local source repo
|
|
mkdir -p -m 0777 /tmp/dockergold
|
|
docker run --shm-size=2gb -v $SKIA_ROOT:/SRC -v /tmp/dockergold:/OUT gold-karma-chrome-tests /SRC/infra/pathkit/test_pathkit.sh
|
|
|
|
perf-karma-chrome-tests
|
|
------------------
|
|
|
|
This image has Google Chrome and karma/jasmine installed on it, which can
|
|
be used to run JS tests.
|
|
|
|
This image assumes the runner wants to collect the output images and JSON data
|
|
specific to Skia Infra's Perf tool.
|
|
|
|
It gets manually pushed anytime there's an update to the Dockerfile or the parent
|
|
image (karma-chrome-tests).
|
|
|
|
# Run the following from $SKIA_ROOT/infra/pathkit
|
|
make publish_perf_karma_chrome_tests
|
|
|
|
Of note, some versions (generally before Chrome 60) run out of space on /dev/shm when
|
|
using the default Docker settings. To be safe, it is recommended to run the container
|
|
with the flag --shm-size=2gb.
|
|
|
|
For testing the image locally, the following can be helpful:
|
|
|
|
# Run the following from $SKIA_ROOT/infra/pathkit
|
|
make perf-docker-image
|
|
# Run bash in it to poke around and make sure things are properly installed
|
|
docker run -it --shm-size=2gb perf-karma-chrome-tests /bin/bash
|
|
# Run the tests and collect Perf output with the local source repo
|
|
mkdir -p -m 0777 /tmp/dockerperf
|
|
docker run --shm-size=2gb -v $SKIA_ROOT:/SRC -v /tmp/dockerperf:/OUT perf-karma-chrome-tests /SRC/infra/pathkit/perf_pathkit.sh
|