Unverified Commit 246de077 authored by Omkar Salpekar's avatar Omkar Salpekar Committed by GitHub
Browse files

[Nova] Migrate Linux CPU job to Generic Job (#6797)

* [Nova] Migrate Linux CPU job to Generic Job

* branch ref for composite action job

* move checkout step to separate job

* added runs-on

* nit fixes

* no need to run conda sheel script thing

* Channel is set inside the script

* add remaining env vars

* nit env var fix

* cleanup

* simplify unneeded jobs

* name of the conda env should be the path

* remove main ref to use PR
parent 211563fb
......@@ -14,57 +14,44 @@ env:
jobs:
tests:
name: "Unit-tests on Linux CPU"
runs-on: [self-hosted, linux.12xlarge]
container:
image: pytorch/conda-builder:cpu
strategy:
matrix:
py_vers: ["3.7", "3.8", "3.9", "3.10"]
fail-fast: false
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Set Release CHANNEL (for release)
if: ${{ (github.event_name == 'pull_request' && startsWith(github.base_ref, 'release')) || startsWith(github.ref, 'refs/heads/release') }}
run: |
echo "CHANNEL=test" >> "$GITHUB_ENV"
- name: Setup Conda
shell: bash -l {0}
env:
ENV_NAME: conda-env-${{ github.run_id }}
PY_VERS: ${{ matrix.py_vers }}
run: |
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
. ~/miniconda3/etc/profile.d/conda.sh
conda create -yp ${ENV_NAME} python=${PY_VERS} numpy libpng jpeg scipy
echo "CONDA_RUN=conda run -p ${ENV_NAME}" >> "$GITHUB_ENV"
- name: Install TorchVision
shell: bash -l {0}
env:
VERSION: cpu
CUDATOOLKIT: cpuonly
run: |
# Needed for JPEG library detection as setup.py detects conda presence
# by running `shutil.which('conda')`
export PATH=~/miniconda3/bin:$PATH
# 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_RUN} conda install \
conda install \
--yes \
-c "pytorch-${CHANNEL}" \
-c nvidia "pytorch-${CHANNEL}"::pytorch[build="*${VERSION}*"] \
"${CUDATOOLKIT}"
${CONDA_RUN} python3 setup.py develop
${CONDA_RUN} python3 -m pip install pytest pytest-mock 'av<10'
- name: Run tests
shell: bash -l {0}
env:
ENV_NAME: conda-env-${{ github.run_id }}
PY_VERS: ${{ matrix.py_vers }}
run: |
. ~/miniconda3/etc/profile.d/conda.sh
set -ex
${CONDA_RUN} python3 -m torch.utils.collect_env
${CONDA_RUN} python3 -m pytest --junitxml=test-results/junit.xml -v --durations 20
conda env remove -p ${ENV_NAME}
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
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment