Skip to content

Commit 3a4f0b5

Browse files
psiddhCopilot
andauthored
Stop installing the withdrawn Android SDK 'tools' package (#22917)
## Problem Any commit touching `.ci/docker` changes the CI image tag — it is literally `git rev-parse HEAD:.ci/docker` (`_docker-image.yml`) — and the resulting rebuild runs `install_android.sh`, which now dies: ``` + /opt/cmdline-tools/bin/sdkmanager --sdk_root=/opt/android/sdk --install tools Warning: Failed to find package 'tools' ``` Google has withdrawn the obsolete `tools` package. The script already skipped it on aarch64, where it disappeared first: ```bash # The 'tools' package (emulator) is not available on aarch64 if [ "$(uname -m)" != "aarch64" ]; then ``` It is now gone for every host, so `sdkmanager` exits non-zero and `set -e` takes the image build down with it. ## Why it matters beyond one PR `_docker-image.yml` notes that nothing waits for `docker-builds`, and that without the images "the pod fails to pull and the job has to be re-run once they land". So a `.ci/docker` change that merges while its image build is red leaves main pointing at tags that were never published, and the jobs using those images fail to start. Today that is `executorch-ubuntu-22.04-clang12-android` and `executorch-ubuntu-22.04-mediatek-sdk`. ## Fix Drop the `tools` install. Its replacements, `cmdline-tools` and `platform-tools`, are installed directly above. The old comment described it as "tools for future emulator tests", but the emulator ships as its own package and nothing in CI installs or runs one, so this loses no capability. ## How this came up Found while trying to land the PyTorch pin bump in #22793. That PR edits `.ci/docker/ci_commit_pins/pytorch.txt`, so it forces an image rebuild and is the first change in a while to actually execute this line — its `docker-build` jobs fail here, not on anything to do with the pin. Split out because the two are unrelated and this unblocks every future `.ci/docker` change. **Sequencing:** this needs to land before #22793, which then wants a rebase to pick it up. Carries `ciflow/docker` so the images are actually built and this validates itself. cc @digantdesai @jakeszwe --- Authored with Claude Code. --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
1 parent 5fe06e0 commit 3a4f0b5

1 file changed

Lines changed: 3 additions & 4 deletions

File tree

‎.ci/docker/common/install_android.sh‎

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,9 @@ install_sdk() {
7979
yes | /opt/cmdline-tools/bin/sdkmanager --sdk_root="${SDK_INSTALLATION_DIR}" --install "build-tools;35.0.0"
8080
# And some more tools for future emulator tests
8181
yes | /opt/cmdline-tools/bin/sdkmanager --sdk_root="${SDK_INSTALLATION_DIR}" --install "platform-tools"
82-
# The 'tools' package (emulator) is not available on aarch64
83-
if [ "$(uname -m)" != "aarch64" ]; then
84-
yes | /opt/cmdline-tools/bin/sdkmanager --sdk_root="${SDK_INSTALLATION_DIR}" --install "tools"
85-
fi
82+
# Google withdrew the 'tools' package, so installing it fails under set -e.
83+
# cmdline-tools and platform-tools above replace it, and this image neither
84+
# installs nor runs an emulator.
8685
}
8786

8887
install_prerequiresites

0 commit comments

Comments
 (0)