Skip to content

Commit 741bcd2

Browse files
committed
try 3
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
1 parent b9e5653 commit 741bcd2

1 file changed

Lines changed: 32 additions & 32 deletions

File tree

.github/workflows/generate-lockfile.yml

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -31,63 +31,63 @@ on:
3131
jobs:
3232
generate-lockfile:
3333
runs-on: ubuntu-latest
34+
container:
35+
image: nvcr.io/nvidia/pytorch:25.09-py3
36+
options: --shm-size=2g
3437
steps:
35-
- name: Free up disk space
38+
- name: Aggressive disk cleanup inside container
3639
run: |
37-
# Remove unnecessary packages to free up space
38-
sudo rm -rf /usr/share/dotnet
39-
sudo rm -rf /opt/ghc
40-
sudo rm -rf /usr/local/share/boost
41-
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
42-
sudo apt-get clean
40+
# Clean up unnecessary files from the container
41+
rm -rf /workspace/* || true
42+
rm -rf /tmp/* || true
43+
apt-get clean
44+
rm -rf /var/lib/apt/lists/*
45+
# Remove unnecessary PyTorch extras to save space
46+
pip uninstall -y torchvision torchaudio || true
4347
df -h
44-
48+
4549
- name: Checkout repository
4650
uses: actions/checkout@v4
4751

48-
- name: Set up Python
49-
uses: actions/setup-python@v5
50-
with:
51-
python-version: '3.12'
52-
5352
- name: Install uv
5453
run: |
5554
curl -LsSf https://astral.sh/uv/0.8.22/install.sh | sh
55+
export PATH="$HOME/.local/bin:$PATH"
5656
echo "$HOME/.local/bin" >> $GITHUB_PATH
5757
58-
- name: Install build dependencies
58+
- name: Set environment
5959
run: |
60-
# Install minimal dependencies needed for lockfile generation
61-
# Use regular pip to ensure packages are installed correctly
62-
pip install setuptools wheel packaging ninja pybind11 Cython "numpy<2.0.0"
63-
# Install CPU-only torch (sufficient for lockfile generation - we're only resolving versions, not running CUDA code)
64-
pip install torch --index-url https://download.pytorch.org/whl/cpu
60+
echo "UV_PROJECT_ENVIRONMENT=/opt/venv" >> $GITHUB_ENV
61+
echo "UV_CACHE_DIR=/tmp/uv-cache" >> $GITHUB_ENV
62+
echo "CUDA_HOME=/usr/local/cuda" >> $GITHUB_ENV
63+
echo "PATH=$HOME/.local/bin:/usr/local/cuda/bin:$PATH" >> $GITHUB_PATH
6564
66-
- name: Verify torch installation
65+
- name: Create venv and install minimal build deps
6766
run: |
68-
python3 -c "import torch; print(f'Torch version: {torch.__version__}')"
69-
python3 -c "import sys; print(f'Python path: {sys.path}')"
67+
uv venv /opt/venv --system-site-packages
68+
# Only install what's absolutely necessary
69+
uv pip install --system setuptools wheel packaging ninja pybind11 Cython "numpy<2.0.0"
70+
# Clean cache after install to save space
71+
uv cache clean
7072
71-
- name: Temporarily remove override-dependencies and no-build-isolation packages
73+
- name: Temporarily remove override-dependencies
7274
run: |
73-
# Backup original pyproject.toml
7475
cp pyproject.toml pyproject.toml.backup
75-
# Comment out override-dependencies section
7676
sed -i '/^override-dependencies = \[/,/^\]/s/^/# /' pyproject.toml
77-
# Comment out no-build-isolation-package section (let packages build normally with wheels)
78-
sed -i '/^no-build-isolation-package = \[/,/^\]/s/^/# /' pyproject.toml
79-
echo "Modified pyproject.toml:"
80-
grep -A 5 "override-dependencies" pyproject.toml || echo "override-dependencies removed"
81-
grep -A 10 "no-build-isolation" pyproject.toml || echo "no-build-isolation removed"
8277
8378
- name: Generate lockfile
8479
run: |
85-
# Let uv use pre-built wheels - no need for CUDA compiler
86-
uv lock
80+
# Use system torch from container, no-build-isolation for CUDA packages
81+
uv lock --no-build-isolation
82+
# Clean cache immediately after to free up space
83+
uv cache clean
8784
8885
- name: Restore original pyproject.toml
8986
run: |
9087
mv pyproject.toml.backup pyproject.toml
88+
89+
- name: Show final disk usage
90+
run: df -h
9191

9292
- name: Upload lockfile artifact
9393
uses: actions/upload-artifact@v4

0 commit comments

Comments
 (0)