blob: 49cc27e6da56504a792c3cee915f12c9d4a7bf84 [file] [log] [blame]
Kevin Lubick96175692018-11-05 17:28:53 -05001# Dockerfile for building the WASM libraries used by jsfiddle.skia.org
Kevin Lubick70273a92018-11-07 11:32:50 -05002FROM gcr.io/skia-public/emsdk-release:prod as builder
Kevin Lubick96175692018-11-05 17:28:53 -05003
4RUN cd /tmp \
5 && git clone 'https://chromium.googlesource.com/chromium/tools/depot_tools.git' \
6 && mkdir -p /tmp/skia \
7 && cd /tmp/skia \
8 && /tmp/depot_tools/fetch skia
9
10RUN cd /tmp/skia/skia \
11 && python tools/git-sync-deps \
12 && ./bin/fetch-gn
13
14# PathKit should be in /tmp/skia/skia/out/pathkit/
15RUN /tmp/skia/skia/modules/pathkit/compile.sh
16
17# CanvasKit should be in /tmp/skia/skia/out/canvaskit_wasm
18RUN /tmp/skia/skia/experimental/canvaskit/compile.sh
Kevin Lubick70273a92018-11-07 11:32:50 -050019
20RUN cd /tmp/skia/skia && git rev-parse HEAD > /tmp/VERSION
21
22#############################################################################
23# Multi-stage build part 2, in which we only have the compiled results and
24# a VERSION in /tmp
25# See https://docs.docker.com/develop/develop-images/multistage-build/
26#############################################################################
27
28FROM alpine:latest
29
30WORKDIR /tmp/
31
32RUN mkdir /tmp/pathkit /tmp/canvaskit
33
34COPY --from=builder /tmp/VERSION /tmp/VERSION
35
36COPY --from=builder /tmp/skia/skia/out/pathkit/pathkit* /tmp/pathkit/
37
38COPY --from=builder /tmp/skia/skia/out/canvaskit_wasm/canvaskit* /tmp/canvaskit/