diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 587fffa058..9705c44642 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,8 +33,12 @@ jobs: PIP_NO_CACHE_DIR: 1 run: | sudo apt-get update && sudo apt-get install -y build-essential cmake - python -m pip install -U pip pytest - pip install -e . --no-cache-dir + python -m pip install -U pip "setuptools<81" wheel numpy pytest + # CPU-only torch: the CUDA stack no longer fits the runner's disk + # quota. --no-build-isolation then reuses it for the build instead + # of resolving a second copy. See tests/smoke_tests/Dockerfile. + pip install --index-url https://download.pytorch.org/whl/cpu torch + pip install -e . --no-build-isolation --no-cache-dir python setup.py build_ext --inplace --force - name: Unit tests @@ -70,8 +74,12 @@ jobs: PIP_NO_CACHE_DIR: 1 run: | sudo apt-get update && sudo apt-get install -y build-essential cmake xvfb libgl1-mesa-dev libegl1-mesa-dev libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxxf86vm-dev - python -m pip install -U pip - pip install -e . --no-cache-dir + python -m pip install -U pip "setuptools<81" wheel numpy + # CPU-only torch: the CUDA stack no longer fits the runner's disk + # quota. --no-build-isolation then reuses it for the build instead + # of resolving a second copy. See tests/smoke_tests/Dockerfile. + pip install --index-url https://download.pytorch.org/whl/cpu torch + pip install -e . --no-build-isolation --no-cache-dir python setup.py build_ext --inplace --force - name: C drive tests @@ -103,8 +111,12 @@ jobs: PIP_NO_CACHE_DIR: 1 run: | sudo apt-get update && sudo apt-get install -y build-essential cmake - python -m pip install -U pip pytest jupytext nbclient ipykernel - pip install -e . --no-cache-dir + python -m pip install -U pip "setuptools<81" wheel numpy pytest jupytext nbclient ipykernel + # CPU-only torch: the CUDA stack no longer fits the runner's disk + # quota. --no-build-isolation then reuses it for the build instead + # of resolving a second copy. See tests/smoke_tests/Dockerfile. + pip install --index-url https://download.pytorch.org/whl/cpu torch + pip install -e . --no-build-isolation --no-cache-dir python setup.py build_ext --inplace --force - name: Run notebooks @@ -151,8 +163,12 @@ jobs: PIP_NO_CACHE_DIR: 1 run: | sudo apt-get update && sudo apt-get install -y build-essential cmake libgl1-mesa-dev libegl1-mesa-dev libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxxf86vm-dev - python -m pip install -U pip - pip install -e . --no-cache-dir + python -m pip install -U pip "setuptools<81" wheel numpy + # CPU-only torch: the CUDA stack no longer fits the runner's disk + # quota. --no-build-isolation then reuses it for the build instead + # of resolving a second copy. See tests/smoke_tests/Dockerfile. + pip install --index-url https://download.pytorch.org/whl/cpu torch + pip install -e . --no-build-isolation --no-cache-dir python setup.py build_ext --inplace --force - name: Test simulator performance diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 7b5a5c4703..25bde9f831 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -38,7 +38,19 @@ jobs: sudo apt-get clean sudo rm -rf ~/.cache/pip /tmp/* /var/tmp/* - - name: Install pufferlib + - name: Install pufferlib (Linux) + if: runner.os == 'Linux' + run: | + python -m pip install -U pip "setuptools<81" wheel numpy + # CPU-only torch. The CUDA stack is ~3 GB of wheels and no longer + # fits the runner's disk quota; see the Install steps in ci.yml. + pip install --index-url https://download.pytorch.org/whl/cpu torch + pip install -e . --no-build-isolation + + - name: Install pufferlib (macOS) + if: runner.os != 'Linux' run: | python -m pip install -U pip + # Deliberately a plain install: macOS wheels are already CPU-only, so + # this keeps the default PEP 517 build-isolation path under test. pip install -e .