skia2/docker/skia-wasm-release/Dockerfile
Kevin Lubick 70273a92aa Make the skia-wasm-release image only have the build products
The previous version had several gigs of buildtools, source code, etc.
This is much smaller and easier to download for tools like
jsfiddles.skia.org and (soon) skottie.skia.org

Bug: skia:
Change-Id: I748487abb1c6f6e82476076d22a27a5d4f90f75a
Reviewed-on: https://skia-review.googlesource.com/c/169240
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-11-07 16:35:44 +00:00

39 lines
1.2 KiB
Docker

# Dockerfile for building the WASM libraries used by jsfiddle.skia.org
FROM gcr.io/skia-public/emsdk-release:prod as builder
RUN cd /tmp \
&& git clone 'https://chromium.googlesource.com/chromium/tools/depot_tools.git' \
&& mkdir -p /tmp/skia \
&& cd /tmp/skia \
&& /tmp/depot_tools/fetch skia
RUN cd /tmp/skia/skia \
&& python tools/git-sync-deps \
&& ./bin/fetch-gn
# PathKit should be in /tmp/skia/skia/out/pathkit/
RUN /tmp/skia/skia/modules/pathkit/compile.sh
# CanvasKit should be in /tmp/skia/skia/out/canvaskit_wasm
RUN /tmp/skia/skia/experimental/canvaskit/compile.sh
RUN cd /tmp/skia/skia && git rev-parse HEAD > /tmp/VERSION
#############################################################################
# Multi-stage build part 2, in which we only have the compiled results and
# a VERSION in /tmp
# See https://docs.docker.com/develop/develop-images/multistage-build/
#############################################################################
FROM alpine:latest
WORKDIR /tmp/
RUN mkdir /tmp/pathkit /tmp/canvaskit
COPY --from=builder /tmp/VERSION /tmp/VERSION
COPY --from=builder /tmp/skia/skia/out/pathkit/pathkit* /tmp/pathkit/
COPY --from=builder /tmp/skia/skia/out/canvaskit_wasm/canvaskit* /tmp/canvaskit/