name: Python tests on: push: branches: [ main ] pull_request: branches: [ main ] env: OMP_NUM_THREADS: 2 MKL_NUM_THREADS: 2 jobs: test: name: Run tests on ${{ matrix.os }} with Python ${{ matrix.python }} strategy: matrix: os: [ubuntu-latest] python: ['3.10'] torch: ['1.13.0'] torchvision: ['0.14.0'] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python }} uses: actions/setup-python@v1 with: python-version: ${{ matrix.python }} - name: Install testing dependencies run: | python -m pip install --upgrade pip pip install pytest pytest-timeout pytest-xdist pytest-forked expecttest - name: Install torch on mac if: startsWith(matrix.os, 'macOS') run: pip install --no-cache-dir torch==${{ matrix.torch }} torchvision==${{ matrix.torchvision }} - name: Install torch on Windows if: startsWith(matrix.os, 'windows') run: pip install --no-cache-dir torch==${{ matrix.torch }} torchvision==${{ matrix.torchvision }} - name: Install torch on ubuntu if: startsWith(matrix.os, 'ubuntu') run: | pip install --no-cache-dir torch==${{ matrix.torch }}+cpu torchvision==${{ matrix.torchvision }}+cpu -f https://download.pytorch.org/whl/torch_stable.html sudo apt update sudo apt install -y google-perftools - name: Install requirements run: | pip install -r requirements.txt pip install --no-cache-dir git+https://github.com/mapillary/inplace_abn.git - name: Run tests on Windows if: startsWith(matrix.os, 'windows') env: PYTHONDONTWRITEBYTECODE: 1 run: | pytest -vv tests - name: Run tests on Linux / Mac if: ${{ !startsWith(matrix.os, 'windows') }} env: LD_PRELOAD: /usr/lib/x86_64-linux-gnu/libtcmalloc.so.4 PYTHONDONTWRITEBYTECODE: 1 run: | pytest -vv --forked --durations=0 tests