From 63c761e7c353df397b3a8b0f5891fd88b361899a Mon Sep 17 00:00:00 2001 From: Siddartha Pothapragada Date: Tue, 29 Sep 2026 14:36:32 -0700 Subject: [PATCH 1/3] Arm backend: Use a writable HF cache in test-arm-backend-no-driver The mt-l-x86iavx512-8-64 OSDC runner mounts HF_HOME read-only at /mnt/hf_cache, so the prequantized NSS/NFRU tests added in #23236 and #23237 fail with EROFS when hf_hub_download fetches checkpoints that are not already cached. Redirect HF_HOME to a writable dir, matching cuda-perf.yml and cuda-windows.yml. Authored with Claude Code. --- .github/workflows/pull.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/pull.yml b/.github/workflows/pull.yml index c4e6c7fb9e7..03b6201de0c 100644 --- a/.github/workflows/pull.yml +++ b/.github/workflows/pull.yml @@ -866,6 +866,12 @@ jobs: CONDA_ENV=$(conda env list --json | jq -r ".envs | .[-1]") conda activate "${CONDA_ENV}" + # OSDC mounts HF_HOME read-only at /mnt/hf_cache; redirect to a writable dir + # (RUNNER_TEMP, or /tmp when RUNNER_TEMP isn't writable inside the container). + export HF_HOME="${RUNNER_TEMP:-/tmp}/hf_cache" + mkdir -p "${HF_HOME}" 2>/dev/null || export HF_HOME=/tmp/hf_cache + mkdir -p "${HF_HOME}" + source .ci/scripts/utils.sh install_executorch "--use-pt-pinned-commit" From 65c6a3919c3df8ad7eb4ac03d252c73171c0ee49 Mon Sep 17 00:00:00 2001 From: Siddartha Pothapragada Date: Tue, 29 Sep 2026 15:37:33 -0700 Subject: [PATCH 2/3] Arm backend: Use a writable HF cache in trunk test-arm-backend-vkml The trunk vkml job also runs on an OSDC runner, and test_pytest_models_vkml picks up the prequantized NSS/NFRU VGF tests, so it hits the same EROFS on /mnt/hf_cache. Authored with Claude Code. --- .github/workflows/trunk.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/trunk.yml b/.github/workflows/trunk.yml index 3789d2ce23c..862ba51c58f 100644 --- a/.github/workflows/trunk.yml +++ b/.github/workflows/trunk.yml @@ -341,6 +341,13 @@ jobs: # The generic Linux job chooses to use base env, not the one setup by the image CONDA_ENV=$(conda env list --json | jq -r ".envs | .[-1]") conda activate "${CONDA_ENV}" + + # OSDC mounts HF_HOME read-only at /mnt/hf_cache; redirect to a writable dir + # (RUNNER_TEMP, or /tmp when RUNNER_TEMP isn't writable inside the container). + export HF_HOME="${RUNNER_TEMP:-/tmp}/hf_cache" + mkdir -p "${HF_HOME}" 2>/dev/null || export HF_HOME=/tmp/hf_cache + mkdir -p "${HF_HOME}" + source .ci/scripts/utils.sh install_executorch "--use-pt-pinned-commit" From 64be6c18201071fa8383e71f2a669571774f019e Mon Sep 17 00:00:00 2001 From: Siddartha Pothapragada Date: Tue, 29 Sep 2026 17:25:57 -0700 Subject: [PATCH 3/3] Revert the HF_HOME redirects in the Arm jobs linux_job_v3 already sets a writable HF_HOME and points HF_HUB_CACHE at the read-only /mnt/hf_cache/hub, which hf_hub_download prefers, so the redirect had no effect. Missing checkpoints are seeded via the ci-refresh-hf-cache label. Authored with Claude Code. --- .github/workflows/pull.yml | 6 ------ .github/workflows/trunk.yml | 7 ------- 2 files changed, 13 deletions(-) diff --git a/.github/workflows/pull.yml b/.github/workflows/pull.yml index 03b6201de0c..c4e6c7fb9e7 100644 --- a/.github/workflows/pull.yml +++ b/.github/workflows/pull.yml @@ -866,12 +866,6 @@ jobs: CONDA_ENV=$(conda env list --json | jq -r ".envs | .[-1]") conda activate "${CONDA_ENV}" - # OSDC mounts HF_HOME read-only at /mnt/hf_cache; redirect to a writable dir - # (RUNNER_TEMP, or /tmp when RUNNER_TEMP isn't writable inside the container). - export HF_HOME="${RUNNER_TEMP:-/tmp}/hf_cache" - mkdir -p "${HF_HOME}" 2>/dev/null || export HF_HOME=/tmp/hf_cache - mkdir -p "${HF_HOME}" - source .ci/scripts/utils.sh install_executorch "--use-pt-pinned-commit" diff --git a/.github/workflows/trunk.yml b/.github/workflows/trunk.yml index 862ba51c58f..3789d2ce23c 100644 --- a/.github/workflows/trunk.yml +++ b/.github/workflows/trunk.yml @@ -341,13 +341,6 @@ jobs: # The generic Linux job chooses to use base env, not the one setup by the image CONDA_ENV=$(conda env list --json | jq -r ".envs | .[-1]") conda activate "${CONDA_ENV}" - - # OSDC mounts HF_HOME read-only at /mnt/hf_cache; redirect to a writable dir - # (RUNNER_TEMP, or /tmp when RUNNER_TEMP isn't writable inside the container). - export HF_HOME="${RUNNER_TEMP:-/tmp}/hf_cache" - mkdir -p "${HF_HOME}" 2>/dev/null || export HF_HOME=/tmp/hf_cache - mkdir -p "${HF_HOME}" - source .ci/scripts/utils.sh install_executorch "--use-pt-pinned-commit"