skia2/docker
Kevin Lubick df3a6eee13 Add JSFiddle to cloudbuild
This is a little more complicated than other builds because we need
the webassembly binaries out fo skia-wasm-release when we do the webpack
step and we can't run docker (e.g. docker run skia-wasm-release cp foo.wasm)
inside of the skia-public/infra:prod image.

To get around this limitation, we add a step that extracts the binaries to
a /workspace/wasm-products folder (which persists between steps) and mount
that folder as a volume for when we make the jsfiddle output. The only tricky
thing is that we must manually mount the /workspace/__jsfiddle_staging folder
as a volume too, or it doesn't persist to the build step.

Something similar will be needed for skottie.skia.org after
https://skia-review.googlesource.com/c/buildbot/+/169700 lands.

Bug: skia:
Change-Id: Iec05fff7231a28ecfa209489e5c75a9621b334d2
Reviewed-on: https://skia-review.googlesource.com/c/169821
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2018-11-08 22:53:25 +00:00
..
skia-release docker - Record the skia git hash. 2018-06-20 14:19:01 +00:00
skia-wasm-release Make the skia-wasm-release image only have the build products 2018-11-07 16:35:44 +00:00
skia-with-swift-shader-base Add Dockerfile for building and running local Skia checkout with SwiftShader 2018-06-06 18:23:24 +00:00
cloudbuild.yaml Add JSFiddle to cloudbuild 2018-11-08 22:53:25 +00:00
README.md Add skia-wasm-release image. 2018-11-06 15:45:51 +00:00

Docker

Docker files for building different Skia targets.

skia-release

This image is used to build Skia at TOT with SwiftShader.

There is a continuous process that builds this docker image, but if you need to manually push a verison, then run the following commands:

docker build -t skia-release ./docker/skia-release/
docker tag skia-release gcr.io/skia-public/skia-release:prod
docker push gcr.io/skia-public/skia-release:prod

skia-wasm-release

This image is used to build the Web Assembly (WASM) libraries of Skia at TOT.

There is a continuous process that builds this docker image, but if you need to manually push a verison, then run the following commands:

docker build -t skia-wasm-release ./docker/skia-wasm-release/
docker tag skia-wasm-release gcr.io/skia-public/skia-wasm-release:prod
docker push gcr.io/skia-public/skia-wasm-release:prod

skia-with-swift-shader-base

This image is used to build a local checkout of Skia with SwiftShader and run the built executables without requiring the SwiftShader be installed on the host.

For example (see build-with-swift-shader-and-run for more info), to reproduce a fuzzer bug in SwiftShader:

# First, copy the test case into $SKIA_ROOT, say $SKIA_ROOT/skbug_1234
build-with-swift-shader-and-run "out/with-swift-shader/fuzz -t filter_fuzz -b /skia/skbug_1234"

There is a continuous process that builds this docker image (which only really changes if SwiftShader is updated), but if you need to manually push a version, then run the following commands:

docker build -t skia-with-swift-shader-base ./docker/skia-with-swift-shader-base/
docker tag skia-with-swift-shader-base gcr.io/skia-public/skia-with-swift-shader-base:prod
docker push gcr.io/skia-public/skia-with-swift-shader-base:prod