diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 68aa8fee6..206820586 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -68,6 +68,8 @@ jobs: PYTORCH_VERSION=${{ matrix.pytorch }} AXOLOTL_ARGS=${{ matrix.axolotl_args }} AXOLOTL_EXTRAS=${{ matrix.axolotl_extras}} + GIT_REF=${{ github.ref }} + GIT_SHA=${{ github.sha }} file: ./docker/Dockerfile push: ${{ github.event_name != 'pull_request' }} tags: | @@ -205,6 +207,8 @@ jobs: build-args: | BASE_TAG=${{ github.ref_type == 'tag' && 'main' || github.ref_name }}-py${{ matrix.python_version }}-cu${{ matrix.cuda }}-${{ matrix.pytorch }}${{ matrix.axolotl_extras != '' && '-' || '' }}${{ matrix.axolotl_extras }} CUDA=${{ matrix.cuda }} + GIT_REF=${{ github.ref }} + GIT_SHA=${{ github.sha }} file: ./docker/Dockerfile-cloud-no-tmux push: ${{ github.event_name != 'pull_request' }} tags: | diff --git a/scripts/unsloth_install.py b/scripts/unsloth_install.py index 5bc3e0fd3..717d0cbe2 100644 --- a/scripts/unsloth_install.py +++ b/scripts/unsloth_install.py @@ -1,23 +1,27 @@ -"""Print the uv commands required to install Unsloth without altering Torch.""" +"""Emit the uv commands needed to install Unsloth without touching torch.""" + +from __future__ import annotations try: import torch -except ImportError as error: - raise ImportError("Install torch via `pip install torch`") from error +except ImportError as exc: # pragma: no cover + raise ImportError("Install torch via `pip install torch`") from exc from packaging.version import Version as V -TORCH_MIN = V("2.6.0") -UNSLOTH_BASE = ( - "uv pip install --system --no-deps unsloth-zoo==2025.9.12" - ' && uv pip install --system --no-deps "unsloth[huggingface]==2025.9.9"' -) +torch_version = V(torch.__version__.split("+")[0]) -version = V(torch.__version__) -if version < TORCH_MIN: +# Unsloth supports torch >= 2.6.0 via the 2025.9 builds. +MIN_TORCH = V("2.6.0") + +if torch_version < MIN_TORCH: raise RuntimeError( - f"Torch {version} detected, but Unsloth requires >= {TORCH_MIN}. " - "Upgrade your torch install and re-run this helper." + f"Torch {torch.__version__} detected, but Unsloth requires >= {MIN_TORCH}." ) -print(UNSLOTH_BASE) +commands = ( + "uv pip install --system --no-deps unsloth-zoo==2025.9.12 && " + 'uv pip install --system --no-deps "unsloth[huggingface]==2025.9.9"' +) + +print(commands)