Skip to content

Add GitHub Actions

Add GitHub Actions #4

Workflow file for this run

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"