From 8996b9045efe90672351ddc1043089210d8eec06 Mon Sep 17 00:00:00 2001 From: Luis Pineda <4759586+luisenp@users.noreply.github.com> Date: Fri, 8 Nov 2024 21:33:25 +0000 Subject: [PATCH] Add test for install from wheel. --- .github/workflows/test_wheel.yml | 66 ++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 .github/workflows/test_wheel.yml diff --git a/.github/workflows/test_wheel.yml b/.github/workflows/test_wheel.yml new file mode 100644 index 00000000..749a9bd3 --- /dev/null +++ b/.github/workflows/test_wheel.yml @@ -0,0 +1,66 @@ +name: test-wheel +on: + pull_request: + branches: + - main + +jobs: + test_wheel: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: [3.10.15] + steps: + - uses: actions/checkout@v4.1.3 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5.2.0 + with: + python-version: ${{ matrix.python-version }} + - uses: actions/checkout@v4.1.3 + - name: Install suitesparse + run: | + sudo apt-get update && sudo apt-get install -y libsuitesparse-dev + - name: Create Conda env + run: | + wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh + /bin/bash ~/miniconda.sh -b -p ~/conda + export PATH=~/conda/bin:$PATH + conda create --name theseus python=${{ matrix.python-version }} + source activate theseus + pip install --progress-bar off --upgrade pip + pip install --progress-bar off --upgrade setuptools + - name: Install CUDA 11 + run: | + # download and install nvidia drivers, cuda, etc + wget --quiet --no-clobber -P ~/nvidia-downloads https://developer.download.nvidia.com/compute/cuda/11.7.1/local_installers/cuda_11.7.1_515.65.01_linux.run + time sudo /bin/bash ~/nvidia-downloads/cuda_11.7.1_515.65.01_linux.run --no-drm --silent --driver --toolkit + sudo ldconfig /usr/local/cuda/lib64 + echo "Done installing NVIDIA drivers and CUDA libraries." + nvidia-smi + - name: Install Torch CUDA 11 + run: | + export PATH=~/conda/bin:$PATH + source activate theseus + which python && which pip + pip install --progress-bar off torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu118 + python -c 'import torch; print("Torch version:", torch.__version__); assert torch.cuda.is_available()' + - name: Build CUDA wheel + run: | + echo $(pwd) + echo $(ls) + export PATH=~/conda/bin:$PATH + source activate theseus + which python && which pip + THESEUS_GIT_COMMIT=$(git --git-dir project/.git log --format="%H" -n 1) + THESEUS_VERSION=$(grep -Eo "[0-9].[0-9].[0-9][.0-9a-z]*" project/theseus/_version.py | tail -n 1) + ./build_scripts/build_wheel.sh . ${THESEUS_GIT_COMMIT} 11.8 ${THESEUS_VERSION} + pip install $(ls */*.whl) + pip install -r ./requirements/dev.txt + - name: Install theseus from wheel and run tests + run: | + mv theseus theseus_tmp + export PATH=~/conda/bin:$PATH + source activate theseus + which python && which pip + python -m pytest tests/theseus_tests/test_theseus_layer.py + pytest -s tests/theseus_tests/ -m "cudaext"