skia2/docker
Mike Klein 6bbeb4ab72 remove xbyak
For now, disable the vpmovusdb AVX-512 instruction, using the compound
AVX2 fallback instead.  I need to learn how to encode EVEX prefixes
before we can use that, and it's not very important.

That's everything!  We're fully in control now, and should be able to
run this on any x86-64 Linux or Mac.  And we can relax some of the
defined(SKVM_JIT) guards so that, e.g., we can unit test Assembler even
on all platforms.

Stifle some warnings about ~bool by ~(int)bool.

Would like to enable when is_mac too but can't seem to get past
(bogus?) thread annotation on the bots.  My local Mac is fine. :/

Change-Id: If00bdd97ebd9684ed109933e2fa70c5e6f6ea339
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222631
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-06-22 00:16:38 +00:00
..
binary-size Build code size treemaps for skottie_tool 2019-02-12 13:54:00 +00:00
cmake-release CMake: distinguish between file and dir copies by presence of '.' in src path 2019-02-01 18:58:46 +00:00
skia-release remove xbyak 2019-06-22 00:16:38 +00:00
skia-wasm-release Include wasm debugger in continuous build part 2 2019-04-01 19:51:43 +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 Make debugger-assets part of cloudbuild CI. 2019-06-19 20:44:40 +00:00
README.md Build code size treemaps for skottie_tool 2019-02-12 13:54:00 +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

cmake-release

This image is used to build Skia using CMake.

It gets manually pushed anytime there's an update to the Dockerfile or relevant installed libraries. To push:

docker build -t cmake-release ./cmake-release/
docker tag cmake-release gcr.io/skia-public/cmake-release:3.13.1_v2
docker push gcr.io/skia-public/cmake-release:3.13.1_v2

For testing the image locally, the following flow can be helpful:

docker build -t cmake-release ./cmake-release/
# Run bash in it to poke around and make sure things are properly
# installed and configured. Also useful to get version of CMake.
docker run -it cmake-release /bin/bash
# Compile Skia in a local checkout with the local image
docker run -v $SKIA_ROOT:/SRC -v /tmp/output:/OUT cmake-release /SRC/infra/docker/cmake/build_skia.sh

binary-size

This image is used to build code size tree-maps of Skia

It gets manually pushed anytime there's an update to the Dockerfile or relevant installed libraries. To push:

docker build -t binary-size ./binary-size/
docker tag binary-size gcr.io/skia-public/binary-size:v1
docker push gcr.io/skia-public/binary-size:v1

For testing the image locally, the following flow can be helpful:

docker build -t binary-size ./binary-size/
# Run bash in it to poke around and make sure things are properly
# installed and configured.
docker run -it binary-size /bin/sh
# analyze exe "skottie_tool" in build directory out/Release
docker run -v $SKIA_ROOT/out/Release:/IN -v /tmp/output:/OUT binary-size /opt/binary_size/src/run_binary_size_analysis.py --library /IN/skottie_tool --destdir /OUT