diff --git a/.github/workflows/slow-tests.yml b/.github/workflows/slow-tests.yml index c00434db76..4a704e61a1 100644 --- a/.github/workflows/slow-tests.yml +++ b/.github/workflows/slow-tests.yml @@ -30,6 +30,10 @@ jobs: df -h / - name: Add swap for fp32 CPU model boots run: | + # The runner image can ship /swapfile already active; fallocate on + # live swap fails with "Text file busy", so release it first. + sudo swapoff /swapfile 2>/dev/null || true + sudo rm -f /swapfile sudo fallocate -l 8G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile diff --git a/tests/integration/model_bridge/test_ssm_real_weights.py b/tests/integration/model_bridge/test_ssm_real_weights.py index f6c4710ab5..82a482b7c1 100644 --- a/tests/integration/model_bridge/test_ssm_real_weights.py +++ b/tests/integration/model_bridge/test_ssm_real_weights.py @@ -34,13 +34,15 @@ class _Case: default: str # canonical HF id, or "" for env-only (no small official checkpoint) -# Ordered by how likely the checkpoint is small enough to actually run in CI. +# Families with no CI-sized official checkpoint are env-only ("" default): an +# fp32 CPU boot of granite-4.0-tiny-preview (~7B) alone peaks over 40 GB RSS, +# which OOM-kills the 16 GB + 8 GB-swap nightly runner mid-file. CASES = [ _Case("mamba1", "TL_MAMBA1_MODEL", "state-spaces/mamba-130m-hf"), _Case("mamba2", "TL_MAMBA2_MODEL", "AntonV/mamba2-130m-hf"), - _Case("granite", "TL_GRANITE_MODEL", "ibm-granite/granite-4.0-tiny-preview"), - _Case("nemotron_h", "TL_NEMOTRON_H_MODEL", "nvidia/NVIDIA-Nemotron-Nano-9B-v2"), - _Case("qwen3_next", "TL_QWEN3_NEXT_MODEL", "Qwen/Qwen3-Next-80B-A3B-Instruct"), + _Case("granite", "TL_GRANITE_MODEL", ""), + _Case("nemotron_h", "TL_NEMOTRON_H_MODEL", ""), + _Case("qwen3_next", "TL_QWEN3_NEXT_MODEL", ""), _Case("qwen3_5", "TL_QWEN3_5_MODEL", ""), ]