name: Building Conda on: [workflow_dispatch] jobs: conda-build: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-18.04, macos-10.15, windows-2019] python-version: ['3.7', '3.8', '3.9', '3.10'] torch-version: [1.13.0] # [1.12.0, 1.13.0] cuda-version: ['cpu', 'cu102', 'cu113', 'cu116', 'cu117'] exclude: - torch-version: 1.12.0 cuda-version: 'cu117' - torch-version: 1.13.0 cuda-version: 'cu102' - torch-version: 1.13.0 cuda-version: 'cu113' - os: macos-10.15 cuda-version: 'cu102' - os: macos-10.15 cuda-version: 'cu113' - os: macos-10.15 cuda-version: 'cu116' - os: macos-10.15 cuda-version: 'cu117' - os: windows-2019 cuda-version: 'cu102' - os: windows-2019 # Complains about CUDA mismatch. python-version: '3.7' steps: - uses: actions/checkout@v2 - name: Set up Conda for Python ${{ matrix.python-version }} uses: conda-incubator/setup-miniconda@v2 with: python-version: ${{ matrix.python-version }} - name: Free up disk space if: ${{ runner.os == 'Linux' }} run: | sudo rm -rf /usr/share/dotnet - name: Install Conda packages run: | conda install conda-build conda-verify --yes shell: bash -l {0} - name: Install CUDA ${{ matrix.cuda-version }} if: ${{ matrix.cuda-version != 'cpu' }} run: | bash .github/workflows/cuda/${{ matrix.cuda-version }}-${{ runner.os }}.sh shell: bash - name: Build Conda package for CPU if: ${{ matrix.cuda-version == 'cpu' }} run: | FORCE_CUDA=0 TORCH_CUDA_ARCH_LIST=0 ./conda/pytorch-spline-conv/build_conda.sh ${{ matrix.python-version }} ${{ matrix.torch-version }} ${{ matrix.cuda-version }} shell: bash -l {0} - name: Build Conda package for GPU if: ${{ matrix.cuda-version != 'cpu' }} run: | source .github/workflows/cuda/${{ matrix.cuda-version }}-${{ runner.os }}-env.sh ./conda/pytorch-spline-conv/build_conda.sh ${{ matrix.python-version }} ${{ matrix.torch-version }} ${{ matrix.cuda-version }} shell: bash -l {0} - name: Publish Conda package on organization channel run: | conda install anaconda-client --yes anaconda upload --force --label main $HOME/conda-bld/*/*.tar.bz2 env: ANACONDA_API_TOKEN: ${{ secrets.PYG_ANACONDA_TOKEN }} shell: bash -l {0} - name: Publish Conda package on personal channel run: | conda install anaconda-client --yes anaconda upload --force --label main $HOME/conda-bld/*/*.tar.bz2 env: ANACONDA_API_TOKEN: ${{ secrets.RUSTY1S_ANACONDA_TOKEN }} shell: bash -l {0}