name: Unit-tests on Linux CPU on: pull_request: push: branches: - nightly - main - release/* workflow_dispatch: env: CHANNEL: "nightly" jobs: tests: strategy: matrix: py_vers: ["3.7", "3.8", "3.9", "3.10"] fail-fast: false uses: pytorch/test-infra/.github/workflows/linux_job.yml@main with: runner: linux.12xlarge repository: pytorch/vision script: | # Mark Build Directory Safe git config --global --add safe.directory /__w/vision/vision # Set up Environment Variables export PYTHON_VERSION="${{ matrix.py_vers }}" export VERSION="cpu" export CUDATOOLKIT="cpuonly" # Set CHANNEL if [[ (${GITHUB_EVENT_NAME} = 'pull_request' && (${GITHUB_BASE_REF} = 'release'*)) || (${GITHUB_REF} = 'refs/heads/release'*) ]]; then export CHANNEL=test else export CHANNEL=nightly fi # Create Conda Env conda create -yp ci_env python="${PYTHON_VERSION}" numpy libpng jpeg scipy conda activate /work/ci_env # Install PyTorch, Torchvision, and testing libraries set -ex conda install \ --yes \ -c "pytorch-${CHANNEL}" \ -c nvidia "pytorch-${CHANNEL}"::pytorch[build="*${VERSION}*"] \ "${CUDATOOLKIT}" python3 setup.py develop python3 -m pip install pytest pytest-mock 'av<10' # Run Tests python3 -m torch.utils.collect_env python3 -m pytest --junitxml=test-results/junit.xml -v --durations 20