Use setup-emsdk instead of emscripten dockerfile in samples.yml. (#18422)

Also delete the now unused `emscripten.Dockerfile` (it's technically
still referenced in a commented out `cross_compile_and_test` build, but
that can be added back as needed using this same technique).

Progress on https://github.com/iree-org/iree/issues/15332 - one less
Dockerfile to maintain.

Tested here:
https://github.com/ScottTodd/iree/actions/runs/10691087132/job/29636852886
(this samples.yml workflow runs on a nightly schedule).

skip-ci: no impact on other workflows
diff --git a/.github/workflows/samples.yml b/.github/workflows/samples.yml
index 0937dfb..2a92561 100644
--- a/.github/workflows/samples.yml
+++ b/.github/workflows/samples.yml
@@ -61,7 +61,6 @@
 
   web:
     runs-on: ubuntu-20.04
-    container: gcr.io/iree-oss/emscripten@sha256:2dd4c52f1bb499ab365aad0111fe5538b685d88af38636b409b0cf6a576ab214
     env:
       VENV_DIR: ${{ github.workspace }}/.venv
     defaults:
@@ -74,6 +73,12 @@
         run: git config --global --add safe.directory '*'
       - name: "Check out runtime submodules"
         run: ./build_tools/scripts/git/update_runtime_submodules.sh
+      - name: "Installing build dependencies"
+        run: |
+          sudo apt update
+          sudo apt install -y ninja-build
+          echo "CC=clang" >> $GITHUB_ENV
+          echo "CXX=clang++" >> $GITHUB_ENV
       - uses: actions/setup-python@v5.1.0
         with:
           python-version: "3.11"
@@ -86,6 +91,10 @@
             --upgrade \
             iree-compiler \
             iree-runtime
+      - name: "Setup emsdk"
+        uses: mymindstorm/setup-emsdk@v14
+        with:
+          version: 3.1.44
       - name: "Test experimental web samples"
         env:
           HOST_TOOLS_BINARY_DIR: ${{ env.VENV_DIR }}/bin
diff --git a/build_tools/docker/dockerfiles/emscripten.Dockerfile b/build_tools/docker/dockerfiles/emscripten.Dockerfile
deleted file mode 100644
index df17a74..0000000
--- a/build_tools/docker/dockerfiles/emscripten.Dockerfile
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2021 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 through Emscripten.
-
-FROM gcr.io/iree-oss/base@sha256:dc314b4fe30fc1315742512891357bffed4d1b62ffcb46258b1e0761c737b446
-
-# See also
-#   * https://github.com/emscripten-core/emsdk/blob/main/docker/Dockerfile
-#   * https://hub.docker.com/r/emscripten/emsdk
-
-ARG EMSDK_COMMIT=a896e3d066448b3530dbcaa48869fafefd738f57
-ARG SDK_VERSION=3.1.44
-
-WORKDIR /
-
-# Follow https://emscripten.org/docs/getting_started/downloads.html.
-RUN git clone https://github.com/emscripten-core/emsdk \
-    && cd emsdk && git checkout "${EMSDK_COMMIT}" && \
-    ./emsdk install ${SDK_VERSION} && \
-    ./emsdk activate ${SDK_VERSION}
-
-# Set some environment variables for Emscripten to use.
-ENV EMSDK=/emsdk
-ENV EM_DATA=${EMSDK}/.data
-ENV EM_CONFIG=${EMSDK}/.emscripten
-ENV EM_CACHE=${EM_DATA}/cache
-ENV EM_PORTS=${EM_DATA}/ports
-# Emscripten writes into its cache location (outside of the CMake build
-# directory).
-# We can either
-#   (A) Grant broad write permissions to the cache directory to be able to run
-#       our scripts under different users.
-#   (B) Mount a user home directory when using the image.
-# 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}"
-
-# 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="${EMSDK}:${EMSDK}/upstream/emscripten:$PATH"
diff --git a/build_tools/docker/manage_images.py b/build_tools/docker/manage_images.py
index 14b3508..e7bb1c4 100755
--- a/build_tools/docker/manage_images.py
+++ b/build_tools/docker/manage_images.py
@@ -45,7 +45,6 @@
 IMAGES_TO_DEPENDENCIES = {
     "base": [],
     "base-arm64": [],
-    "emscripten": ["base"],
     "riscv-toolchain-builder": [],
     # Containers with all the newest versions of dependencies that we support
     # instead of the oldest.
diff --git a/build_tools/docker/prod_digests.txt b/build_tools/docker/prod_digests.txt
index 7fb190a..59ad32c 100644
--- a/build_tools/docker/prod_digests.txt
+++ b/build_tools/docker/prod_digests.txt
@@ -1,5 +1,4 @@
 gcr.io/iree-oss/base@sha256:dc314b4fe30fc1315742512891357bffed4d1b62ffcb46258b1e0761c737b446
-gcr.io/iree-oss/emscripten@sha256:2dd4c52f1bb499ab365aad0111fe5538b685d88af38636b409b0cf6a576ab214
 gcr.io/iree-oss/base-bleeding-edge@sha256:cf2e78194e64fd0166f4141317366261d7a62432b72e9a324cb8c2ff4e1a515a
 gcr.io/iree-oss/base-arm64@sha256:9daa1cdbbf12da8527319ece76a64d06219e04ecb99a4cff6e6364235ddf6c59
 gcr.io/iree-oss/riscv-toolchain-builder@sha256:4240a374d35e5ea9037051559aaae4a8b6414ad5872501d4e240baccaacfff11