Squash docker images (#7501)
Our previous image setup was trying to keep things separate in a defined
hierarchy and use multi-stage builds. This was for a few reasons:
1. It followed Docker's recommended
[best practices](https://docs.docker.com/develop/develop-images/dockerfile_best-practices/).
2. It ensured that builds only had exactly the things we thought they
needed and didn't grow any weird extra dependencies.
3. It separated concerns, so each image was doing a single specific
thing.
4. It avoided monolithic architectures.
5. It aimed to keep images as small as possible for each transmission
over the wire.
These were all great in theory. In practice, it meant we had 20 docker
images and it was confusing to keep track of them all. The major failing
here is that Dockerfile is just really not a composable format. The only
mechanism of composability is fetching specific files from another
image, which requires enumerating all such files: not easy for installs
that scatter files across the filesystem. This meant that we ended up
repeating ourselves anyway and duplicated expensive work. Dockerfile
commands that create layers in the image also don't have explicit
dependencies. If any layer underneath it is changed, the whole cache is
invalidated. This means rebuilds are far more frequent than you'd want
for this sort of architecture. Additionally, we've ended up at a place
where things like Python and its basic modules like numpy and yaml are
needed in pretty much every build, so trying to separate them out is
much less useful.
So instead, this PR squashes things down to 12 images: a base image that
has what we need for basic builds and all the non-conflicting
dependencies and child images that add specific conflicting toolchain
things. This makes all of the images that remain bigger because they
have stuff they absolutely don't need. In particular, the frontends
image now inherits from the android image, which I need for
https://github.com/google/iree/pull/7494. I don't really understand why
the Android NDK has to be so massive (over 4GB). Here's a
[comparison](https://gist.github.com/GMNGeoffrey/949ebb31748421c1922d1c874add46c5)
of the old and new images and their sizes. Note that some images weren't
shipped anywhere and were purely for intermediate images. The only such
remaining image is "frontends" which is specialized into swiftshader and
nvidia flavors.
Tested: Triggered all the non-default builds. I was going to do a
oneshot of the gradle build, but it looks like that workflow has
never been run?

diff --git a/.github/workflows/android_tflite_oneshot_build.yml b/.github/workflows/android_tflite_oneshot_build.yml
index ceac183..85f2053 100644
--- a/.github/workflows/android_tflite_oneshot_build.yml
+++ b/.github/workflows/android_tflite_oneshot_build.yml
@@ -9,7 +9,7 @@
build_android_with_docker:
runs-on: ubuntu-latest
env:
- ANDROID_CONTAINER: "gcr.io/iree-oss/gradle-android@sha256:d6b5e965cfd4438badae3f125302f92043a0563ec0ed73e26b614b2cb9adf573"
+ ANDROID_CONTAINER: "gcr.io/iree-oss/gradle-android@sha256:8ea3563fa233ff22bd6f190ec3d4ad28b542a80efd9300bd60dfbe6b809e490c"
steps:
- uses: actions/checkout@v2
with:
diff --git a/build_tools/bazel/iree.bazelrc b/build_tools/bazel/iree.bazelrc
index 13bd82b..baea718 100644
--- a/build_tools/bazel/iree.bazelrc
+++ b/build_tools/bazel/iree.bazelrc
@@ -260,7 +260,7 @@
# specific docker container the TF build is run in. The image URL is included
# for clarity and so that this reference is automatically updated by
# manage_images.py
-build:remote_cache_tf_integrations --host_platform_remote_properties_override='properties:{name:"cache-silo-key" value:"gcr.io/iree-oss/cmake-bazel-frontends-swiftshader@sha256:b0c770fb02e23f4ff051295499bb507090f4dc3333e134041477b152d229a5c3"}'
+build:remote_cache_tf_integrations --host_platform_remote_properties_override='properties:{name:"cache-silo-key" value:"gcr.io/iree-oss/frontends-swiftshader@sha256:41d51c9f7651b04e66a31e354859a823fb0be27615f7bed403cd21b9a0c035fd"}'
### Remote Execution ###
# --config=rbe Execute and cache builds remotely.
diff --git a/build_tools/buildkite/cmake/android/arm64-v8a/benchmark2.yml b/build_tools/buildkite/cmake/android/arm64-v8a/benchmark2.yml
index b8163e0..80042a2 100644
--- a/build_tools/buildkite/cmake/android/arm64-v8a/benchmark2.yml
+++ b/build_tools/buildkite/cmake/android/arm64-v8a/benchmark2.yml
@@ -9,7 +9,7 @@
steps:
- label: "Build"
commands:
- - "docker run --user=$(id -u):$(id -g) --volume=\\$PWD:\\$IREE_DOCKER_WORKDIR --workdir=\\$IREE_DOCKER_WORKDIR --rm gcr.io/iree-oss/cmake-android@sha256:0981a75325547d1bd5771290287cb8ef09181c4c127972d17132405394478ffb build_tools/cmake/build_android_benchmark.sh"
+ - "docker run --user=$(id -u):$(id -g) --volume=\\$PWD:\\$IREE_DOCKER_WORKDIR --workdir=\\$IREE_DOCKER_WORKDIR --rm gcr.io/iree-oss/android@sha256:58adb4131cfc7b08cd5767c577420f3479ca2f46bb67d9fac6c0797984627758 build_tools/cmake/build_android_benchmark.sh"
- "tar --exclude='*.tar.gz' --exclude='*.tgz' --exclude='*.mlir' -czvf benchmark-suites-${BUILDKITE_BUILD_NUMBER}.tgz build-host/benchmark_suites"
- "tar -czvf iree-android-tools-${BUILDKITE_BUILD_NUMBER}.tgz build-android/iree/tools/iree-benchmark-module build-android-trace/iree/tools/iree-benchmark-module"
if: "build.pull_request.id == null || (build.pull_request.labels includes 'buildkite:benchmark')"
diff --git a/build_tools/buildkite/cmake/android/arm64-v8a/pipeline.yml b/build_tools/buildkite/cmake/android/arm64-v8a/pipeline.yml
index e1d5010..ddfd75c 100644
--- a/build_tools/buildkite/cmake/android/arm64-v8a/pipeline.yml
+++ b/build_tools/buildkite/cmake/android/arm64-v8a/pipeline.yml
@@ -7,7 +7,7 @@
steps:
- label: "build"
commands:
- - "docker run --user=$(id -u):$(id -g) --volume=\\$PWD:\\$IREE_DOCKER_WORKDIR --workdir=\\$IREE_DOCKER_WORKDIR --rm gcr.io/iree-oss/cmake-android@sha256:0981a75325547d1bd5771290287cb8ef09181c4c127972d17132405394478ffb build_tools/kokoro/gcp_ubuntu/cmake/android/build.sh arm64-v8a"
+ - "docker run --user=$(id -u):$(id -g) --volume=\\$PWD:\\$IREE_DOCKER_WORKDIR --workdir=\\$IREE_DOCKER_WORKDIR --rm gcr.io/iree-oss/android@sha256:58adb4131cfc7b08cd5767c577420f3479ca2f46bb67d9fac6c0797984627758 build_tools/kokoro/gcp_ubuntu/cmake/android/build.sh arm64-v8a"
- "tar --exclude='*.o' --exclude='*.a' -czvf build-artifacts.tgz build-android"
agents:
- "queue=build"
diff --git a/build_tools/buildkite/cmake/build_configurations.yml b/build_tools/buildkite/cmake/build_configurations.yml
index 63b39f7..7b3acec 100644
--- a/build_tools/buildkite/cmake/build_configurations.yml
+++ b/build_tools/buildkite/cmake/build_configurations.yml
@@ -8,7 +8,7 @@
- label: ":zap: Build with tracing enabled"
commands:
- "./scripts/git/submodule_versions.py init"
- - "docker run --user=$(id -u):$(id -g) --volume=\\$PWD:\\$IREE_DOCKER_WORKDIR --workdir=\\$IREE_DOCKER_WORKDIR --rm gcr.io/iree-oss/cmake@sha256:37ddc553262f28a4c290eb3ccda5e50ef1115209fbb62a44a85165e7b6f7d514 ./build_tools/cmake/build_tracing.sh"
+ - "docker run --user=$(id -u):$(id -g) --volume=\\$PWD:\\$IREE_DOCKER_WORKDIR --workdir=\\$IREE_DOCKER_WORKDIR --rm gcr.io/iree-oss/base@sha256:b8d9863c6ac913f167c6fab319d7cd883ab099312488709ee30b29976d63eb22 ./build_tools/cmake/build_tracing.sh"
env:
IREE_DOCKER_WORKDIR: "/usr/src/github/iree"
agents:
@@ -17,7 +17,7 @@
- label: ":hammer_and_wrench: Build the runtime only"
commands:
- "./scripts/git/submodule_versions.py init"
- - "docker run --user=$(id -u):$(id -g) --volume=\\$PWD:\\$IREE_DOCKER_WORKDIR --workdir=\\$IREE_DOCKER_WORKDIR --rm gcr.io/iree-oss/cmake@sha256:37ddc553262f28a4c290eb3ccda5e50ef1115209fbb62a44a85165e7b6f7d514 ./build_tools/cmake/build_runtime.sh"
+ - "docker run --user=$(id -u):$(id -g) --volume=\\$PWD:\\$IREE_DOCKER_WORKDIR --workdir=\\$IREE_DOCKER_WORKDIR --rm gcr.io/iree-oss/base@sha256:b8d9863c6ac913f167c6fab319d7cd883ab099312488709ee30b29976d63eb22 ./build_tools/cmake/build_runtime.sh"
env:
IREE_DOCKER_WORKDIR: "/usr/src/github/iree"
agents:
@@ -27,7 +27,7 @@
key: "build-gcc"
commands:
- "./scripts/git/submodule_versions.py init"
- - "docker run --user=$(id -u):$(id -g) --volume=\\$PWD:\\$IREE_DOCKER_WORKDIR --workdir=\\$IREE_DOCKER_WORKDIR --rm gcr.io/iree-oss/cmake-gcc@sha256:59ce6bc769906d82dc03712ded5334aea4722adffdd131d684b689dbfd3e1009 ./build_tools/cmake/clean_build.sh"
+ - "docker run --env CC=/usr/bin/gcc-9 --env CXX=/usr/bin/g++-9 --user=$(id -u):$(id -g) --volume=\\$PWD:\\$IREE_DOCKER_WORKDIR --workdir=\\$IREE_DOCKER_WORKDIR --rm gcr.io/iree-oss/base@sha256:b8d9863c6ac913f167c6fab319d7cd883ab099312488709ee30b29976d63eb22 ./build_tools/cmake/clean_build.sh"
env:
IREE_DOCKER_WORKDIR: "/usr/src/github/iree"
agents:
@@ -37,7 +37,7 @@
key: "build-host-install"
commands:
- "./scripts/git/submodule_versions.py init"
- - "docker run --user=$(id -u):$(id -g) --volume=\\$PWD:\\$IREE_DOCKER_WORKDIR --workdir=\\$IREE_DOCKER_WORKDIR --rm gcr.io/iree-oss/cmake@sha256:37ddc553262f28a4c290eb3ccda5e50ef1115209fbb62a44a85165e7b6f7d514 ./build_tools/cmake/build_host_install.sh"
+ - "docker run --user=$(id -u):$(id -g) --volume=\\$PWD:\\$IREE_DOCKER_WORKDIR --workdir=\\$IREE_DOCKER_WORKDIR --rm gcr.io/iree-oss/base@sha256:b8d9863c6ac913f167c6fab319d7cd883ab099312488709ee30b29976d63eb22 ./build_tools/cmake/build_host_install.sh"
- "tar -czvf build-artifacts.tgz build-host/install"
artifact_paths: "build-artifacts.tgz"
env:
@@ -51,7 +51,7 @@
- "buildkite-agent artifact download --step build-host-install build-artifacts.tgz ./"
- "tar xzf build-artifacts.tgz"
- "./scripts/git/submodule_versions.py init"
- - "docker run --user=$(id -u):$(id -g) --volume=\\$PWD:\\$IREE_DOCKER_WORKDIR --workdir=\\$IREE_DOCKER_WORKDIR --rm gcr.io/iree-oss/cmake-emscripten@sha256:62dbe3f635e0f2686d899fd495fc61361c2ab93076528de54cadec7fc63b90c3 ./build_tools/cmake/build_runtime_emscripten.sh"
+ - "docker run --user=$(id -u):$(id -g) --volume=\\$PWD:\\$IREE_DOCKER_WORKDIR --workdir=\\$IREE_DOCKER_WORKDIR --rm gcr.io/iree-oss/emscripten@sha256:bb9a1574b50d322a8f7a50b4dce6b5ee7d0418148154b73a51fdb51335318fcf ./build_tools/cmake/build_runtime_emscripten.sh"
env:
IREE_DOCKER_WORKDIR: "/usr/src/github/iree"
agents:
diff --git a/build_tools/buildkite/samples.yml b/build_tools/buildkite/samples.yml
index 4292c04..124a87d 100644
--- a/build_tools/buildkite/samples.yml
+++ b/build_tools/buildkite/samples.yml
@@ -7,7 +7,7 @@
steps:
- label: "Test Colab notebooks"
commands:
- - "docker run --user=$(id -u):$(id -g) --volume=\\$PWD:\\$IREE_DOCKER_WORKDIR --workdir=\\$IREE_DOCKER_WORKDIR --rm gcr.io/iree-oss/samples@sha256:f1078e8d3406eb800f9663066cfbe5158138195bac84017016082db017728fdd python3 colab/test_notebooks.py"
+ - "docker run --user=$(id -u):$(id -g) --volume=\\$PWD:\\$IREE_DOCKER_WORKDIR --workdir=\\$IREE_DOCKER_WORKDIR --rm gcr.io/iree-oss/samples@sha256:ec47becc69f7780d196f17927995d77487052663669518ee62fe41f4bedafc75 python3 colab/test_notebooks.py"
env:
IREE_DOCKER_WORKDIR: "/usr/src/github/iree"
agents:
@@ -15,7 +15,7 @@
- label: "Test Samples"
commands:
- - "docker run --user=$(id -u):$(id -g) --volume=\\$PWD:\\$IREE_DOCKER_WORKDIR --workdir=\\$IREE_DOCKER_WORKDIR --rm gcr.io/iree-oss/samples@sha256:f1078e8d3406eb800f9663066cfbe5158138195bac84017016082db017728fdd build_tools/testing/test_samples.sh"
+ - "docker run --user=$(id -u):$(id -g) --volume=\\$PWD:\\$IREE_DOCKER_WORKDIR --workdir=\\$IREE_DOCKER_WORKDIR --rm gcr.io/iree-oss/samples@sha256:ec47becc69f7780d196f17927995d77487052663669518ee62fe41f4bedafc75 build_tools/testing/test_samples.sh"
env:
IREE_DOCKER_WORKDIR: "/usr/src/github/iree"
agents:
diff --git a/build_tools/docker/android/Dockerfile b/build_tools/docker/android/Dockerfile
new file mode 100644
index 0000000..fa8bae6
--- /dev/null
+++ b/build_tools/docker/android/Dockerfile
@@ -0,0 +1,19 @@
+# Copyright 2020 The IREE Authors
+#
+# Licensed under the Apache License v2.0 with LLVM Exceptions.
+# See https://llvm.org/LICENSE.txt for license information.
+# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+
+# An image for cross-compiling IREE towards Android.
+
+FROM gcr.io/iree-oss/base@sha256:b8d9863c6ac913f167c6fab319d7cd883ab099312488709ee30b29976d63eb22
+ARG NDK_VERSION=r21d
+WORKDIR /install-ndk
+
+ENV ANDROID_NDK "/usr/src/android-ndk-${NDK_VERSION}"
+
+RUN wget -q "https://dl.google.com/android/repository/android-ndk-${NDK_VERSION?}-linux-x86_64.zip" \
+ && unzip -q "android-ndk-${NDK_VERSION?}-linux-x86_64.zip" -d /usr/src/ \
+ && rm -rf /install-ndk
+
+WORKDIR /
diff --git a/build_tools/docker/base/Dockerfile b/build_tools/docker/base/Dockerfile
index d1f7222..6a540ec 100644
--- a/build_tools/docker/base/Dockerfile
+++ b/build_tools/docker/base/Dockerfile
@@ -4,9 +4,15 @@
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-FROM ubuntu@sha256:fd25e706f3dea2a5ff705dbc3353cf37f08307798f3e360a13e9385840f73fb3 AS final
+FROM ubuntu@sha256:fd25e706f3dea2a5ff705dbc3353cf37f08307798f3e360a13e9385840f73fb3
-# Environment variables for IREE.
+# Disable apt-key parse waring. If someone knows how to do whatever the "proper"
+# thing is then feel free. The warning complains about parsing apt-key output,
+# which we're not even doing.
+ARG APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1
+
+######## Basic stuff ########
+# Default compiler environment variables for IREE.
ENV CC /usr/bin/clang
ENV CXX /usr/bin/clang++
@@ -16,7 +22,120 @@
git \
# Default compiler and linker.
clang \
- lld \
+ lld-9 \
# IREE transitive dependencies
libsdl2-dev \
- libssl-dev
+ libssl-dev \
+ # A much better CMake builder
+ ninja-build \
+ # For building child images. Best practices would tell us to use multi-stage
+ # builds (https://docs.docker.com/develop/develop-images/multistage-build/)
+ # but it turns out that Dockerfile is a thoroughly non-composable awful
+ # format and that doesn't actually work that well. These deps are pretty
+ # small.
+ unzip \
+ wget \
+ gnupg2 \
+ # Someone is welcome to tell me a better way to just install lld-9 as lld
+ # (lld=9 doesn't work)
+ && ln -s lld-9 /usr/bin/lld \
+ && ln -s ld.lld-9 /usr/bin/ld.lld
+
+######## CMake ########
+WORKDIR /install-cmake
+
+# These are separate args because there's no way to strip the patch version off
+# to get the /usr/share path.
+# See https://github.com/moby/moby/issues/41383
+ARG CMAKE_MAJOR_VERSION=3
+ARG CMAKE_MINOR_VERSION=16
+ARG CMAKE_PATCH_VERSION=3
+
+ENV CMAKE_VERSION="${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}"
+
+# Install CMake v3.13, which is ahead of apt-get's version (3.10.2).
+RUN wget "https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION?}/cmake-${CMAKE_VERSION?}-Linux-x86_64.sh" \
+ && chmod +x "./cmake-${CMAKE_VERSION?}-Linux-x86_64.sh" \
+ && "./cmake-${CMAKE_VERSION?}-Linux-x86_64.sh" --skip-license --prefix=/usr/ \
+ && rm -rf /install-cmake
+
+##############
+
+######## Bazel ########
+WORKDIR /install-bazel
+ARG BAZEL_VERSION=3.7.1
+
+# https://docs.bazel.build/versions/master/install-ubuntu.html
+RUN wget -qO - https://bazel.build/bazel-release.pub.gpg | apt-key add - \
+ && echo "deb [arch=amd64] https://storage.googleapis.com/bazel-apt stable jdk1.8" \
+ | tee /etc/apt/sources.list.d/bazel.list \
+ && apt-get update \
+ && apt-get install -y "bazel=${BAZEL_VERSION?}" \
+ && rm -rf /install-bazel
+
+##############
+
+######## Python ########
+WORKDIR /install-python
+
+RUN apt-get update \
+ && apt-get install -y \
+ python3.7 \
+ python3.7-dev \
+ && update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 1 \
+ && apt-get install -y \
+ python3-pip \
+ python3-setuptools \
+ python3-distutils \
+ && python3 -m pip install --upgrade pip \
+ && python3 -m pip install \
+ numpy==1.19.4 absl-py==0.12.0 requests PyYAML==5.4.1 wheel==0.36.2 \
+ pybind11==2.6.1
+
+ENV PYTHON_BIN /usr/bin/python3
+
+##############
+
+######## Vulkan ########
+WORKDIR /install-vulkan
+ARG VULKAN_SDK_VERSION=1.2.154.0
+
+RUN wget -q \
+ # This file disappeared from the canonical source:
+ # "https://sdk.lunarg.com/sdk/download/${VULKAN_SDK_VERSION?}/linux/vulkansdk-linux-${VULKAN_SDK_VERSION?}.tar.gz"
+ "https://storage.googleapis.com/iree-shared-files/vulkansdk-linux-${VULKAN_SDK_VERSION?}.tar.gz" \
+ && mkdir -p /opt/vulkan-sdk \
+ && tar -xzf "vulkansdk-linux-${VULKAN_SDK_VERSION?}.tar.gz" -C /opt/vulkan-sdk \
+ && rm -rf /install-vulkan
+WORKDIR /
+
+ENV VULKAN_SDK="/opt/vulkan-sdk/${VULKAN_SDK_VERSION}/x86_64"
+
+ENV PATH="${VULKAN_SDK}/bin:$PATH"
+
+# Symlink the Vulkan loader to a system library directory. This is needed to
+# allow Vulkan applications to find the Vulkan loader. It also avoids using
+# LD_LIBRARY_PATH, which is not supported well by Docker.
+RUN ln -s "${VULKAN_SDK}/lib/libvulkan.so" /usr/lib/x86_64-linux-gnu/ \
+ && ln -s "${VULKAN_SDK}/lib/libvulkan.so.1" /usr/lib/x86_64-linux-gnu/
+
+##############
+
+
+######## GCC ########
+WORKDIR /
+
+# Avoid apt-add-repository, which requires software-properties-common, which is
+# a rabbit hole of python version compatibility issues. See
+# https://mondwan.blogspot.com/2018/05/alternative-for-add-apt-repository-for.html
+# We use gcc-9 because it's what manylinux had (at time of authorship) and
+# we don't aim to support older versions. We need a more modern lld to handle
+# --push-state flags
+RUN echo "deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic main" >> /etc/apt/sources.list \
+ && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1E9377A2BA9EF27F \
+ && apt-get update \
+ && apt-get install -y gcc-9 g++-9
+
+##############
+
+WORKDIR /
diff --git a/build_tools/docker/bazel/Dockerfile b/build_tools/docker/bazel/Dockerfile
deleted file mode 100644
index 46660f4..0000000
--- a/build_tools/docker/bazel/Dockerfile
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2020 The IREE Authors
-#
-# Licensed under the Apache License v2.0 with LLVM Exceptions.
-# See https://llvm.org/LICENSE.txt for license information.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-
-# An image for building IREE using bazel.
-
-ARG BAZEL_VERSION=3.7.1
-
-FROM gcr.io/iree-oss/util@sha256:c9691ba3cd4287cee61be42103888d7c6f02c44c7c7b7d30a3dca7fc73ee92cb AS install-bazel
-WORKDIR /install-bazel
-ARG BAZEL_VERSION
-
-# Disable apt-key parse waring. If someone knows how to do whatever the "proper"
-# thing is then feel free. The warning complains about parsing apt-key output,
-# which we're not even doing.
-ARG APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1
-
-# Install Bazel.
-# https://docs.bazel.build/versions/master/install-ubuntu.html
-RUN wget -qO - https://bazel.build/bazel-release.pub.gpg | apt-key add - \
- && echo "deb [arch=amd64] https://storage.googleapis.com/bazel-apt stable jdk1.8" \
- | tee /etc/apt/sources.list.d/bazel.list \
- && apt-get update \
- && apt-get install -y "bazel=${BAZEL_VERSION?}"
-
-FROM gcr.io/iree-oss/base@sha256:e5ad55549adc27d5d1927b7857ff308d9b75fa1be8a110ed848b24e3816127c5 AS final
-ARG BAZEL_VERSION
-COPY --from=install-bazel \
- /usr/bin/bazel* \
- /usr/bin/
-
-# TF requires python and numpy at configure time...
-# TODO(#1737): Remove this
-RUN apt-get update \
- && apt-get install -y \
- python3 \
- python3-pip \
- && python3 -m pip install --upgrade pip \
- && python3 -m pip install numpy
diff --git a/build_tools/docker/cmake-android/Dockerfile b/build_tools/docker/cmake-android/Dockerfile
deleted file mode 100644
index 882d758..0000000
--- a/build_tools/docker/cmake-android/Dockerfile
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 2020 The IREE Authors
-#
-# Licensed under the Apache License v2.0 with LLVM Exceptions.
-# See https://llvm.org/LICENSE.txt for license information.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-
-# An image for cross-compiling IREE towards Android using CMake.
-
-ARG NDK_VERSION=r21d
-
-FROM gcr.io/iree-oss/util@sha256:c9691ba3cd4287cee61be42103888d7c6f02c44c7c7b7d30a3dca7fc73ee92cb AS install-ndk
-ARG NDK_VERSION
-WORKDIR /install-ndk
-
-RUN wget "https://dl.google.com/android/repository/android-ndk-${NDK_VERSION?}-linux-x86_64.zip"
-
-RUN unzip "android-ndk-${NDK_VERSION?}-linux-x86_64.zip" -d /usr/src/
-
-FROM gcr.io/iree-oss/cmake@sha256:37ddc553262f28a4c290eb3ccda5e50ef1115209fbb62a44a85165e7b6f7d514 AS final
-ARG NDK_VERSION
-COPY --from=install-ndk "/usr/src/android-ndk-${NDK_VERSION}" "/usr/src/android-ndk-${NDK_VERSION}"
-ENV ANDROID_NDK "/usr/src/android-ndk-${NDK_VERSION}"
diff --git a/build_tools/docker/cmake-bazel-frontends-nvidia/Dockerfile b/build_tools/docker/cmake-bazel-frontends-nvidia/Dockerfile
deleted file mode 100644
index b66d4a1..0000000
--- a/build_tools/docker/cmake-bazel-frontends-nvidia/Dockerfile
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2020 The IREE Authors
-#
-# Licensed under the Apache License v2.0 with LLVM Exceptions.
-# See https://llvm.org/LICENSE.txt for license information.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-
-# To use the host GPUs, `docker run` must be called with the `--gpus all` flag.
-
-# We use .deb files that we host because we have to pin the version exactly to
-# match the host machine and packages routinely dissapear from the Ubuntu
-# apt repositories.
-ARG NVIDIA_GL_DEB="libnvidia-gl-460_460.39-0ubuntu0.18.04.1_amd64.deb"
-ARG NVIDIA_COMPUTE_DEB="libnvidia-compute-460_460.39-0ubuntu0.18.04.1_amd64.deb"
-ARG NVIDIA_COMMON_DEB="libnvidia-common-460_460.39-0ubuntu0.18.04.1_all.deb"
-
-FROM gcr.io/iree-oss/util@sha256:c9691ba3cd4287cee61be42103888d7c6f02c44c7c7b7d30a3dca7fc73ee92cb AS fetch-nvidia
-ARG NVIDIA_COMMON_DEB
-ARG NVIDIA_GL_DEB
-ARG NVIDIA_COMPUTE_DEB
-
-WORKDIR /fetch-nvidia
-RUN wget -q "https://storage.googleapis.com/iree-shared-files/${NVIDIA_COMMON_DEB}"
-RUN wget -q "https://storage.googleapis.com/iree-shared-files/${NVIDIA_GL_DEB?}"
-RUN wget -q "https://storage.googleapis.com/iree-shared-files/${NVIDIA_COMPUTE_DEB}"
-
-
-# Set up the image and working directory by inheriting the vulkan CMake
-# configuration.
-# Note that we don't start from NVIDIA's docker base:
-# - nvidia/cuda (https://hub.docker.com/r/nvidia/cuda):
-# it's.. for CUDA.
-# - nvidia/vulkan (https://hub.docker.com/r/nvidia/vulkan):
-# does not support Ubuntu 18.04.
-# This allows to share configuration with base CMake, but it also means we need
-# to MATCH the driver version between the host machine and the docker image.
-FROM gcr.io/iree-oss/cmake-bazel-frontends-vulkan@sha256:9894d346c3dfc7ffe0380f12fa541c220ceb77db92d3bbf0bbf17e679e537ecc AS final
-ARG NVIDIA_COMMON_DEB
-ARG NVIDIA_GL_DEB
-ARG NVIDIA_COMPUTE_DEB
-
-COPY --from=fetch-nvidia \
- "/fetch-nvidia/${NVIDIA_COMMON_DEB}" \
- "/fetch-nvidia/${NVIDIA_GL_DEB}" \
- "/fetch-nvidia/${NVIDIA_COMPUTE_DEB}" \
- /tmp/
-
-RUN apt-get install "/tmp/${NVIDIA_COMMON_DEB?}" \
- "/tmp/${NVIDIA_GL_DEB?}" \
- "/tmp/${NVIDIA_COMPUTE_DEB?}"
diff --git a/build_tools/docker/cmake-bazel-frontends-vulkan/Dockerfile b/build_tools/docker/cmake-bazel-frontends-vulkan/Dockerfile
deleted file mode 100644
index d09b7c0..0000000
--- a/build_tools/docker/cmake-bazel-frontends-vulkan/Dockerfile
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2020 The IREE Authors
-#
-# Licensed under the Apache License v2.0 with LLVM Exceptions.
-# See https://llvm.org/LICENSE.txt for license information.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-
-# This image provides the Vulkan SDK. Requires a child image to provide
-# a Vulkan ICD.
-
-FROM gcr.io/iree-oss/cmake-bazel-frontends@sha256:1ac474755584a8a486f26b540ccde2b675eac59affe289bb1c9305178b34f75a AS final
-
-ARG VULKAN_SDK_VERSION=1.2.154.0
-
-COPY --from=gcr.io/iree-oss/vulkan@sha256:e1c1c5ddbe6b130ff0577572b97094e7a64a3aa003fdd4a91d1b21be705ddf8a \
- /opt/vulkan-sdk/ /opt/vulkan-sdk/
-
-ENV VULKAN_SDK="/opt/vulkan-sdk/${VULKAN_SDK_VERSION}/x86_64"
-
-ENV PATH="${VULKAN_SDK}/bin:$PATH"
-
-# Symlink the Vulkan loader to a system library directory. This is needed to
-# allow Vulkan applications to find the Vulkan loader. It also avoids using
-# LD_LIBRARY_PATH, which is not supported well by Docker.
-RUN ln -s "${VULKAN_SDK}/lib/libvulkan.so" /usr/lib/x86_64-linux-gnu/ \
- && ln -s "${VULKAN_SDK}/lib/libvulkan.so.1" /usr/lib/x86_64-linux-gnu/
diff --git a/build_tools/docker/cmake-bazel-frontends/Dockerfile b/build_tools/docker/cmake-bazel-frontends/Dockerfile
deleted file mode 100644
index d648873..0000000
--- a/build_tools/docker/cmake-bazel-frontends/Dockerfile
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2020 The IREE Authors
-#
-# Licensed under the Apache License v2.0 with LLVM Exceptions.
-# See https://llvm.org/LICENSE.txt for license information.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-
-FROM gcr.io/iree-oss/util@sha256:c9691ba3cd4287cee61be42103888d7c6f02c44c7c7b7d30a3dca7fc73ee92cb AS fetch-kws
-WORKDIR /fetch-kws
-ARG KWS_COMMIT=168f27a070dcd4b0ce39a70f9a702608ff10eb44
-RUN wget "https://github.com/google-research/google-research/tarball/${KWS_COMMIT?}" \
- -O google-research.tar.gz \
- && tar --extract --gzip --file=google-research.tar.gz \
- --wildcards */kws_streaming --strip-components=1
-
-FROM gcr.io/iree-oss/cmake@sha256:37ddc553262f28a4c290eb3ccda5e50ef1115209fbb62a44a85165e7b6f7d514 AS final
-
-# Install bazel.
-COPY --from=gcr.io/iree-oss/bazel@sha256:31c3acef0aeb2976b63b8cb946bda1de9bc8b5319b7e079e507afad2a62d13e7 \
- /usr/bin/bazel* \
- /usr/bin/
-
-# Install TensorFlow and make sure the version of Keras we get matches.
-RUN python3 -m pip install keras-nightly==2.7.0.dev2021080600 tf-nightly==2.7.0.dev20210806
-
-# Install JAX.
-RUN python3 -m pip install --upgrade jax jaxlib flax
-
-# Install KWS Streaming Library.
-RUN python3 -m pip install --upgrade tensorflow-model-optimization==0.5.1.dev0
-COPY --from=fetch-kws /fetch-kws/kws_streaming /local-python/kws_streaming
-ENV PYTHONPATH="/local-python:$PYTHONPATH"
diff --git a/build_tools/docker/cmake-gcc/Dockerfile b/build_tools/docker/cmake-gcc/Dockerfile
deleted file mode 100644
index 5348a5e..0000000
--- a/build_tools/docker/cmake-gcc/Dockerfile
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2020 The IREE Authors
-#
-# Licensed under the Apache License v2.0 with LLVM Exceptions.
-# See https://llvm.org/LICENSE.txt for license information.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-
-# An image for building IREE using GCC with CMake. We're overriding the env
-# variables set in the base image. Is this terrible layering? Yes, but don't
-# blame me. I wasn't the one that made Dockerfile a really unextensible format.
-
-FROM gcr.io/iree-oss/cmake@sha256:37ddc553262f28a4c290eb3ccda5e50ef1115209fbb62a44a85165e7b6f7d514 AS final
-
-ENV CC /usr/bin/gcc-9
-ENV CXX /usr/bin/g++-9
-
-# Avoid apt-add-repository, which requires software-properties-common, which is
-# a rabbit hole of python version compatibility issues. See
-# https://mondwan.blogspot.com/2018/05/alternative-for-add-apt-repository-for.html
-# We use gcc-9 because it's what manylinux had (at time of authorship) and
-# we don't aim to support older versions. We need a more modern lld to handle
-# --push-state flags
-RUN echo "deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic main" >> /etc/apt/sources.list \
- && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1E9377A2BA9EF27F \
- && apt-get update \
- && apt-get install -y gcc-9 g++-9 lld-9 \
- && rm /usr/bin/lld /usr/bin/ld.lld \
- && ln -s lld-9 /usr/bin/lld \
- && ln -s ld.lld-9 /usr/bin/ld.lld
diff --git a/build_tools/docker/cmake-swiftshader/Dockerfile b/build_tools/docker/cmake-swiftshader/Dockerfile
deleted file mode 100644
index 5cb43eb..0000000
--- a/build_tools/docker/cmake-swiftshader/Dockerfile
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 2020 The IREE Authors
-#
-# Licensed under the Apache License v2.0 with LLVM Exceptions.
-# See https://llvm.org/LICENSE.txt for license information.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-
-# An image for building IREE using CMake and testing IREE with SwiftShader
-# Vulkan implementation.
-
-FROM gcr.io/iree-oss/cmake-vulkan@sha256:a257e4010d5bd4af19a8d93852b055af51eda3298a6c9d4114c23ff35ccf4b2c AS final
-COPY --from=gcr.io/iree-oss/swiftshader@sha256:7f3947c8494c7a7ae92a48a219b21b5e2ef34bff339a893d0254a33f047e9e10 \
- /swiftshader /swiftshader
-
-# Set VK_ICD_FILENAMES so Vulkan loader can find the SwiftShader ICD.
-ENV VK_ICD_FILENAMES /swiftshader/vk_swiftshader_icd.json
diff --git a/build_tools/docker/cmake-vulkan/Dockerfile b/build_tools/docker/cmake-vulkan/Dockerfile
deleted file mode 100644
index 0c738fb..0000000
--- a/build_tools/docker/cmake-vulkan/Dockerfile
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2020 The IREE Authors
-#
-# Licensed under the Apache License v2.0 with LLVM Exceptions.
-# See https://llvm.org/LICENSE.txt for license information.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-
-# A base image for building IREE using CMake and running Vulkan tests.
-# This image provides the Vulkan SDK. Requires a child image to provide
-# a Vulkan ICD.
-
-FROM gcr.io/iree-oss/cmake@sha256:37ddc553262f28a4c290eb3ccda5e50ef1115209fbb62a44a85165e7b6f7d514 AS final
-
-ARG VULKAN_SDK_VERSION=1.2.154.0
-
-COPY --from=gcr.io/iree-oss/vulkan@sha256:e1c1c5ddbe6b130ff0577572b97094e7a64a3aa003fdd4a91d1b21be705ddf8a \
- /opt/vulkan-sdk/ /opt/vulkan-sdk/
-
-ENV VULKAN_SDK="/opt/vulkan-sdk/${VULKAN_SDK_VERSION}/x86_64"
-
-ENV PATH="${VULKAN_SDK}/bin:$PATH"
-
-# Symlink the Vulkan loader to a system library directory. This is needed to
-# allow Vulkan applications to find the Vulkan loader. It also avoids using
-# LD_LIBRARY_PATH, which is not supported well by Docker.
-RUN ln -s "${VULKAN_SDK}/lib/libvulkan.so" /usr/lib/x86_64-linux-gnu/ \
- && ln -s "${VULKAN_SDK}/lib/libvulkan.so.1" /usr/lib/x86_64-linux-gnu/
diff --git a/build_tools/docker/cmake/Dockerfile b/build_tools/docker/cmake/Dockerfile
deleted file mode 100644
index 8da083c..0000000
--- a/build_tools/docker/cmake/Dockerfile
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 2020 The IREE Authors
-#
-# Licensed under the Apache License v2.0 with LLVM Exceptions.
-# See https://llvm.org/LICENSE.txt for license information.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-
-# An image for building IREE using CMake.
-
-# These are separate args because there's no way to strip the patch version off
-# to get the /usr/share path.
-# See https://github.com/moby/moby/issues/41383
-ARG CMAKE_MAJOR_VERSION=3
-ARG CMAKE_MINOR_VERSION=16
-ARG CMAKE_PATCH_VERSION=3
-
-FROM gcr.io/iree-oss/util@sha256:c9691ba3cd4287cee61be42103888d7c6f02c44c7c7b7d30a3dca7fc73ee92cb AS install-cmake
-ARG CMAKE_MAJOR_VERSION
-ARG CMAKE_MINOR_VERSION
-ARG CMAKE_PATCH_VERSION
-ENV CMAKE_VERSION="${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}"
-WORKDIR /install-cmake
-
-# Install CMake v3.13, which is ahead of apt-get's version (3.10.2).
-RUN wget "https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION?}/cmake-${CMAKE_VERSION?}-Linux-x86_64.sh"
-RUN chmod +x "./cmake-${CMAKE_VERSION?}-Linux-x86_64.sh"
-RUN "./cmake-${CMAKE_VERSION?}-Linux-x86_64.sh" --skip-license --prefix=/usr/
-
-FROM gcr.io/iree-oss/base@sha256:e5ad55549adc27d5d1927b7857ff308d9b75fa1be8a110ed848b24e3816127c5 AS final
-ARG CMAKE_MAJOR_VERSION
-ARG CMAKE_MINOR_VERSION
-
-COPY --from=install-cmake /usr/bin/cmake /usr/bin/ctest /usr/bin/
-COPY --from=install-cmake \
- "/usr/share/cmake-${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" \
- "/usr/share/cmake-${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}"
-
-RUN apt-get update && apt-get install -y ninja-build
-
-# At this point, everything requires Python.
-RUN apt-get update \
- && apt-get install -y \
- python3.7 \
- python3.7-dev \
- && update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 1 \
- && apt-get install -y \
- python3-pip \
- python3-setuptools \
- python3-distutils \
- && python3 -m pip install --upgrade pip \
- && python3 -m pip install \
- numpy==1.19.4 absl-py==0.12.0 requests PyYAML==5.4.1 wheel==0.36.2 \
- pybind11==2.6.1
-
-ENV PYTHON_BIN /usr/bin/python3
diff --git a/build_tools/docker/cmake-emscripten/Dockerfile b/build_tools/docker/emscripten/Dockerfile
similarity index 77%
rename from build_tools/docker/cmake-emscripten/Dockerfile
rename to build_tools/docker/emscripten/Dockerfile
index 0cd1f25..8cd1c08 100644
--- a/build_tools/docker/cmake-emscripten/Dockerfile
+++ b/build_tools/docker/emscripten/Dockerfile
@@ -4,9 +4,9 @@
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-# An image for building IREE through Emscripten using CMake.
+# An image for building IREE through Emscripten.
-FROM gcr.io/iree-oss/cmake@sha256:37ddc553262f28a4c290eb3ccda5e50ef1115209fbb62a44a85165e7b6f7d514 AS final
+FROM gcr.io/iree-oss/base@sha256:b8d9863c6ac913f167c6fab319d7cd883ab099312488709ee30b29976d63eb22
# See also
# * https://github.com/emscripten-core/emsdk/blob/main/docker/Dockerfile
@@ -15,9 +15,11 @@
ARG EMSDK_COMMIT=5c0e31a03a72136ccaa761c408baf5a640f942ec
ARG SDK_VERSION=2.0.25
+WORKDIR /
+
# Follow https://emscripten.org/docs/getting_started/downloads.html.
-RUN git clone https://github.com/emscripten-core/emsdk
-RUN cd emsdk && git checkout "${EMSDK_COMMIT?}" && \
+RUN git clone https://github.com/emscripten-core/emsdk \
+ && cd emsdk && git checkout "${EMSDK_COMMIT?}" && \
./emsdk install ${SDK_VERSION?} && \
./emsdk activate ${SDK_VERSION?}
@@ -36,9 +38,9 @@
# Since (A) requires less configuration, we'll do that. If multiple tools would
# want a user directory (like Bazel), we should switch to (B).
# See https://github.com/emscripten-core/emsdk/issues/535
-RUN mkdir -p ${EM_CACHE} && chmod -R 777 ${EM_CACHE}
+RUN mkdir -p "${EM_CACHE?}" && chmod -R 777 "${EM_CACHE?}"
# Normally we'd run `source emsdk_env.sh`, but that doesn't integrate with
# Docker's environment properties model. Instead, we directly extend the path
# to include the directories suggested by `emsdk activate`.
-ENV PATH="$PWD/emsdk:$PWD/emsdk/node/14.15.5_64bit/bin:$PWD/emsdk/upstream/emscripten:$PATH"
+ENV PATH="${EMSDK?}:${EMSDK?}/node/14.15.5_64bit/bin:${EMSDK?}/upstream/emscripten:$PATH"
diff --git a/build_tools/docker/frontends-nvidia/Dockerfile b/build_tools/docker/frontends-nvidia/Dockerfile
new file mode 100644
index 0000000..ce7f19f
--- /dev/null
+++ b/build_tools/docker/frontends-nvidia/Dockerfile
@@ -0,0 +1,29 @@
+# Copyright 2020 The IREE Authors
+#
+# Licensed under the Apache License v2.0 with LLVM Exceptions.
+# See https://llvm.org/LICENSE.txt for license information.
+# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+
+# To use the host GPUs, `docker run` must be called with the `--gpus all` flag.
+# The NVidia drivers need to *exactly* match between the host machine and the
+# docker image.
+
+FROM gcr.io/iree-oss/frontends@sha256:f9490f31ff09c2053a9972a002f6af65fcace41d834583754ea93c6df35ff1f4
+
+# We use .deb files that we host because we have to pin the version exactly to
+# match the host machine and packages routinely dissapear from the Ubuntu
+# apt repositories.
+ARG NVIDIA_GL_DEB="libnvidia-gl-460_460.39-0ubuntu0.18.04.1_amd64.deb"
+ARG NVIDIA_COMPUTE_DEB="libnvidia-compute-460_460.39-0ubuntu0.18.04.1_amd64.deb"
+ARG NVIDIA_COMMON_DEB="libnvidia-common-460_460.39-0ubuntu0.18.04.1_all.deb"
+
+WORKDIR /install-nvidia
+RUN wget -q "https://storage.googleapis.com/iree-shared-files/${NVIDIA_COMMON_DEB}" \
+ && wget -q "https://storage.googleapis.com/iree-shared-files/${NVIDIA_GL_DEB?}" \
+ && wget -q "https://storage.googleapis.com/iree-shared-files/${NVIDIA_COMPUTE_DEB}" \
+ && apt-get install "./${NVIDIA_COMMON_DEB?}" \
+ "./${NVIDIA_GL_DEB?}" \
+ "./${NVIDIA_COMPUTE_DEB?}" \
+ && rm -rf /install-nvidia
+
+WORKDIR /
diff --git a/build_tools/docker/cmake-bazel-frontends-swiftshader/Dockerfile b/build_tools/docker/frontends-swiftshader/Dockerfile
similarity index 60%
rename from build_tools/docker/cmake-bazel-frontends-swiftshader/Dockerfile
rename to build_tools/docker/frontends-swiftshader/Dockerfile
index e522da6..14c99d7 100644
--- a/build_tools/docker/cmake-bazel-frontends-swiftshader/Dockerfile
+++ b/build_tools/docker/frontends-swiftshader/Dockerfile
@@ -4,8 +4,8 @@
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-FROM gcr.io/iree-oss/cmake-bazel-frontends-vulkan@sha256:9894d346c3dfc7ffe0380f12fa541c220ceb77db92d3bbf0bbf17e679e537ecc AS final
-COPY --from=gcr.io/iree-oss/swiftshader@sha256:7f3947c8494c7a7ae92a48a219b21b5e2ef34bff339a893d0254a33f047e9e10 \
+FROM gcr.io/iree-oss/frontends@sha256:f9490f31ff09c2053a9972a002f6af65fcace41d834583754ea93c6df35ff1f4
+COPY --from=gcr.io/iree-oss/swiftshader@sha256:715bdde46dbf454c8b20b9f193ff5ca4b02c1e33a1bfbe83d60921aa21d64664 \
/swiftshader /swiftshader
# Set VK_ICD_FILENAMES so Vulkan loader can find the SwiftShader ICD.
diff --git a/build_tools/docker/frontends/Dockerfile b/build_tools/docker/frontends/Dockerfile
new file mode 100644
index 0000000..e769790
--- /dev/null
+++ b/build_tools/docker/frontends/Dockerfile
@@ -0,0 +1,33 @@
+# Copyright 2020 The IREE Authors
+#
+# Licensed under the Apache License v2.0 with LLVM Exceptions.
+# See https://llvm.org/LICENSE.txt for license information.
+# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+
+FROM gcr.io/iree-oss/android@sha256:58adb4131cfc7b08cd5767c577420f3479ca2f46bb67d9fac6c0797984627758
+
+WORKDIR /install-kws
+
+ARG KWS_COMMIT=168f27a070dcd4b0ce39a70f9a702608ff10eb44
+ENV PYTHONPATH="/local-python:$PYTHONPATH"
+
+RUN wget "https://github.com/google-research/google-research/tarball/${KWS_COMMIT?}" \
+ -O google-research.tar.gz \
+ && tar --extract --gzip --file=google-research.tar.gz \
+ --wildcards */kws_streaming --strip-components=1 \
+ && mkdir /local-python \
+ && mv kws_streaming /local-python/kws_streaming \
+ && rm -rf /install-kws
+
+WORKDIR /
+
+RUN python3 -m pip install --upgrade \
+ # Matching versions of TF and Keras
+ tf-nightly==2.7.0.dev20210806 \
+ keras-nightly==2.7.0.dev2021080600 \
+ # JAX.
+ jax \
+ jaxlib \
+ flax \
+ # KWS Dependency
+ tensorflow-model-optimization==0.5.1.dev0
diff --git a/build_tools/docker/gradle-android/Dockerfile b/build_tools/docker/gradle-android/Dockerfile
index 19e30fc..72ce907 100644
--- a/build_tools/docker/gradle-android/Dockerfile
+++ b/build_tools/docker/gradle-android/Dockerfile
@@ -7,57 +7,46 @@
# An image for cross-compiling IREE's TFLite Java Bindings with Gradle and
# CMake.
+FROM gcr.io/iree-oss/base@sha256:b8d9863c6ac913f167c6fab319d7cd883ab099312488709ee30b29976d63eb22
+
+### Java ###
+WORKDIR /install-jdk
+# Download and install openjdk-11
ARG JDK_VERSION=11
+RUN apt-get update && apt-get install -y openjdk-11-jdk
+
+### Gradle ###
+WORKDIR /install-gradle
ARG GRADLE_VERSION=7.1.1
ARG GRADLE_DIST=bin
-ARG ANDROID_SDK_VERSION=7583922
-ARG ANDROID_NDK_VERSION=21.4.7075529
-
-FROM gcr.io/iree-oss/util@sha256:c9691ba3cd4287cee61be42103888d7c6f02c44c7c7b7d30a3dca7fc73ee92cb AS install-deps
-ARG GRADLE_VERSION
-ARG GRADLE_DIST
-ARG ANDROID_SDK_VERSION
-
# Download and install Gradle
-RUN cd /opt && \
- wget -q https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-${GRADLE_DIST}.zip && \
- unzip gradle*.zip && \
- rm gradle*.zip && \
- ln -s /opt/gradle-${GRADLE_VERSION}/bin/gradle /usr/bin/gradle
+RUN wget -q https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-${GRADLE_DIST}.zip && \
+ unzip -q gradle*.zip -d /opt/ && \
+ ln -s /opt/gradle-${GRADLE_VERSION}/bin/gradle /usr/bin/gradle \
+ rm -rf /install-gradle
+
+### Android ###
+WORKDIR /install-android
# Download and install Android SDK
# Note: Uses the latest SDK version from https://developer.android.com/studio,
# however Gradle will automatically download any additional SDK/tooling versions
# as necessary.
+ARG ANDROID_SDK_VERSION=7583922
+ARG ANDROID_NDK_VERSION=21.4.7075529
+
ENV ANDROID_SDK_ROOT /opt/android-sdk
-RUN mkdir -p ${ANDROID_SDK_ROOT}/cmdline-tools && \
- wget -q https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_SDK_VERSION}_latest.zip && \
- unzip *tools*linux*.zip -d ${ANDROID_SDK_ROOT}/cmdline-tools && \
- mv ${ANDROID_SDK_ROOT}/cmdline-tools/cmdline-tools ${ANDROID_SDK_ROOT}/cmdline-tools/tools && \
- rm *tools*linux*.zip
-
-FROM gcr.io/iree-oss/cmake@sha256:37ddc553262f28a4c290eb3ccda5e50ef1115209fbb62a44a85165e7b6f7d514 as final
-ARG ANDROID_SDK_VERSION
-ARG ANDROID_NDK_VERSION
-ARG GRADLE_VERSION
-ENV ANDROID_SDK_ROOT /opt/android-sdk
-
-# Download and install openjdk-11
-ARG JDK_VERSION
-RUN apt-get update && apt-get install -y openjdk-11-jdk
-
-# Copy /opt/ (Gradle + Android SDK) thenlink Gradle bin
-COPY --from=install-deps /opt/ /opt/
-RUN ln -s /opt/gradle-${GRADLE_VERSION}/bin/gradle /usr/bin/gradle
-
-# Accept the license agreements of the Android SDK components
-RUN yes | ${ANDROID_SDK_ROOT}/cmdline-tools/tools/bin/sdkmanager --licenses
-
-# Install the Android NDK
-RUN /opt/android-sdk/cmdline-tools/tools/bin/sdkmanager --install "ndk;$ANDROID_NDK_VERSION"
-
-# Define environment variables for the NDK/SDK
ENV ANDROID_HOME ${ANDROID_SDK_ROOT}
ENV ANDROID_NDK /opt/android-sdk/ndk/${ANDROID_NDK_VERSION}
+
+RUN mkdir -p "${ANDROID_SDK_ROOT?}/cmdline-tools" \
+ && wget -q "https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_SDK_VERSION?}_latest.zip" \
+ && unzip -q *tools*linux*.zip -d "${ANDROID_SDK_ROOT?}/cmdline-tools" \
+ && mv "${ANDROID_SDK_ROOT?}/cmdline-tools/cmdline-tools" "${ANDROID_SDK_ROOT?}/cmdline-tools/tools" \
+ && yes | "${ANDROID_SDK_ROOT?}/cmdline-tools/tools/bin/sdkmanager" --licenses \
+ && /opt/android-sdk/cmdline-tools/tools/bin/sdkmanager --install "ndk;${ANDROID_NDK_VERSION?}" \
+ && rm -rf /install-android
+
+WORKDIR /
diff --git a/build_tools/docker/manage_images.py b/build_tools/docker/manage_images.py
index eeeb773..1dd1697 100755
--- a/build_tools/docker/manage_images.py
+++ b/build_tools/docker/manage_images.py
@@ -43,27 +43,17 @@
# Map from image names to images that they depend on.
IMAGES_TO_DEPENDENCIES = {
'base': [],
- 'bazel': ['base', 'util'],
- 'cmake': ['base', 'util'],
- 'cmake-android': ['cmake', 'util'],
- 'cmake-emscripten': ['cmake'],
- 'cmake-gcc': ['cmake'],
- 'cmake-vulkan': ['cmake', 'vulkan'],
- 'cmake-swiftshader': ['cmake-vulkan', 'swiftshader'],
- 'cmake-nvidia': ['cmake-vulkan', 'util'],
- 'cmake-riscv': ['cmake', 'util'],
- 'cmake-bazel-frontends': ['cmake', 'bazel'],
- 'cmake-bazel-frontends-vulkan': ['cmake-bazel-frontends', 'vulkan'],
- 'cmake-bazel-frontends-swiftshader': [
- 'cmake-bazel-frontends-vulkan', 'swiftshader'
- ],
- 'cmake-bazel-frontends-nvidia': ['cmake-bazel-frontends-vulkan'],
- 'gradle-android': ['cmake'],
- 'rbe-toolchain': ['vulkan'],
- 'samples': ['cmake-swiftshader'],
- 'swiftshader': ['cmake'],
- 'util': [],
- 'vulkan': ['util'],
+ 'android': ['base'],
+ 'emscripten': ['base'],
+ 'nvidia': ['base'],
+ 'riscv': ['base'],
+ 'gradle-android': ['base'],
+ 'frontends': ['android'],
+ 'rbe-toolchain': ['base'],
+ 'swiftshader': ['base'],
+ 'samples': ['swiftshader'],
+ 'frontends-swiftshader': ['frontends', 'swiftshader'],
+ 'frontends-nvidia': ['frontends'],
}
IMAGES_TO_DEPENDENT_IMAGES = {k: [] for k in IMAGES_TO_DEPENDENCIES}
diff --git a/build_tools/docker/cmake-nvidia/Dockerfile b/build_tools/docker/nvidia/Dockerfile
similarity index 89%
rename from build_tools/docker/cmake-nvidia/Dockerfile
rename to build_tools/docker/nvidia/Dockerfile
index 08d59ed..7d603be 100644
--- a/build_tools/docker/cmake-nvidia/Dockerfile
+++ b/build_tools/docker/nvidia/Dockerfile
@@ -16,7 +16,7 @@
ARG NVIDIA_COMMON_DEB="libnvidia-common-460_460.39-0ubuntu0.18.04.1_all.deb"
-FROM gcr.io/iree-oss/util@sha256:c9691ba3cd4287cee61be42103888d7c6f02c44c7c7b7d30a3dca7fc73ee92cb AS fetch-nvidia
+FROM gcr.io/iree-oss/base@sha256:b8d9863c6ac913f167c6fab319d7cd883ab099312488709ee30b29976d63eb22 AS fetch-nvidia
ARG NVIDIA_COMMON_DEB
ARG NVIDIA_GL_DEB
ARG NVIDIA_COMPUTE_DEB
@@ -36,7 +36,7 @@
# does not support Ubuntu 18.04.
# This allows to share configuration with base CMake, but it also means we need
# to MATCH the driver version between the host machine and the docker image.
-FROM gcr.io/iree-oss/cmake-vulkan@sha256:a257e4010d5bd4af19a8d93852b055af51eda3298a6c9d4114c23ff35ccf4b2c AS final
+FROM gcr.io/iree-oss/base@sha256:b8d9863c6ac913f167c6fab319d7cd883ab099312488709ee30b29976d63eb22 AS final
ARG NVIDIA_COMMON_DEB
ARG NVIDIA_GL_DEB
ARG NVIDIA_COMPUTE_DEB
diff --git a/build_tools/docker/prod_digests.txt b/build_tools/docker/prod_digests.txt
index f53d095..86fdba1 100644
--- a/build_tools/docker/prod_digests.txt
+++ b/build_tools/docker/prod_digests.txt
@@ -1,20 +1,12 @@
-gcr.io/iree-oss/util@sha256:c9691ba3cd4287cee61be42103888d7c6f02c44c7c7b7d30a3dca7fc73ee92cb
-gcr.io/iree-oss/vulkan@sha256:e1c1c5ddbe6b130ff0577572b97094e7a64a3aa003fdd4a91d1b21be705ddf8a
+gcr.io/iree-oss/base@sha256:b8d9863c6ac913f167c6fab319d7cd883ab099312488709ee30b29976d63eb22
+gcr.io/iree-oss/swiftshader@sha256:715bdde46dbf454c8b20b9f193ff5ca4b02c1e33a1bfbe83d60921aa21d64664
+gcr.io/iree-oss/samples@sha256:ec47becc69f7780d196f17927995d77487052663669518ee62fe41f4bedafc75
gcr.io/iree-oss/rbe-toolchain@sha256:8978b32e52cfb9decba4ca41469728776d344d44904abd17950a90cac3f7bcde
-gcr.io/iree-oss/base@sha256:e5ad55549adc27d5d1927b7857ff308d9b75fa1be8a110ed848b24e3816127c5
-gcr.io/iree-oss/cmake@sha256:37ddc553262f28a4c290eb3ccda5e50ef1115209fbb62a44a85165e7b6f7d514
-gcr.io/iree-oss/swiftshader@sha256:7f3947c8494c7a7ae92a48a219b21b5e2ef34bff339a893d0254a33f047e9e10
-gcr.io/iree-oss/gradle-android@sha256:d6b5e965cfd4438badae3f125302f92043a0563ec0ed73e26b614b2cb9adf573
-gcr.io/iree-oss/cmake-riscv@sha256:2b8ade4c8aa47637160994f07134e51c1e68f5422118499f86236e255471b818
-gcr.io/iree-oss/cmake-vulkan@sha256:a257e4010d5bd4af19a8d93852b055af51eda3298a6c9d4114c23ff35ccf4b2c
-gcr.io/iree-oss/cmake-nvidia@sha256:ada9b87bb88032a3d2672c0f5b8a429b4a14d28df274a17fe17c002e990cdd52
-gcr.io/iree-oss/cmake-swiftshader@sha256:031aded9cd66d30fcfa4dabea05a69721f33239516bc2e10ca216afd9ae4c012
-gcr.io/iree-oss/samples@sha256:f1078e8d3406eb800f9663066cfbe5158138195bac84017016082db017728fdd
-gcr.io/iree-oss/cmake-gcc@sha256:59ce6bc769906d82dc03712ded5334aea4722adffdd131d684b689dbfd3e1009
-gcr.io/iree-oss/cmake-emscripten@sha256:62dbe3f635e0f2686d899fd495fc61361c2ab93076528de54cadec7fc63b90c3
-gcr.io/iree-oss/cmake-android@sha256:0981a75325547d1bd5771290287cb8ef09181c4c127972d17132405394478ffb
-gcr.io/iree-oss/bazel@sha256:31c3acef0aeb2976b63b8cb946bda1de9bc8b5319b7e079e507afad2a62d13e7
-gcr.io/iree-oss/cmake-bazel-frontends@sha256:1ac474755584a8a486f26b540ccde2b675eac59affe289bb1c9305178b34f75a
-gcr.io/iree-oss/cmake-bazel-frontends-vulkan@sha256:9894d346c3dfc7ffe0380f12fa541c220ceb77db92d3bbf0bbf17e679e537ecc
-gcr.io/iree-oss/cmake-bazel-frontends-nvidia@sha256:5aa62434af6b28f6172661c60235f338b073d254a850656068693642a55bcd78
-gcr.io/iree-oss/cmake-bazel-frontends-swiftshader@sha256:b0c770fb02e23f4ff051295499bb507090f4dc3333e134041477b152d229a5c3
+gcr.io/iree-oss/frontends@sha256:f9490f31ff09c2053a9972a002f6af65fcace41d834583754ea93c6df35ff1f4
+gcr.io/iree-oss/frontends-nvidia@sha256:5124fa43ea757a9012550f98c1997a3d9de8b4d6f4736c2d358c8bd5a9bfc6ad
+gcr.io/iree-oss/frontends-swiftshader@sha256:41d51c9f7651b04e66a31e354859a823fb0be27615f7bed403cd21b9a0c035fd
+gcr.io/iree-oss/gradle-android@sha256:8ea3563fa233ff22bd6f190ec3d4ad28b542a80efd9300bd60dfbe6b809e490c
+gcr.io/iree-oss/riscv@sha256:d1a4d8e5dafac00e5b582c9ef120a3c5cb81287a768662aed1c3466b1cdc4dd5
+gcr.io/iree-oss/nvidia@sha256:6674ce069c3ce6601aa619f33033634a68fc497dd8f7c98b57da392fdc3a0070
+gcr.io/iree-oss/emscripten@sha256:bb9a1574b50d322a8f7a50b4dce6b5ee7d0418148154b73a51fdb51335318fcf
+gcr.io/iree-oss/android@sha256:58adb4131cfc7b08cd5767c577420f3479ca2f46bb67d9fac6c0797984627758
diff --git a/build_tools/docker/rbe-toolchain/Dockerfile b/build_tools/docker/rbe-toolchain/Dockerfile
index 9a0f320..a357613 100644
--- a/build_tools/docker/rbe-toolchain/Dockerfile
+++ b/build_tools/docker/rbe-toolchain/Dockerfile
@@ -62,7 +62,8 @@
ARG VULKAN_SDK_VERSION=1.2.154.0
-COPY --from=gcr.io/iree-oss/vulkan@sha256:e1c1c5ddbe6b130ff0577572b97094e7a64a3aa003fdd4a91d1b21be705ddf8a /opt/vulkan-sdk/ /opt/vulkan-sdk/
+COPY --from=gcr.io/iree-oss/base@sha256:b8d9863c6ac913f167c6fab319d7cd883ab099312488709ee30b29976d63eb22 \
+ /opt/vulkan-sdk/ /opt/vulkan-sdk/
ENV VULKAN_SDK="/opt/vulkan-sdk/${VULKAN_SDK_VERSION}/x86_64"
diff --git a/build_tools/docker/cmake-riscv/Dockerfile b/build_tools/docker/riscv/Dockerfile
similarity index 84%
rename from build_tools/docker/cmake-riscv/Dockerfile
rename to build_tools/docker/riscv/Dockerfile
index 0b8bed9..6dece9c 100644
--- a/build_tools/docker/cmake-riscv/Dockerfile
+++ b/build_tools/docker/riscv/Dockerfile
@@ -6,7 +6,7 @@
# An image for cross-compiling IREE towards RISCV using CMake.
-FROM gcr.io/iree-oss/util@sha256:c9691ba3cd4287cee61be42103888d7c6f02c44c7c7b7d30a3dca7fc73ee92cb AS install-riscv
+FROM gcr.io/iree-oss/base@sha256:b8d9863c6ac913f167c6fab319d7cd883ab099312488709ee30b29976d63eb22 AS install-riscv
WORKDIR /install-riscv
RUN wget "https://storage.googleapis.com/iree-shared-files/toolchain_iree_rvv-intrinsic.tar.gz"
RUN tar -xf "toolchain_iree_rvv-intrinsic.tar.gz" -C /usr/src/
@@ -15,7 +15,7 @@
RUN wget "https://storage.googleapis.com/iree-shared-files/qemu-riscv.tar.gz"
RUN tar -xf "qemu-riscv.tar.gz" -C /usr/src/
-FROM gcr.io/iree-oss/cmake@sha256:37ddc553262f28a4c290eb3ccda5e50ef1115209fbb62a44a85165e7b6f7d514 AS final
+FROM gcr.io/iree-oss/base@sha256:b8d9863c6ac913f167c6fab319d7cd883ab099312488709ee30b29976d63eb22 AS final
COPY --from=install-riscv "/usr/src/toolchain_iree" "/usr/src/toolchain_iree"
COPY --from=install-riscv "/usr/src/toolchain_iree_rv32imf" "/usr/src/toolchain_iree_rv32imf"
COPY --from=install-riscv "/usr/src/qemu-riscv" "/usr/src/qemu-riscv"
diff --git a/build_tools/docker/samples/Dockerfile b/build_tools/docker/samples/Dockerfile
index fdf5349..8bfff7a 100644
--- a/build_tools/docker/samples/Dockerfile
+++ b/build_tools/docker/samples/Dockerfile
@@ -9,11 +9,15 @@
# * Vulkan (using SwiftShader)
# * Python (including `venv` and common pip packages needed for Colab)
-FROM gcr.io/iree-oss/cmake-swiftshader@sha256:031aded9cd66d30fcfa4dabea05a69721f33239516bc2e10ca216afd9ae4c012 AS final
+FROM gcr.io/iree-oss/swiftshader@sha256:715bdde46dbf454c8b20b9f193ff5ca4b02c1e33a1bfbe83d60921aa21d64664
# Update setuptools per https://github.com/pypa/setuptools/issues/1694#issuecomment-466010982
-RUN apt-get update && apt-get install -y python3-venv python3.7-venv python-setuptools && \
- python3 -m pip install --upgrade setuptools
+RUN apt-get update \
+ && apt-get install -y \
+ python3-venv \
+ python3.7-venv \
+ python-setuptools \
+ && python3 -m pip install --upgrade setuptools
# Install additional packages often used in notebooks.
# Installing these at the system level helps with caching, since venvs can
diff --git a/build_tools/docker/swiftshader/Dockerfile b/build_tools/docker/swiftshader/Dockerfile
index d3f4475..00f69a9 100644
--- a/build_tools/docker/swiftshader/Dockerfile
+++ b/build_tools/docker/swiftshader/Dockerfile
@@ -4,7 +4,7 @@
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-FROM gcr.io/iree-oss/cmake@sha256:37ddc553262f28a4c290eb3ccda5e50ef1115209fbb62a44a85165e7b6f7d514 AS install-swiftshader
+FROM gcr.io/iree-oss/base@sha256:b8d9863c6ac913f167c6fab319d7cd883ab099312488709ee30b29976d63eb22 AS install-swiftshader
WORKDIR /install-swiftshader
RUN apt-get update && apt-get install -y git
@@ -33,5 +33,8 @@
RUN echo "${SWIFTSHADER_COMMIT?}" > /swiftshader/git-commit
# Ubuntu 18.04
-FROM ubuntu@sha256:fd25e706f3dea2a5ff705dbc3353cf37f08307798f3e360a13e9385840f73fb3 AS final
+FROM gcr.io/iree-oss/base@sha256:b8d9863c6ac913f167c6fab319d7cd883ab099312488709ee30b29976d63eb22 AS final
COPY --from=install-swiftshader /swiftshader /swiftshader
+
+# Set VK_ICD_FILENAMES so Vulkan loader can find the SwiftShader ICD.
+ENV VK_ICD_FILENAMES /swiftshader/vk_swiftshader_icd.json
diff --git a/build_tools/docker/util/Dockerfile b/build_tools/docker/util/Dockerfile
deleted file mode 100644
index 93fc591..0000000
--- a/build_tools/docker/util/Dockerfile
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2020 The IREE Authors
-#
-# Licensed under the Apache License v2.0 with LLVM Exceptions.
-# See https://llvm.org/LICENSE.txt for license information.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-
-# An image containing utilities useful for setting up docker images, but not
-# needed in the final images. Intermediate stages can inherit from this image,
-# but final stages should not.
-
-# Ubuntu 18.04
-FROM ubuntu@sha256:fd25e706f3dea2a5ff705dbc3353cf37f08307798f3e360a13e9385840f73fb3 AS final
-
-RUN apt-get update \
- && apt-get install -y \
- git \
- unzip \
- wget \
- gnupg2
diff --git a/build_tools/docker/vulkan/Dockerfile b/build_tools/docker/vulkan/Dockerfile
deleted file mode 100644
index 8c9fb41..0000000
--- a/build_tools/docker/vulkan/Dockerfile
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2020 The IREE Authors
-#
-# Licensed under the Apache License v2.0 with LLVM Exceptions.
-# See https://llvm.org/LICENSE.txt for license information.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-
-FROM gcr.io/iree-oss/util@sha256:c9691ba3cd4287cee61be42103888d7c6f02c44c7c7b7d30a3dca7fc73ee92cb AS install-vulkan
-WORKDIR /install-vulkan
-
-ARG VULKAN_SDK_VERSION=1.2.154.0
-
-RUN wget -q \
- # This file disappeared from the canonical source:
- # "https://sdk.lunarg.com/sdk/download/${VULKAN_SDK_VERSION?}/linux/vulkansdk-linux-${VULKAN_SDK_VERSION?}.tar.gz"
- "https://storage.googleapis.com/iree-shared-files/vulkansdk-linux-${VULKAN_SDK_VERSION?}.tar.gz"
-
-RUN mkdir -p /opt/vulkan-sdk
-
-RUN tar -xzf "vulkansdk-linux-${VULKAN_SDK_VERSION?}.tar.gz" -C /opt/vulkan-sdk
diff --git a/build_tools/kokoro/gcp_ubuntu/bazel/linux/x86-swiftshader/core/build_kokoro.sh b/build_tools/kokoro/gcp_ubuntu/bazel/linux/x86-swiftshader/core/build_kokoro.sh
index c311be0..ef3c9fa 100755
--- a/build_tools/kokoro/gcp_ubuntu/bazel/linux/x86-swiftshader/core/build_kokoro.sh
+++ b/build_tools/kokoro/gcp_ubuntu/bazel/linux/x86-swiftshader/core/build_kokoro.sh
@@ -24,7 +24,7 @@
docker_setup
docker run "${DOCKER_RUN_ARGS[@]?}" \
- gcr.io/iree-oss/bazel@sha256:31c3acef0aeb2976b63b8cb946bda1de9bc8b5319b7e079e507afad2a62d13e7 \
+ gcr.io/iree-oss/base@sha256:b8d9863c6ac913f167c6fab319d7cd883ab099312488709ee30b29976d63eb22 \
build_tools/kokoro/gcp_ubuntu/bazel/linux/x86-swiftshader/core/build.sh
# Kokoro will rsync this entire directory back to the executor orchestrating the
diff --git a/build_tools/kokoro/gcp_ubuntu/cmake-bazel/linux/x86-swiftshader/build_kokoro.sh b/build_tools/kokoro/gcp_ubuntu/cmake-bazel/linux/x86-swiftshader/build_kokoro.sh
index e06b58d..1db894f 100755
--- a/build_tools/kokoro/gcp_ubuntu/cmake-bazel/linux/x86-swiftshader/build_kokoro.sh
+++ b/build_tools/kokoro/gcp_ubuntu/cmake-bazel/linux/x86-swiftshader/build_kokoro.sh
@@ -7,7 +7,7 @@
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
# Build and test the python bindings and frontend integrations within
-# gcr.io/iree-oss/cmake-bazel-frontends-swiftshader
+# gcr.io/iree-oss/frontends-swiftshader
# Requires the environment variables KOKORO_ROOT and KOKORO_ARTIFACTS_DIR, which
# are set by Kokoro.
@@ -24,7 +24,7 @@
docker_setup
docker run "${DOCKER_RUN_ARGS[@]?}" \
- gcr.io/iree-oss/cmake-bazel-frontends-swiftshader@sha256:b0c770fb02e23f4ff051295499bb507090f4dc3333e134041477b152d229a5c3 \
+ gcr.io/iree-oss/frontends-swiftshader@sha256:41d51c9f7651b04e66a31e354859a823fb0be27615f7bed403cd21b9a0c035fd \
build_tools/kokoro/gcp_ubuntu/cmake-bazel/linux/x86-swiftshader/build.sh
# Kokoro will rsync this entire directory back to the executor orchestrating the
diff --git a/build_tools/kokoro/gcp_ubuntu/cmake-bazel/linux/x86-turing/build_kokoro.sh b/build_tools/kokoro/gcp_ubuntu/cmake-bazel/linux/x86-turing/build_kokoro.sh
index 0ff770d..c6f24ab 100755
--- a/build_tools/kokoro/gcp_ubuntu/cmake-bazel/linux/x86-turing/build_kokoro.sh
+++ b/build_tools/kokoro/gcp_ubuntu/cmake-bazel/linux/x86-turing/build_kokoro.sh
@@ -7,7 +7,7 @@
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
# Build and test the python bindings and frontend integrations on GPU within
-# gcr.io/iree-oss/cmake-bazel-frontends-nvidia
+# gcr.io/iree-oss/frontends-nvidia
# Requires the environment variables KOKORO_ROOT and KOKORO_ARTIFACTS_DIR, which
# are set by Kokoro.
@@ -30,7 +30,7 @@
docker run "${DOCKER_RUN_ARGS[@]?}" \
--gpus all \
- gcr.io/iree-oss/cmake-bazel-frontends-nvidia@sha256:5aa62434af6b28f6172661c60235f338b073d254a850656068693642a55bcd78 \
+ gcr.io/iree-oss/frontends-nvidia@sha256:5124fa43ea757a9012550f98c1997a3d9de8b4d6f4736c2d358c8bd5a9bfc6ad \
build_tools/kokoro/gcp_ubuntu/cmake-bazel/linux/x86-turing/build.sh
# Kokoro will rsync this entire directory back to the executor orchestrating the
diff --git a/build_tools/kokoro/gcp_ubuntu/cmake/android/arm64-v8a/build_kokoro.sh b/build_tools/kokoro/gcp_ubuntu/cmake/android/arm64-v8a/build_kokoro.sh
index 9a15852..b1a092f 100755
--- a/build_tools/kokoro/gcp_ubuntu/cmake/android/arm64-v8a/build_kokoro.sh
+++ b/build_tools/kokoro/gcp_ubuntu/cmake/android/arm64-v8a/build_kokoro.sh
@@ -7,7 +7,7 @@
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
# Cross-compile the project towards Android arm64-v8a with the
-# gcr.io/iree-oss/cmake-android image using Kokoro.
+# gcr.io/iree-oss/android image using Kokoro.
# Requires the environment variables KOKORO_ROOT and KOKORO_ARTIFACTS_DIR, which
# are set by Kokoro.
@@ -24,7 +24,7 @@
docker_setup
docker run "${DOCKER_RUN_ARGS[@]?}" \
- gcr.io/iree-oss/cmake-android@sha256:0981a75325547d1bd5771290287cb8ef09181c4c127972d17132405394478ffb \
+ gcr.io/iree-oss/android@sha256:58adb4131cfc7b08cd5767c577420f3479ca2f46bb67d9fac6c0797984627758 \
build_tools/kokoro/gcp_ubuntu/cmake/android/build.sh arm64-v8a
# Kokoro will rsync this entire directory back to the executor orchestrating the
diff --git a/build_tools/kokoro/gcp_ubuntu/cmake/baremetal/riscv32/build_kokoro.sh b/build_tools/kokoro/gcp_ubuntu/cmake/baremetal/riscv32/build_kokoro.sh
index d3908e8..90337b0 100755
--- a/build_tools/kokoro/gcp_ubuntu/cmake/baremetal/riscv32/build_kokoro.sh
+++ b/build_tools/kokoro/gcp_ubuntu/cmake/baremetal/riscv32/build_kokoro.sh
@@ -7,7 +7,7 @@
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
# Cross-compile the project towards riscv with the
-# gcr.io/iree-oss/cmake-riscv image using Kokoro.
+# gcr.io/iree-oss/riscv image using Kokoro.
# Requires the environment variables KOKORO_ROOT and KOKORO_ARTIFACTS_DIR, which
# are set by Kokoro.
@@ -24,7 +24,7 @@
docker_setup
docker run "${DOCKER_RUN_ARGS[@]?}" \
- gcr.io/iree-oss/cmake-riscv@sha256:2b8ade4c8aa47637160994f07134e51c1e68f5422118499f86236e255471b818 \
+ gcr.io/iree-oss/riscv@sha256:d1a4d8e5dafac00e5b582c9ef120a3c5cb81287a768662aed1c3466b1cdc4dd5 \
build_tools/kokoro/gcp_ubuntu/cmake/baremetal/riscv32/build.sh
# Kokoro will rsync this entire directory back to the executor orchestrating the
diff --git a/build_tools/kokoro/gcp_ubuntu/cmake/linux/riscv64/build_kokoro.sh b/build_tools/kokoro/gcp_ubuntu/cmake/linux/riscv64/build_kokoro.sh
index 6c21af2..3bfd181 100755
--- a/build_tools/kokoro/gcp_ubuntu/cmake/linux/riscv64/build_kokoro.sh
+++ b/build_tools/kokoro/gcp_ubuntu/cmake/linux/riscv64/build_kokoro.sh
@@ -7,7 +7,7 @@
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
# Cross-compile the project towards riscv with the
-# gcr.io/iree-oss/cmake-riscv image using Kokoro.
+# gcr.io/iree-oss/riscv image using Kokoro.
# Requires the environment variables KOKORO_ROOT and KOKORO_ARTIFACTS_DIR, which
# are set by Kokoro.
@@ -24,7 +24,7 @@
docker_setup
docker run "${DOCKER_RUN_ARGS[@]?}" \
- gcr.io/iree-oss/cmake-riscv@sha256:2b8ade4c8aa47637160994f07134e51c1e68f5422118499f86236e255471b818 \
+ gcr.io/iree-oss/riscv@sha256:d1a4d8e5dafac00e5b582c9ef120a3c5cb81287a768662aed1c3466b1cdc4dd5 \
build_tools/kokoro/gcp_ubuntu/cmake/linux/riscv64/build.sh
# Kokoro will rsync this entire directory back to the executor orchestrating the
diff --git a/build_tools/kokoro/gcp_ubuntu/cmake/linux/x86-swiftshader-asan/build_kokoro.sh b/build_tools/kokoro/gcp_ubuntu/cmake/linux/x86-swiftshader-asan/build_kokoro.sh
index 4af8334..7f4e541 100755
--- a/build_tools/kokoro/gcp_ubuntu/cmake/linux/x86-swiftshader-asan/build_kokoro.sh
+++ b/build_tools/kokoro/gcp_ubuntu/cmake/linux/x86-swiftshader-asan/build_kokoro.sh
@@ -6,7 +6,7 @@
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-# Build and test the project within the gcr.io/iree-oss/cmake-swiftshader
+# Build and test the project within the gcr.io/iree-oss/swiftshader
# image using Kokoro.
# Requires the environment variables KOKORO_ROOT and KOKORO_ARTIFACTS_DIR, which
# are set by Kokoro.
@@ -24,7 +24,7 @@
docker_setup
docker run "${DOCKER_RUN_ARGS[@]?}" \
- gcr.io/iree-oss/cmake-swiftshader@sha256:031aded9cd66d30fcfa4dabea05a69721f33239516bc2e10ca216afd9ae4c012 \
+ gcr.io/iree-oss/swiftshader@sha256:715bdde46dbf454c8b20b9f193ff5ca4b02c1e33a1bfbe83d60921aa21d64664 \
build_tools/kokoro/gcp_ubuntu/cmake/linux/x86-swiftshader-asan/build.sh
# Kokoro will rsync this entire directory back to the executor orchestrating the
diff --git a/build_tools/kokoro/gcp_ubuntu/cmake/linux/x86-swiftshader/build_kokoro.sh b/build_tools/kokoro/gcp_ubuntu/cmake/linux/x86-swiftshader/build_kokoro.sh
index c4e0084..bd050c2 100755
--- a/build_tools/kokoro/gcp_ubuntu/cmake/linux/x86-swiftshader/build_kokoro.sh
+++ b/build_tools/kokoro/gcp_ubuntu/cmake/linux/x86-swiftshader/build_kokoro.sh
@@ -6,7 +6,7 @@
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-# Build and test the project within the gcr.io/iree-oss/cmake-swiftshader
+# Build and test the project within the gcr.io/iree-oss/swiftshader
# image using Kokoro.
# Requires the environment variables KOKORO_ROOT and KOKORO_ARTIFACTS_DIR, which
# are set by Kokoro.
@@ -24,7 +24,7 @@
docker_setup
docker run "${DOCKER_RUN_ARGS[@]?}" \
- gcr.io/iree-oss/cmake-swiftshader@sha256:031aded9cd66d30fcfa4dabea05a69721f33239516bc2e10ca216afd9ae4c012 \
+ gcr.io/iree-oss/swiftshader@sha256:715bdde46dbf454c8b20b9f193ff5ca4b02c1e33a1bfbe83d60921aa21d64664 \
build_tools/kokoro/gcp_ubuntu/cmake/linux/x86-swiftshader/build.sh
# Kokoro will rsync this entire directory back to the executor orchestrating the
diff --git a/build_tools/kokoro/gcp_ubuntu/cmake/linux/x86-turing/build_kokoro.sh b/build_tools/kokoro/gcp_ubuntu/cmake/linux/x86-turing/build_kokoro.sh
index 656cc91..561efbf 100755
--- a/build_tools/kokoro/gcp_ubuntu/cmake/linux/x86-turing/build_kokoro.sh
+++ b/build_tools/kokoro/gcp_ubuntu/cmake/linux/x86-turing/build_kokoro.sh
@@ -30,7 +30,7 @@
docker run "${DOCKER_RUN_ARGS[@]?}" \
--gpus all \
- gcr.io/iree-oss/cmake-nvidia@sha256:ada9b87bb88032a3d2672c0f5b8a429b4a14d28df274a17fe17c002e990cdd52 \
+ gcr.io/iree-oss/nvidia@sha256:6674ce069c3ce6601aa619f33033634a68fc497dd8f7c98b57da392fdc3a0070 \
build_tools/kokoro/gcp_ubuntu/cmake/linux/x86-turing/build.sh
# Kokoro will rsync this entire directory back to the executor orchestrating the