Import Cobalt.21.master.0.282262

Includes the following patches:
  https://cobalt-review.googlesource.com/c/cobalt/+/5810
    by rongo.li@mstar.corp-partner.google.com
diff --git a/src/docker/linux/android/Dockerfile b/src/docker/linux/android/Dockerfile
index d76e0ce..ad34732 100644
--- a/src/docker/linux/android/Dockerfile
+++ b/src/docker/linux/android/Dockerfile
@@ -16,6 +16,8 @@
     && rm -rf /var/lib/{apt,dpkg,cache,log} \
     && echo "Done"
 
+RUN mkdir -p /root/.android
+
 CMD (test -f /root/.android/debug.keystore \
     && echo "Android debug keystore exists." \
     || (keytool -genkey -v \
diff --git a/src/docker/linux/base/Dockerfile b/src/docker/linux/base/Dockerfile
index 4f21c76..2746def 100644
--- a/src/docker/linux/base/Dockerfile
+++ b/src/docker/linux/base/Dockerfile
@@ -1,5 +1,6 @@
 ARG BASE_OS
-FROM ${BASE_OS:-gcr.io/cloud-marketplace-containers/google/debian9}
+ARG BASE_OS_TAG
+FROM ${BASE_OS:-gcr.io/cloud-marketplace-containers/google/debian9}:${BASE_OS_TAG:-latest}
 
 ENV PYTHONUNBUFFERED 1
 
diff --git a/src/docker/linux/base/build/Dockerfile b/src/docker/linux/base/build/Dockerfile
index 416b5ee..545908d 100644
--- a/src/docker/linux/base/build/Dockerfile
+++ b/src/docker/linux/base/build/Dockerfile
@@ -1,4 +1,5 @@
-FROM cobalt-base
+ARG FROM_IMAGE
+FROM ${FROM_IMAGE:-cobalt-base}
 
 # === Get Nodejs pinned LTS version via NVM
 ENV NVM_DIR /root/.nvm
@@ -18,17 +19,15 @@
 RUN git clone https://cobalt.googlesource.com/depot_tools /depot_tools
 
 # === Configure common env vars
-ENV PATH="${PATH}:/depot_tools:/root/fake_goma" \
+ENV PATH="${PATH}:/depot_tools" \
     OUTDIR=out \
     DEPOT_TOOLS_UPDATE=0 \
     NINJA_STATUS="[%f/%t %c/sec] " \
     CCACHE_DIR=/root/ccache \
     CCACHE_MAXSIZE=30G
 
-# == Set up gclient and fake Goma with ccache
-COPY ./files/fake_goma /root/fake_goma
+# == Set up gclient and ccache
 RUN cd /tmp && gclient verify || true \
-    && chmod +x /root/fake_goma/gomacc /root/fake_goma/goma_ctl.py \
     && mkdir /root/ccache
 
 WORKDIR /code
diff --git a/src/docker/linux/clang-3-6/Dockerfile b/src/docker/linux/clang-3-6/Dockerfile
new file mode 100644
index 0000000..0bf3926
--- /dev/null
+++ b/src/docker/linux/clang-3-6/Dockerfile
@@ -0,0 +1,14 @@
+FROM linux-x64x11-xenial
+
+ARG DEBIAN_FRONTEND=noninteractive
+
+RUN apt update -qqy \
+    && apt install -qqy --no-install-recommends clang-3.6 \
+    && apt-get clean autoclean \
+    && apt-get autoremove -y --purge \
+    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
+    && rm -rf /var/lib/{apt,dpkg,cache,log} \
+    && echo "Done"
+
+CMD /code/cobalt/build/gyp_cobalt -v -C ${CONFIG} ${PLATFORM} && \
+    ninja -C ${OUTDIR}/${PLATFORM}_${CONFIG} ${TARGET:-cobalt_deploy}
diff --git a/src/docker/linux/files/fake_goma/goma_ctl.py b/src/docker/linux/files/fake_goma/goma_ctl.py
deleted file mode 100755
index 2f2ceb9..0000000
--- a/src/docker/linux/files/fake_goma/goma_ctl.py
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env python
-
-print("Faking Goma via ccache")
diff --git a/src/docker/linux/files/fake_goma/gomacc b/src/docker/linux/files/fake_goma/gomacc
deleted file mode 100755
index d64f812..0000000
--- a/src/docker/linux/files/fake_goma/gomacc
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-ccache "$@"
diff --git a/src/docker/linux/linux-x64x11/Dockerfile b/src/docker/linux/linux-x64x11/Dockerfile
index 524f320..29f7d8d 100644
--- a/src/docker/linux/linux-x64x11/Dockerfile
+++ b/src/docker/linux/linux-x64x11/Dockerfile
@@ -1,4 +1,5 @@
-FROM cobalt-build-base
+ARG FROM_IMAGE
+FROM ${FROM_IMAGE:-cobalt-build-base}
 
 RUN apt update -qqy \
     && apt install -qqy --no-install-recommends \
diff --git a/src/docker/linux/unittest/Dockerfile b/src/docker/linux/unittest/Dockerfile
index 32a35a5..e876c8d 100644
--- a/src/docker/linux/unittest/Dockerfile
+++ b/src/docker/linux/unittest/Dockerfile
@@ -7,7 +7,9 @@
         libavformat57 \
         libavresample3 \
         libavutil55 \
+        libegl1-mesa \
         libgl1-mesa-dri \
+        libgles2-mesa \
         libx11-6 \
         libxcomposite1 \
         libxrender1 \
@@ -27,7 +29,7 @@
 
 RUN mkdir -p /app_launcher_out
 
-CMD unzip /out/app_launcher -d /app_launcher_out && \
+CMD unzip -q /out/app_launcher -d /app_launcher_out && \
     xvfb-run --server-args="-screen 0 1920x1080x24 +render +extension GLX -noreset" \
     python /app_launcher_out/starboard/tools/testing/test_runner.py --run \
-           -o /out --platform $PLATFORM --config $CONFIG -t $TEST_TARGET
+           -o /out --platform $PLATFORM --config $CONFIG