From 80cd157bb046c21522267f7f30ebf25bd37eb1a3 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 13 Apr 2026 23:40:46 +0000 Subject: [PATCH 1/2] Initial plan From 481624665a6ef19098b19b2b9bb539a33ee9235c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 13 Apr 2026 23:43:10 +0000 Subject: [PATCH 2/2] Switch CI Docker image from Miniconda to Miniforge to avoid Anaconda rate limits Replace Miniconda (which uses Anaconda's rate-limited default package repository) with Miniforge (which uses conda-forge). This resolves CI Docker image build failures caused by Anaconda ToS rate limits. This PR was authored with Claude. Agent-Logs-Url: https://github.com/pytorch/executorch/sessions/888dd7ec-0404-4883-b99c-d6b54cb95a05 Co-authored-by: kirklandsign <107070759+kirklandsign@users.noreply.github.com> --- .ci/docker/build.sh | 4 ++-- .ci/docker/common/install_conda.sh | 12 ++++++------ .ci/docker/ubuntu/Dockerfile | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.ci/docker/build.sh b/.ci/docker/build.sh index 08cab0587e4..d6d3b34b272 100755 --- a/.ci/docker/build.sh +++ b/.ci/docker/build.sh @@ -19,7 +19,7 @@ OS_VERSION=22.04 CLANG_VERSION="" GCC_VERSION="" PYTHON_VERSION=3.10 -MINICONDA_VERSION=23.10.0-1 +MINIFORGE_VERSION=24.11.3-0 BUCK2_VERSION=$(cat ci_commit_pins/buck2.txt) case "${IMAGE_NAME}" in @@ -106,7 +106,7 @@ docker build \ --build-arg "CLANG_VERSION=${CLANG_VERSION}" \ --build-arg "GCC_VERSION=${GCC_VERSION}" \ --build-arg "PYTHON_VERSION=${PYTHON_VERSION}" \ - --build-arg "MINICONDA_VERSION=${MINICONDA_VERSION}" \ + --build-arg "MINIFORGE_VERSION=${MINIFORGE_VERSION}" \ --build-arg "TORCH_VERSION=${TORCH_VERSION}" \ --build-arg "BUCK2_VERSION=${BUCK2_VERSION}" \ --build-arg "LINTRUNNER=${LINTRUNNER:-}" \ diff --git a/.ci/docker/common/install_conda.sh b/.ci/docker/common/install_conda.sh index 8c1c7da63d4..de00a3d50dc 100755 --- a/.ci/docker/common/install_conda.sh +++ b/.ci/docker/common/install_conda.sh @@ -10,11 +10,11 @@ set -ex # shellcheck source=/dev/null source "$(dirname "${BASH_SOURCE[0]}")/utils.sh" -install_miniconda() { - BASE_URL="https://repo.anaconda.com/miniconda" - CONDA_FILE="Miniconda3-py${PYTHON_VERSION//./}_${MINICONDA_VERSION}-Linux-x86_64.sh" +install_miniforge() { + BASE_URL="https://github.com/conda-forge/miniforge/releases/download/${MINIFORGE_VERSION}" + CONDA_FILE="Miniforge3-${MINIFORGE_VERSION}-Linux-x86_64.sh" if [[ $(uname -m) == "aarch64" ]]; then - CONDA_FILE="Miniconda3-py${PYTHON_VERSION//./}_${MINICONDA_VERSION}-Linux-aarch64.sh" + CONDA_FILE="Miniforge3-${MINIFORGE_VERSION}-Linux-aarch64.sh" fi mkdir -p /opt/conda @@ -22,7 +22,7 @@ install_miniconda() { pushd /tmp wget -q "${BASE_URL}/${CONDA_FILE}" - # Install miniconda + # Install miniforge as_ci_user bash "${CONDA_FILE}" -b -f -p "/opt/conda" # Clean up the download file rm "${CONDA_FILE}" @@ -68,7 +68,7 @@ fix_conda_ubuntu_libstdcxx() { fi } -install_miniconda +install_miniforge install_python install_pip_dependencies # Hack breaks the job on aarch64 but is still necessary everywhere diff --git a/.ci/docker/ubuntu/Dockerfile b/.ci/docker/ubuntu/Dockerfile index 0e2d7e48eb9..76297a45a25 100644 --- a/.ci/docker/ubuntu/Dockerfile +++ b/.ci/docker/ubuntu/Dockerfile @@ -44,7 +44,7 @@ COPY ./common/install_docs_reqs.sh install_docs_reqs.sh RUN bash ./install_docs_reqs.sh && rm install_docs_reqs.sh # Install conda and other dependencies -ARG MINICONDA_VERSION +ARG MINIFORGE_VERSION ARG PYTHON_VERSION ENV PYTHON_VERSION=$PYTHON_VERSION ENV PATH /opt/conda/envs/py_$PYTHON_VERSION/bin:/opt/conda/bin:$PATH