[ci] Update base docker image to use Ubuntu 20.04 (#13907)
Ubuntu 18.04 reached end of life on May 31, 2023:
https://ubuntu.com/blog/18-04-end-of-standard-support So we announced
dropping support for it in our CI:
https://groups.google.com/g/iree-discuss/c/XrKjhUmz2CA/m/C96Z9zxiAgAJ
This commit upgrades the base docker image to use Ubuntu 20.04, sha256
found in https://hub.docker.com/_/ubuntu for focal-20230412.
Along the way, we perform some cleanup of the docker scripts:
* Install Vulkan SDK from LunarG Ubuntu repo, given that 20.04 is
officially supported there. This requires bumping the version to
1.3.250.
* No need to install GCC 9 separately anymore---Ubuntu 20.04 by default
uses GCC 9.
* No need to check whether we are Ubuntu 18.04 anymore when deciding
IREE dependency packages to install.
Fixes https://github.com/openxla/iree/issues/11782
Progress towards https://github.com/openxla/iree/issues/13830
diff --git a/.github/workflows/android_tflite_oneshot_build.yml b/.github/workflows/android_tflite_oneshot_build.yml
index 35fceb7..649b3a0 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-20.04
env:
- ANDROID_CONTAINER: "gcr.io/iree-oss/gradle-android@sha256:0eff7c2d990b78da29e896538615f536b9f1c93da04d4a194cdaffbf69bce260"
+ ANDROID_CONTAINER: "gcr.io/iree-oss/gradle-android@sha256:b600d09ab54827eca4e268ea8243e5186f51507a5a1308bff82a266bd3b5746a"
steps:
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3.5.0
with:
diff --git a/.github/workflows/build_all.yml b/.github/workflows/build_all.yml
index f7a3849..9f296ac 100644
--- a/.github/workflows/build_all.yml
+++ b/.github/workflows/build_all.yml
@@ -71,8 +71,8 @@
./build_tools/github_actions/docker_run.sh \
--env "IREE_CCACHE_GCP_TOKEN=$(gcloud auth application-default print-access-token)" \
--env "IREE_WRITE_REMOTE_CCACHE=${IREE_WRITE_REMOTE_CCACHE}" \
- --env "CCACHE_NAMESPACE=gcr.io/iree-oss/base@sha256:24fb5467da30c7b4c0f4c191cdf6124bda63b172d3ae98906e53b3d55ed6ddcb" \
- gcr.io/iree-oss/base@sha256:24fb5467da30c7b4c0f4c191cdf6124bda63b172d3ae98906e53b3d55ed6ddcb \
+ --env "CCACHE_NAMESPACE=gcr.io/iree-oss/base@sha256:7dbb7e97e0baa6d4512822b5cd4f601d840a6f950f67c2df497a24cae64a0595" \
+ gcr.io/iree-oss/base@sha256:7dbb7e97e0baa6d4512822b5cd4f601d840a6f950f67c2df497a24cae64a0595 \
./build_tools/cmake/build_all.sh \
"${BUILD_DIR}"
# The archive step below doesn't include these files. Remove them first to
diff --git a/.github/workflows/build_and_test_android.yml b/.github/workflows/build_and_test_android.yml
index 291e5cb..4797d9b 100644
--- a/.github/workflows/build_and_test_android.yml
+++ b/.github/workflows/build_and_test_android.yml
@@ -81,7 +81,7 @@
--env "IREE_TARGET_BUILD_DIR=${TARGET_BUILD_DIR}" \
--env "BUILD_PRESET=test" \
--env "IREE_HOST_BIN_DIR=${HOST_BUILD_DIR}/install/bin" \
- gcr.io/iree-oss/android@sha256:3f641d25786b1e5e430ee4cacb8bfe57540fda5ecaa7ca2802c179c26e77ce09 \
+ gcr.io/iree-oss/android@sha256:0acf806428fda9a89c928becf8f3f560131f3906bd9466a633466594d4690430 \
build_tools/cmake/build_android.sh
echo "target-build-dir=${TARGET_BUILD_DIR}" >> "${GITHUB_OUTPUT}"
- name: "Creating archive of target build dir"
diff --git a/.github/workflows/build_benchmark_tools.yml b/.github/workflows/build_benchmark_tools.yml
index b6b703c..67f999c 100644
--- a/.github/workflows/build_benchmark_tools.yml
+++ b/.github/workflows/build_benchmark_tools.yml
@@ -69,12 +69,12 @@
tracy_capture: "gs://iree-shared-files/tracy-capture-linux-x86_64-52b6af88"
- platform: "linux"
arch: "riscv_64"
- docker_image: "gcr.io/iree-oss/riscv@sha256:2e71c052d11b2526651af16e64816a30d164efcdfe6fb64623fb4737c37c466a"
+ docker_image: "gcr.io/iree-oss/riscv@sha256:396546eaa5f144454c7b83c74ad0d6a96170556a9c164c7c97aa793ff83c446e"
build_script: "./build_tools/cmake/build_riscv.sh"
tracy_capture: "gs://iree-shared-files/tracy-capture-linux-x86_64-52b6af88"
- platform: "android"
arch: "armv8.2-a"
- docker_image: "gcr.io/iree-oss/android@sha256:3f641d25786b1e5e430ee4cacb8bfe57540fda5ecaa7ca2802c179c26e77ce09"
+ docker_image: "gcr.io/iree-oss/android@sha256:0acf806428fda9a89c928becf8f3f560131f3906bd9466a633466594d4690430"
build_script: "./build_tools/cmake/build_android.sh"
tracy_capture: "gs://iree-shared-files/tracy-capture-linux-arm_64-52b6af88"
env:
diff --git a/.github/workflows/build_e2e_test_artifacts.yml b/.github/workflows/build_e2e_test_artifacts.yml
index 70a1dd5..f78e50a 100644
--- a/.github/workflows/build_e2e_test_artifacts.yml
+++ b/.github/workflows/build_e2e_test_artifacts.yml
@@ -102,7 +102,7 @@
--env "IREE_HOST_BIN_DIR=${HOST_BUILD_DIR}/install/bin" \
--env "IREE_BENCHMARK_PRESETS=${IREE_BENCHMARK_PRESETS}" \
--env "IREE_BUILD_DEFAULT_BENCHMARK_SUITES=${IREE_BUILD_DEFAULT_BENCHMARK_SUITES}" \
- gcr.io/iree-oss/frontends@sha256:da48ff70cc3b956ba22465a3bef285711b66dfcd605ccba605db2278b96dbc5c \
+ gcr.io/iree-oss/frontends@sha256:95c23cc732e4f5b0b005816108c65cea7b024f186be9cdd22defdd6e68384298 \
build_tools/cmake/build_e2e_test_artifacts.sh \
"${BUILD_E2E_TEST_ARTIFACTS_DIR}"
echo "e2e-test-artifacts-dir=${BUILD_E2E_TEST_ARTIFACTS_DIR}/e2e_test_artifacts" >> "${GITHUB_OUTPUT}"
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 6407a37..733b67e 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -256,7 +256,7 @@
run: |
./build_tools/github_actions/docker_run.sh \
--env IREE_CUDA_DISABLE=1 \
- gcr.io/iree-oss/swiftshader@sha256:47501aca2c3cee08358d8f8df78f7d7a36101fb9559cfe439285756620087efa \
+ gcr.io/iree-oss/swiftshader@sha256:c9be5cbc8467499ae71ec80f3af87b72e746e8903cd52c0be9bb5f7261acc521 \
./build_tools/cmake/ctest_all.sh \
"${BUILD_DIR}"
@@ -295,7 +295,7 @@
--env CTEST_PARALLEL_LEVEL=2 \
--gpus all \
--env NVIDIA_DRIVER_CAPABILITIES=all \
- gcr.io/iree-oss/nvidia@sha256:e7a1daba40815d1e94c901ce7de4bead54e725302ba320eda6745857977528a7 \
+ gcr.io/iree-oss/nvidia@sha256:f8c6680f435615256c9df7521d41ad49f13bbb34e2dd16a271a620e9dc8637e7 \
bash -euo pipefail -c \
"./build_tools/scripts/check_cuda.sh
./build_tools/scripts/check_vulkan.sh
@@ -321,14 +321,14 @@
run: |
./build_tools/github_actions/docker_run.sh \
--env "BUILD_PRESET=test" \
- gcr.io/iree-oss/base@sha256:24fb5467da30c7b4c0f4c191cdf6124bda63b172d3ae98906e53b3d55ed6ddcb \
+ gcr.io/iree-oss/base@sha256:7dbb7e97e0baa6d4512822b5cd4f601d840a6f950f67c2df497a24cae64a0595 \
./build_tools/cmake/build_runtime.sh \
"${BUILD_DIR}"
- name: "Testing runtime"
run: |
./build_tools/github_actions/docker_run.sh \
--env IREE_VULKAN_DISABLE=1 \
- gcr.io/iree-oss/base@sha256:24fb5467da30c7b4c0f4c191cdf6124bda63b172d3ae98906e53b3d55ed6ddcb \
+ gcr.io/iree-oss/base@sha256:7dbb7e97e0baa6d4512822b5cd4f601d840a6f950f67c2df497a24cae64a0595 \
./build_tools/cmake/ctest_all.sh \
"${BUILD_DIR}"
@@ -387,7 +387,7 @@
run: |
./build_tools/github_actions/docker_run.sh \
--env IREE_VMVX_DISABLE=0 \
- gcr.io/iree-oss/frontends-swiftshader@sha256:da2f11855bedb36b133749d8f0cb7f8caa3ee91cf0dd1f248a8e41157b734241 \
+ gcr.io/iree-oss/frontends-swiftshader@sha256:e7a5909dd95784ffb69d58ea120f2cd650479e91a83e6f55e1076181c4ca7463 \
build_tools/cmake/run_tf_tests.sh \
"${BUILD_DIR}"
@@ -420,7 +420,7 @@
--env IREE_NVIDIA_GPU_TESTS_DISABLE=0 \
--gpus all \
--env NVIDIA_DRIVER_CAPABILITIES=all \
- gcr.io/iree-oss/frontends-nvidia@sha256:d2bea95804c5f75dc64446f2839d17af5f245d3cc939c161482e213890c8213b \
+ gcr.io/iree-oss/frontends-nvidia@sha256:808f57962267eb1752c3200348421a22eca1770c737922ee2b933585d16f014d \
bash -euo pipefail -c \
"./build_tools/scripts/check_cuda.sh
./build_tools/scripts/check_vulkan.sh
@@ -517,8 +517,8 @@
./build_tools/github_actions/docker_run.sh \
--env "IREE_CCACHE_GCP_TOKEN=$(gcloud auth application-default print-access-token)" \
--env "IREE_WRITE_REMOTE_CCACHE=${IREE_WRITE_REMOTE_CCACHE}" \
- --env "CCACHE_NAMESPACE=gcr.io/iree-oss/base@sha256:24fb5467da30c7b4c0f4c191cdf6124bda63b172d3ae98906e53b3d55ed6ddcb" \
- gcr.io/iree-oss/base@sha256:24fb5467da30c7b4c0f4c191cdf6124bda63b172d3ae98906e53b3d55ed6ddcb \
+ --env "CCACHE_NAMESPACE=gcr.io/iree-oss/base@sha256:7dbb7e97e0baa6d4512822b5cd4f601d840a6f950f67c2df497a24cae64a0595" \
+ gcr.io/iree-oss/base@sha256:7dbb7e97e0baa6d4512822b5cd4f601d840a6f950f67c2df497a24cae64a0595 \
./build_tools/cmake/build_and_test_tsan.sh
small_runtime:
@@ -537,14 +537,14 @@
# and GitHub runners don't have write access to GCS
run: |
./build_tools/github_actions/docker_run.sh \
- gcr.io/iree-oss/base@sha256:24fb5467da30c7b4c0f4c191cdf6124bda63b172d3ae98906e53b3d55ed6ddcb \
+ gcr.io/iree-oss/base@sha256:7dbb7e97e0baa6d4512822b5cd4f601d840a6f950f67c2df497a24cae64a0595 \
./build_tools/cmake/build_runtime_small.sh \
"${BUILD_DIR}"
- name: "Testing runtime"
run: |
./build_tools/github_actions/docker_run.sh \
--env IREE_VULKAN_DISABLE=1 \
- gcr.io/iree-oss/base@sha256:24fb5467da30c7b4c0f4c191cdf6124bda63b172d3ae98906e53b3d55ed6ddcb \
+ gcr.io/iree-oss/base@sha256:7dbb7e97e0baa6d4512822b5cd4f601d840a6f950f67c2df497a24cae64a0595 \
./build_tools/cmake/ctest_all.sh \
"${BUILD_DIR}"
@@ -575,8 +575,8 @@
--env "IREE_TARGET_BACKEND_WEBGPU=OFF" \
--env "IREE_CCACHE_GCP_TOKEN=$(gcloud auth application-default print-access-token)" \
--env "IREE_WRITE_REMOTE_CCACHE=${IREE_WRITE_REMOTE_CCACHE}" \
- --env "CCACHE_NAMESPACE=gcr.io/iree-oss/base@sha256:24fb5467da30c7b4c0f4c191cdf6124bda63b172d3ae98906e53b3d55ed6ddcb" \
- gcr.io/iree-oss/base@sha256:24fb5467da30c7b4c0f4c191cdf6124bda63b172d3ae98906e53b3d55ed6ddcb \
+ --env "CCACHE_NAMESPACE=gcr.io/iree-oss/base@sha256:7dbb7e97e0baa6d4512822b5cd4f601d840a6f950f67c2df497a24cae64a0595" \
+ gcr.io/iree-oss/base@sha256:7dbb7e97e0baa6d4512822b5cd4f601d840a6f950f67c2df497a24cae64a0595 \
./build_tools/cmake/build_all.sh \
"${BUILD_DIR}"
@@ -604,8 +604,8 @@
./build_tools/github_actions/docker_run.sh \
--env "IREE_CCACHE_GCP_TOKEN=$(gcloud auth application-default print-access-token)" \
--env "IREE_WRITE_REMOTE_CCACHE=${IREE_WRITE_REMOTE_CCACHE}" \
- --env "CCACHE_NAMESPACE=gcr.io/iree-oss/base@sha256:24fb5467da30c7b4c0f4c191cdf6124bda63b172d3ae98906e53b3d55ed6ddcb" \
- gcr.io/iree-oss/base@sha256:24fb5467da30c7b4c0f4c191cdf6124bda63b172d3ae98906e53b3d55ed6ddcb \
+ --env "CCACHE_NAMESPACE=gcr.io/iree-oss/base@sha256:7dbb7e97e0baa6d4512822b5cd4f601d840a6f950f67c2df497a24cae64a0595" \
+ gcr.io/iree-oss/base@sha256:7dbb7e97e0baa6d4512822b5cd4f601d840a6f950f67c2df497a24cae64a0595 \
./build_tools/cmake/build_tracing.sh \
"${BUILD_DIR}"
@@ -633,8 +633,8 @@
--env "IREE_CCACHE_GCP_TOKEN=$(gcloud auth application-default print-access-token)" \
--env "IREE_WRITE_REMOTE_CCACHE=${IREE_WRITE_REMOTE_CCACHE}" \
--env "CMAKE_BUILD_TYPE=Debug" \
- --env "CCACHE_NAMESPACE=gcr.io/iree-oss/base@sha256:24fb5467da30c7b4c0f4c191cdf6124bda63b172d3ae98906e53b3d55ed6ddcb" \
- gcr.io/iree-oss/base@sha256:24fb5467da30c7b4c0f4c191cdf6124bda63b172d3ae98906e53b3d55ed6ddcb \
+ --env "CCACHE_NAMESPACE=gcr.io/iree-oss/base@sha256:7dbb7e97e0baa6d4512822b5cd4f601d840a6f950f67c2df497a24cae64a0595" \
+ gcr.io/iree-oss/base@sha256:7dbb7e97e0baa6d4512822b5cd4f601d840a6f950f67c2df497a24cae64a0595 \
./build_tools/cmake/build_all.sh \
"${BUILD_DIR}"
@@ -797,25 +797,25 @@
- platform: linux
arch: riscv_64
abi: lp64d
- docker_image: "gcr.io/iree-oss/riscv@sha256:2e71c052d11b2526651af16e64816a30d164efcdfe6fb64623fb4737c37c466a"
+ docker_image: "gcr.io/iree-oss/riscv@sha256:396546eaa5f144454c7b83c74ad0d6a96170556a9c164c7c97aa793ff83c446e"
build_script: "./build_tools/cmake/build_riscv.sh"
test_script: "./build_tools/cmake/test_riscv.sh"
- platform: linux
arch: riscv_32
abi: ilp32d
- docker_image: "gcr.io/iree-oss/riscv@sha256:2e71c052d11b2526651af16e64816a30d164efcdfe6fb64623fb4737c37c466a"
+ docker_image: "gcr.io/iree-oss/riscv@sha256:396546eaa5f144454c7b83c74ad0d6a96170556a9c164c7c97aa793ff83c446e"
build_script: "./build_tools/cmake/build_riscv.sh"
test_script: "./build_tools/cmake/test_riscv.sh"
- platform: generic
arch: riscv_32
abi: ilp32
- docker_image: "gcr.io/iree-oss/riscv@sha256:2e71c052d11b2526651af16e64816a30d164efcdfe6fb64623fb4737c37c466a"
+ docker_image: "gcr.io/iree-oss/riscv@sha256:396546eaa5f144454c7b83c74ad0d6a96170556a9c164c7c97aa793ff83c446e"
build_script: "./build_tools/cmake/build_riscv.sh"
test_script: "./tests/riscv32/smoke.sh"
- platform: emscripten
arch: wasm32
abi: wasm32
- docker_image: "gcr.io/iree-oss/emscripten@sha256:1bb106b471a446e64a04ea313743174c5b51f1b49d5a41ccff3f70bbda9e7fd0"
+ docker_image: "gcr.io/iree-oss/emscripten@sha256:28c8878131fa8161cb2d1ae22dd99fe30ec3440ddd8299d006bc52b4c5f2dea3"
build_script: "./build_tools/cmake/build_runtime_emscripten.sh"
# No test script
@@ -898,15 +898,15 @@
target:
- platform: linux
arch: riscv_64
- docker_image: "gcr.io/iree-oss/riscv@sha256:2e71c052d11b2526651af16e64816a30d164efcdfe6fb64623fb4737c37c466a"
+ docker_image: "gcr.io/iree-oss/riscv@sha256:396546eaa5f144454c7b83c74ad0d6a96170556a9c164c7c97aa793ff83c446e"
run_scripts: "./build_tools/cmake/build_riscv.sh && ./build_tools/cmake/test_riscv.sh"
- platform: linux
arch: riscv_32
- docker_image: "gcr.io/iree-oss/riscv@sha256:2e71c052d11b2526651af16e64816a30d164efcdfe6fb64623fb4737c37c466a"
+ docker_image: "gcr.io/iree-oss/riscv@sha256:396546eaa5f144454c7b83c74ad0d6a96170556a9c164c7c97aa793ff83c446e"
run_scripts: "./build_tools/cmake/build_riscv.sh && ./build_tools/cmake/test_riscv.sh"
- platform: linux
arch: x86_64
- docker_image: "gcr.io/iree-oss/base@sha256:24fb5467da30c7b4c0f4c191cdf6124bda63b172d3ae98906e53b3d55ed6ddcb"
+ docker_image: "gcr.io/iree-oss/base@sha256:7dbb7e97e0baa6d4512822b5cd4f601d840a6f950f67c2df497a24cae64a0595"
run_scripts: "./build_tools/cmake/test_benchmark_suites_on_linux.sh"
env:
PLATFORM: ${{ matrix.target.platform }}
diff --git a/.github/workflows/samples.yml b/.github/workflows/samples.yml
index 85076e3..8f56fc9 100644
--- a/.github/workflows/samples.yml
+++ b/.github/workflows/samples.yml
@@ -24,7 +24,7 @@
- name: "Testing Colab Notebooks"
run: |
./build_tools/github_actions/docker_run.sh \
- gcr.io/iree-oss/samples@sha256:2a235ebaf2f2ed47bec4901bbd736febf7760c52ccddae46fa7a32ef21bffc76 \
+ gcr.io/iree-oss/samples@sha256:5e64a8f4b3c64e133ceae9028aaa7a843dd58f6b773917d32d25473d4aef3faa \
./samples/colab/test_notebooks.py
samples:
@@ -35,7 +35,7 @@
- name: "Testing Samples"
run: |
./build_tools/github_actions/docker_run.sh \
- gcr.io/iree-oss/samples@sha256:2a235ebaf2f2ed47bec4901bbd736febf7760c52ccddae46fa7a32ef21bffc76 \
+ gcr.io/iree-oss/samples@sha256:5e64a8f4b3c64e133ceae9028aaa7a843dd58f6b773917d32d25473d4aef3faa \
./build_tools/testing/test_samples.sh
# FIXME: unify this with host build from ci.yml. This is complicated by
@@ -54,8 +54,8 @@
- name: "Building host tools"
run: |
./build_tools/github_actions/docker_run.sh \
- --env "CCACHE_NAMESPACE=gcr.io/iree-oss/base@sha256:24fb5467da30c7b4c0f4c191cdf6124bda63b172d3ae98906e53b3d55ed6ddcb" \
- gcr.io/iree-oss/base@sha256:24fb5467da30c7b4c0f4c191cdf6124bda63b172d3ae98906e53b3d55ed6ddcb \
+ --env "CCACHE_NAMESPACE=gcr.io/iree-oss/base@sha256:7dbb7e97e0baa6d4512822b5cd4f601d840a6f950f67c2df497a24cae64a0595" \
+ gcr.io/iree-oss/base@sha256:7dbb7e97e0baa6d4512822b5cd4f601d840a6f950f67c2df497a24cae64a0595 \
./build_tools/cmake/build_host_tools.sh "${HOST_BUILD_DIR}"
- name: "Testing Experimental Web Samples"
env:
@@ -64,5 +64,5 @@
./build_tools/github_actions/docker_run.sh \
--env "IREE_HOST_BUILD_DIR=${HOST_BUILD_DIR}" \
--env "IREE_EMPSCRIPTEN_BUILD_DIR=${IREE_EMPSCRIPTEN_BUILD_DIR}" \
- gcr.io/iree-oss/emscripten@sha256:1bb106b471a446e64a04ea313743174c5b51f1b49d5a41ccff3f70bbda9e7fd0 \
+ gcr.io/iree-oss/emscripten@sha256:28c8878131fa8161cb2d1ae22dd99fe30ec3440ddd8299d006bc52b4c5f2dea3 \
./experimental/web/build_and_test_samples.sh
diff --git a/build_tools/docker/context/install_iree_deps.sh b/build_tools/docker/context/install_iree_deps.sh
index 0e160cf..9108e19 100755
--- a/build_tools/docker/context/install_iree_deps.sh
+++ b/build_tools/docker/context/install_iree_deps.sh
@@ -13,10 +13,6 @@
"clang-${LLVM_VERSION}"
"lld-${LLVM_VERSION}"
# IREE transitive dependencies
- # Next time someone's updating these, try dropping sdl2. It shouldn't be
- # necessary anymore, but you need to make sure that we get `vulkaninfo` from
- # another source (this is currently installing it implicitly).
- libsdl2-dev
libssl-dev
# A much better CMake builder
ninja-build
@@ -25,20 +21,13 @@
# Optional for tools like llvm-symbolizer, which we could build from
# source but would rather just have available ahead of time
llvm-dev
+ # Tracy build and run dependencies
+ pkg-config
+ libcapstone-dev
+ libtbb-dev
+ libzstd-dev
)
-# The libzstd on Ubuntu 18.04 doesn't work with the IREE integrated LLVM.
-# TODO(#11782): Remove once we bump the minimum supported OS version.
-if [[ "$(lsb_release -ds)" != "Ubuntu 18.04"* ]]; then
- PACKAGES+=(
- # Tracy build and run dependencies
- pkg-config
- libcapstone-dev
- libtbb-dev
- libzstd-dev
- )
-fi
-
apt-get update
apt-get install -y "${PACKAGES[@]}"
diff --git a/build_tools/docker/dockerfiles/android.Dockerfile b/build_tools/docker/dockerfiles/android.Dockerfile
index 7383033..d21fa35 100644
--- a/build_tools/docker/dockerfiles/android.Dockerfile
+++ b/build_tools/docker/dockerfiles/android.Dockerfile
@@ -6,7 +6,7 @@
# An image for cross-compiling IREE towards Android.
-FROM gcr.io/iree-oss/base@sha256:24fb5467da30c7b4c0f4c191cdf6124bda63b172d3ae98906e53b3d55ed6ddcb
+FROM gcr.io/iree-oss/base@sha256:7dbb7e97e0baa6d4512822b5cd4f601d840a6f950f67c2df497a24cae64a0595
ARG NDK_VERSION=r25b
WORKDIR /install-ndk
diff --git a/build_tools/docker/dockerfiles/base.Dockerfile b/build_tools/docker/dockerfiles/base.Dockerfile
index 9879e57..09b0fd0 100644
--- a/build_tools/docker/dockerfiles/base.Dockerfile
+++ b/build_tools/docker/dockerfiles/base.Dockerfile
@@ -4,8 +4,8 @@
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-# 18.04
-FROM ubuntu@sha256:fd25e706f3dea2a5ff705dbc3353cf37f08307798f3e360a13e9385840f73fb3
+# 20.04
+FROM ubuntu@sha256:b795f8e0caaaacad9859a9a38fe1c78154f8301fdaf0872eaf1520d66d9c0b98
SHELL ["/bin/bash", "-e", "-u", "-o", "pipefail", "-c"]
@@ -36,7 +36,8 @@
ENV CXX /usr/bin/clang++-${LLVM_VERSION}
COPY build_tools/docker/context/install_iree_deps.sh ./
-RUN ./install_iree_deps.sh "${LLVM_VERSION}" \
+# We need DEBIAN_FRONTEND and TZ for the tzdata package needed by some IREE dependencies.
+RUN DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC ./install_iree_deps.sh "${LLVM_VERSION}" \
&& rm -rf /install-basics
######## ccache ########
@@ -92,7 +93,7 @@
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ca-certificates curl libnuma-dev gnupg \
&& curl -sL https://repo.radeon.com/rocm/rocm.gpg.key | apt-key add - \
&& printf "deb [arch=amd64] https://repo.radeon.com/rocm/apt/$ROCM_VERSION/ ubuntu main" | tee /etc/apt/sources.list.d/rocm.list \
- && printf "deb [arch=amd64] https://repo.radeon.com/amdgpu/$AMDGPU_VERSION/ubuntu bionic main" | tee /etc/apt/sources.list.d/amdgpu.list \
+ && printf "deb [arch=amd64] https://repo.radeon.com/amdgpu/$AMDGPU_VERSION/ubuntu focal main" | tee /etc/apt/sources.list.d/amdgpu.list \
&& apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
libelf1 \
@@ -111,44 +112,13 @@
######## Vulkan ########
WORKDIR /install-vulkan
-ARG VULKAN_SDK_VERSION=1.2.154.0
+ARG VULKAN_SDK_VERSION=1.3.250
-RUN curl --silent --fail --show-error --location \
- # 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" \
- --output vulkansdk.tar.gz \
- && mkdir -p /opt/vulkan-sdk \
- && tar -xzf vulkansdk.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 \
+RUN wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | apt-key add - \
+ && wget -qO /etc/apt/sources.list.d/lunarg-vulkan-${VULKAN_SDK_VERSION}-focal.list https://packages.lunarg.com/vulkan/${VULKAN_SDK_VERSION}/lunarg-vulkan-${VULKAN_SDK_VERSION}-focal.list \
&& apt-get update \
- && apt-get install -y gcc-9 g++-9
+ && apt-get install -y --no-install-recommends vulkan-sdk
+WORKDIR /
##############
diff --git a/build_tools/docker/dockerfiles/emscripten.Dockerfile b/build_tools/docker/dockerfiles/emscripten.Dockerfile
index 44ba627..d38548f 100644
--- a/build_tools/docker/dockerfiles/emscripten.Dockerfile
+++ b/build_tools/docker/dockerfiles/emscripten.Dockerfile
@@ -6,7 +6,7 @@
# An image for building IREE through Emscripten.
-FROM gcr.io/iree-oss/base@sha256:24fb5467da30c7b4c0f4c191cdf6124bda63b172d3ae98906e53b3d55ed6ddcb
+FROM gcr.io/iree-oss/base@sha256:7dbb7e97e0baa6d4512822b5cd4f601d840a6f950f67c2df497a24cae64a0595
# See also
# * https://github.com/emscripten-core/emsdk/blob/main/docker/Dockerfile
diff --git a/build_tools/docker/dockerfiles/frontends-nvidia.Dockerfile b/build_tools/docker/dockerfiles/frontends-nvidia.Dockerfile
index f21b84e..2109bf1 100644
--- a/build_tools/docker/dockerfiles/frontends-nvidia.Dockerfile
+++ b/build_tools/docker/dockerfiles/frontends-nvidia.Dockerfile
@@ -8,7 +8,7 @@
# The NVidia drivers need to *exactly* match between the host machine and the
# docker image.
-FROM gcr.io/iree-oss/frontends@sha256:da48ff70cc3b956ba22465a3bef285711b66dfcd605ccba605db2278b96dbc5c
+FROM gcr.io/iree-oss/frontends@sha256:95c23cc732e4f5b0b005816108c65cea7b024f186be9cdd22defdd6e68384298
# 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
diff --git a/build_tools/docker/dockerfiles/frontends-swiftshader.Dockerfile b/build_tools/docker/dockerfiles/frontends-swiftshader.Dockerfile
index da71c0c..4fcd051 100644
--- a/build_tools/docker/dockerfiles/frontends-swiftshader.Dockerfile
+++ b/build_tools/docker/dockerfiles/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/frontends@sha256:da48ff70cc3b956ba22465a3bef285711b66dfcd605ccba605db2278b96dbc5c
-COPY --from=gcr.io/iree-oss/swiftshader@sha256:47501aca2c3cee08358d8f8df78f7d7a36101fb9559cfe439285756620087efa \
+FROM gcr.io/iree-oss/frontends@sha256:95c23cc732e4f5b0b005816108c65cea7b024f186be9cdd22defdd6e68384298
+COPY --from=gcr.io/iree-oss/swiftshader@sha256:c9be5cbc8467499ae71ec80f3af87b72e746e8903cd52c0be9bb5f7261acc521 \
/swiftshader /swiftshader
# Set VK_ICD_FILENAMES so Vulkan loader can find the SwiftShader ICD.
diff --git a/build_tools/docker/dockerfiles/frontends.Dockerfile b/build_tools/docker/dockerfiles/frontends.Dockerfile
index 9a2fad2..926d489 100644
--- a/build_tools/docker/dockerfiles/frontends.Dockerfile
+++ b/build_tools/docker/dockerfiles/frontends.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/android@sha256:3f641d25786b1e5e430ee4cacb8bfe57540fda5ecaa7ca2802c179c26e77ce09
+FROM gcr.io/iree-oss/android@sha256:0acf806428fda9a89c928becf8f3f560131f3906bd9466a633466594d4690430
WORKDIR /pip-install
diff --git a/build_tools/docker/dockerfiles/gradle-android.Dockerfile b/build_tools/docker/dockerfiles/gradle-android.Dockerfile
index 122afca..0eeacf0 100644
--- a/build_tools/docker/dockerfiles/gradle-android.Dockerfile
+++ b/build_tools/docker/dockerfiles/gradle-android.Dockerfile
@@ -7,7 +7,7 @@
# An image for cross-compiling IREE's TFLite Java Bindings with Gradle and
# CMake.
-FROM gcr.io/iree-oss/base@sha256:24fb5467da30c7b4c0f4c191cdf6124bda63b172d3ae98906e53b3d55ed6ddcb
+FROM gcr.io/iree-oss/base@sha256:7dbb7e97e0baa6d4512822b5cd4f601d840a6f950f67c2df497a24cae64a0595
### Java ###
WORKDIR /install-jdk
diff --git a/build_tools/docker/dockerfiles/nvidia.Dockerfile b/build_tools/docker/dockerfiles/nvidia.Dockerfile
index 52d6cf9..569beb4 100644
--- a/build_tools/docker/dockerfiles/nvidia.Dockerfile
+++ b/build_tools/docker/dockerfiles/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/base@sha256:24fb5467da30c7b4c0f4c191cdf6124bda63b172d3ae98906e53b3d55ed6ddcb AS fetch-nvidia
+FROM gcr.io/iree-oss/base@sha256:7dbb7e97e0baa6d4512822b5cd4f601d840a6f950f67c2df497a24cae64a0595 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/base@sha256:24fb5467da30c7b4c0f4c191cdf6124bda63b172d3ae98906e53b3d55ed6ddcb AS final
+FROM gcr.io/iree-oss/base@sha256:7dbb7e97e0baa6d4512822b5cd4f601d840a6f950f67c2df497a24cae64a0595 AS final
ARG NVIDIA_COMMON_DEB
ARG NVIDIA_GL_DEB
ARG NVIDIA_COMPUTE_DEB
diff --git a/build_tools/docker/dockerfiles/riscv.Dockerfile b/build_tools/docker/dockerfiles/riscv.Dockerfile
index 58ee694..165a2da 100644
--- a/build_tools/docker/dockerfiles/riscv.Dockerfile
+++ b/build_tools/docker/dockerfiles/riscv.Dockerfile
@@ -6,7 +6,7 @@
# An image for cross-compiling IREE towards RISCV using CMake.
-FROM gcr.io/iree-oss/base@sha256:24fb5467da30c7b4c0f4c191cdf6124bda63b172d3ae98906e53b3d55ed6ddcb AS install-riscv
+FROM gcr.io/iree-oss/base@sha256:7dbb7e97e0baa6d4512822b5cd4f601d840a6f950f67c2df497a24cae64a0595 AS install-riscv
WORKDIR /install-riscv
RUN wget --no-verbose "https://storage.googleapis.com/iree-shared-files/toolchain_iree_20220918.tar.gz"
RUN tar -xf "toolchain_iree_20220918.tar.gz" -C /usr/src/
@@ -15,7 +15,7 @@
RUN wget --no-verbose "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/base@sha256:24fb5467da30c7b4c0f4c191cdf6124bda63b172d3ae98906e53b3d55ed6ddcb AS final
+FROM gcr.io/iree-oss/base@sha256:7dbb7e97e0baa6d4512822b5cd4f601d840a6f950f67c2df497a24cae64a0595 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/dockerfiles/samples.Dockerfile b/build_tools/docker/dockerfiles/samples.Dockerfile
index cc21dd6..2a57526 100644
--- a/build_tools/docker/dockerfiles/samples.Dockerfile
+++ b/build_tools/docker/dockerfiles/samples.Dockerfile
@@ -9,7 +9,7 @@
# * Vulkan (using SwiftShader)
# * Python (including `venv` and common pip packages needed for Colab)
-FROM gcr.io/iree-oss/swiftshader@sha256:47501aca2c3cee08358d8f8df78f7d7a36101fb9559cfe439285756620087efa
+FROM gcr.io/iree-oss/swiftshader@sha256:c9be5cbc8467499ae71ec80f3af87b72e746e8903cd52c0be9bb5f7261acc521
# 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/dockerfiles/swiftshader.Dockerfile b/build_tools/docker/dockerfiles/swiftshader.Dockerfile
index 211ab70..a948596 100644
--- a/build_tools/docker/dockerfiles/swiftshader.Dockerfile
+++ b/build_tools/docker/dockerfiles/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/base@sha256:24fb5467da30c7b4c0f4c191cdf6124bda63b172d3ae98906e53b3d55ed6ddcb AS install-swiftshader
+FROM gcr.io/iree-oss/base@sha256:7dbb7e97e0baa6d4512822b5cd4f601d840a6f950f67c2df497a24cae64a0595 AS install-swiftshader
WORKDIR /install-swiftshader
COPY build_tools/third_party/swiftshader/build_vk_swiftshader.sh ./
diff --git a/build_tools/docker/prod_digests.txt b/build_tools/docker/prod_digests.txt
index bfa3a8b..b9f7cfc 100644
--- a/build_tools/docker/prod_digests.txt
+++ b/build_tools/docker/prod_digests.txt
@@ -1,14 +1,14 @@
-gcr.io/iree-oss/base@sha256:24fb5467da30c7b4c0f4c191cdf6124bda63b172d3ae98906e53b3d55ed6ddcb
-gcr.io/iree-oss/swiftshader@sha256:47501aca2c3cee08358d8f8df78f7d7a36101fb9559cfe439285756620087efa
-gcr.io/iree-oss/samples@sha256:2a235ebaf2f2ed47bec4901bbd736febf7760c52ccddae46fa7a32ef21bffc76
-gcr.io/iree-oss/frontends@sha256:da48ff70cc3b956ba22465a3bef285711b66dfcd605ccba605db2278b96dbc5c
-gcr.io/iree-oss/frontends-nvidia@sha256:d2bea95804c5f75dc64446f2839d17af5f245d3cc939c161482e213890c8213b
-gcr.io/iree-oss/frontends-swiftshader@sha256:da2f11855bedb36b133749d8f0cb7f8caa3ee91cf0dd1f248a8e41157b734241
-gcr.io/iree-oss/gradle-android@sha256:0eff7c2d990b78da29e896538615f536b9f1c93da04d4a194cdaffbf69bce260
-gcr.io/iree-oss/riscv@sha256:2e71c052d11b2526651af16e64816a30d164efcdfe6fb64623fb4737c37c466a
-gcr.io/iree-oss/nvidia@sha256:e7a1daba40815d1e94c901ce7de4bead54e725302ba320eda6745857977528a7
-gcr.io/iree-oss/emscripten@sha256:1bb106b471a446e64a04ea313743174c5b51f1b49d5a41ccff3f70bbda9e7fd0
-gcr.io/iree-oss/android@sha256:3f641d25786b1e5e430ee4cacb8bfe57540fda5ecaa7ca2802c179c26e77ce09
+gcr.io/iree-oss/base@sha256:7dbb7e97e0baa6d4512822b5cd4f601d840a6f950f67c2df497a24cae64a0595
+gcr.io/iree-oss/swiftshader@sha256:c9be5cbc8467499ae71ec80f3af87b72e746e8903cd52c0be9bb5f7261acc521
+gcr.io/iree-oss/samples@sha256:5e64a8f4b3c64e133ceae9028aaa7a843dd58f6b773917d32d25473d4aef3faa
+gcr.io/iree-oss/frontends@sha256:95c23cc732e4f5b0b005816108c65cea7b024f186be9cdd22defdd6e68384298
+gcr.io/iree-oss/frontends-nvidia@sha256:808f57962267eb1752c3200348421a22eca1770c737922ee2b933585d16f014d
+gcr.io/iree-oss/frontends-swiftshader@sha256:e7a5909dd95784ffb69d58ea120f2cd650479e91a83e6f55e1076181c4ca7463
+gcr.io/iree-oss/gradle-android@sha256:b600d09ab54827eca4e268ea8243e5186f51507a5a1308bff82a266bd3b5746a
+gcr.io/iree-oss/riscv@sha256:396546eaa5f144454c7b83c74ad0d6a96170556a9c164c7c97aa793ff83c446e
+gcr.io/iree-oss/nvidia@sha256:f8c6680f435615256c9df7521d41ad49f13bbb34e2dd16a271a620e9dc8637e7
+gcr.io/iree-oss/emscripten@sha256:28c8878131fa8161cb2d1ae22dd99fe30ec3440ddd8299d006bc52b4c5f2dea3
+gcr.io/iree-oss/android@sha256:0acf806428fda9a89c928becf8f3f560131f3906bd9466a633466594d4690430
gcr.io/iree-oss/manylinux2014_x86_64-release@sha256:794513562cca263480c0c169c708eec9ff70abfe279d6dc44e115b04488b9ab5
gcr.io/iree-oss/shark@sha256:ce3bd3abe454d2e481512823e9d2d080322fb2fc1470a12c7306c48140eebdb2
gcr.io/iree-oss/base-bleeding-edge@sha256:3ea6d37221a452058a7f5a5c25b4f8a82625e4b98c9e638ebdf19bb21917e6fd
diff --git a/build_tools/github_actions/runner/gcp/image_setup.sh b/build_tools/github_actions/runner/gcp/image_setup.sh
index 713a656..91494f3 100644
--- a/build_tools/github_actions/runner/gcp/image_setup.sh
+++ b/build_tools/github_actions/runner/gcp/image_setup.sh
@@ -314,8 +314,8 @@
bash -c "${script_dir}/check_cuda.sh && ${script_dir}/check_vulkan.sh"
}
- check_docker gcr.io/iree-oss/nvidia@sha256:e7a1daba40815d1e94c901ce7de4bead54e725302ba320eda6745857977528a7
- check_docker gcr.io/iree-oss/frontends-nvidia@sha256:d2bea95804c5f75dc64446f2839d17af5f245d3cc939c161482e213890c8213b
+ check_docker gcr.io/iree-oss/nvidia@sha256:f8c6680f435615256c9df7521d41ad49f13bbb34e2dd16a271a620e9dc8637e7
+ check_docker gcr.io/iree-oss/frontends-nvidia@sha256:808f57962267eb1752c3200348421a22eca1770c737922ee2b933585d16f014d
# Remove the docker images we've fetched. We might want to pre-fetch Docker
# images into the VM image, but that should be a separate decision.
diff --git a/build_tools/scripts/integrate/README.md b/build_tools/scripts/integrate/README.md
index be32b9a..400d02b 100644
--- a/build_tools/scripts/integrate/README.md
+++ b/build_tools/scripts/integrate/README.md
@@ -246,8 +246,8 @@
An example from a log:
```
-[18:30:23 UTC] docker run --volume=/tmpfs/src/github/iree:/tmpfs/src/github/iree --workdir=/tmpfs/src/github/iree --rm --user=1003:1004 --volume=/tmpfs/fake_etc/group:/etc/group:ro --volume=/tmpfs/fake_etc/passwd:/etc/passwd:ro --volume=/tmpfs/fake_home:/home/kbuilder --volume=/home/kbuilder/.config/gcloud:/home/kbuilder/.config/gcloud:ro gcr.io/iree-oss/frontends-swiftshader@sha256:da2f11855bedb36b133749d8f0cb7f8caa3ee91cf0dd1f248a8e41157b734241 build_tools/kokoro/gcp_ubuntu/bazel/linux/x86-swiftshader/core/build.sh
-Unable to find image 'gcr.io/iree-oss/frontends-swiftshader@sha256:da2f11855bedb36b133749d8f0cb7f8caa3ee91cf0dd1f248a8e41157b734241' locally
+[18:30:23 UTC] docker run --volume=/tmpfs/src/github/iree:/tmpfs/src/github/iree --workdir=/tmpfs/src/github/iree --rm --user=1003:1004 --volume=/tmpfs/fake_etc/group:/etc/group:ro --volume=/tmpfs/fake_etc/passwd:/etc/passwd:ro --volume=/tmpfs/fake_home:/home/kbuilder --volume=/home/kbuilder/.config/gcloud:/home/kbuilder/.config/gcloud:ro gcr.io/iree-oss/frontends-swiftshader@sha256:e7a5909dd95784ffb69d58ea120f2cd650479e91a83e6f55e1076181c4ca7463 build_tools/kokoro/gcp_ubuntu/bazel/linux/x86-swiftshader/core/build.sh
+Unable to find image 'gcr.io/iree-oss/frontends-swiftshader@sha256:e7a5909dd95784ffb69d58ea120f2cd650479e91a83e6f55e1076181c4ca7463' locally
sha256:aeb8de9fb7af3913d385ec6b274320197d61aa7bc51a6e8bc0deba644da3e405: Pulling from iree-oss/frontends-swiftshader
```
@@ -255,7 +255,7 @@
you have the enviroment as same as CI bot and requires less local setup.
```
-docker run --interactive --tty --rm --volume=$PWD:/src/iree --workdir=/src/iree gcr.io/iree-oss/frontends-swiftshader@sha256:da2f11855bedb36b133749d8f0cb7f8caa3ee91cf0dd1f248a8e41157b734241
+docker run --interactive --tty --rm --volume=$PWD:/src/iree --workdir=/src/iree gcr.io/iree-oss/frontends-swiftshader@sha256:e7a5909dd95784ffb69d58ea120f2cd650479e91a83e6f55e1076181c4ca7463
```
To repro failures in `iree/e2e/`: