diff --git a/.github/workflows/build_cuda11_wheels.yml b/.github/workflows/build_cuda11_wheels.yml index 42159827..a15bf62b 100644 --- a/.github/workflows/build_cuda11_wheels.yml +++ b/.github/workflows/build_cuda11_wheels.yml @@ -10,7 +10,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-20.04] + os: [ubuntu-20.04, windows-latest] cibw_archs: ["auto64"] cibw_build: ["cp38-*", "cp39-*", "cp310-*", "cp311-*"] @@ -28,6 +28,19 @@ jobs: with: python-version: '3.9' + - uses: crazy-max/ghaction-chocolatey@v3 + name: Choco help + with: + args: -h + + - name: Install CUDA + if: runner.os == 'Windows' + run: | + choco install cuda + refreshenv + nvcc --version + + - name: Install cibuildwheel run: | python -m pip install cibuildwheel==2.16.2 delvewheel wheel @@ -46,9 +59,13 @@ jobs: bash ci-utils/install_prereq_linux.sh --build_arrow no && mkdir -p /tmp/nyxus_bld && cp -r local_install /tmp/nyxus_bld + CIBW_BEFORE_ALL_WINDOWS: ci-utils\install_prereq_win.bat && + xcopy /E /I /y local_install C:\TEMP\nyxus_bld\local_install CIBW_ENVIRONMENT_LINUX: LD_LIBRARY_PATH="/tmp/nyxus_bld/local_install/lib:/tmp/nyxus_bld/local_install/lib64:/usr/local/cuda/targets/x86_64-linux/lib:$LD_LIBRARY_PATH" CPATH="/usr/local/cuda/targets/x86_64-linux/include:$CPATH" PATH="/usr/local/cuda/bin:$PATH" ON_GITHUB="TRUE" NYXUS_DEP_DIR="/tmp/nyxus_bld/local_install" CXXFLAGS="-I /usr/local/cuda/include" CMAKE_ARGS="-DUSEGPU=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc -DCMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES=/usr/local/cuda/include" NYXUS_GPU_WHEEL="ON" + CIBW_ENVIRONMENT_WINDOWS: PATH="$TEMP\\nyxus\\bin;$PATH" ON_GITHUB="TRUE" NYXUS_DEP_DIR="C:\\TEMP\\nyxus_bld\\local_install" NYXUS_GPU_WHEEL="ON" CIBW_REPAIR_WHEEL_COMMAND_LINUX: "auditwheel repair --exclude=libcufft.so --exclude=libcufft.so.10 --exclude=libcufft.so.10.4.2.109 --exclude=libcudart.so --exclude=libcudart.so.11.0 --exclude=libcudart.so.11.3.109 -w {dest_dir} {wheel}" CIBW_ARCHS: ${{ matrix.cibw_archs }} + CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: "delvewheel repair -w {dest_dir} {wheel}" CIBW_TEST_REQUIRES: numpy pandas pyarrow pytest bfio CIBW_TEST_COMMAND: pytest -vv {project}/tests/python -m "not skip_ci"