|
name: CI |
|
on: [push, pull_request] |
|
|
|
|
|
|
|
jobs: |
|
linter: |
|
runs-on: ubuntu-latest |
|
|
|
if: ${{ github.repository_owner == 'facebookresearch' || github.event_name == 'pull_request' }} |
|
steps: |
|
- uses: actions/checkout@v2 |
|
- name: Set up Python 3.9 |
|
uses: actions/setup-python@v2 |
|
with: |
|
python-version: 3.9 |
|
- name: Install dependencies |
|
|
|
run: | |
|
python -m pip install --upgrade pip |
|
python -m pip install flake8==3.8.1 isort==4.3.21 |
|
python -m pip install black==22.3.0 |
|
flake8 --version |
|
- name: Lint |
|
run: | |
|
echo "Running isort" |
|
isort -c -sp . |
|
echo "Running black" |
|
black -l 100 --check . |
|
echo "Running flake8" |
|
flake8 . |
|
|
|
macos_tests: |
|
runs-on: macos-latest |
|
|
|
if: ${{ github.repository_owner == 'facebookresearch' || github.event_name == 'pull_request' }} |
|
strategy: |
|
fail-fast: false |
|
matrix: |
|
torch: ["1.8", "1.9", "1.10"] |
|
include: |
|
- torch: "1.8" |
|
torchvision: 0.9 |
|
- torch: "1.9" |
|
torchvision: "0.10" |
|
- torch: "1.10" |
|
torchvision: "0.11.1" |
|
env: |
|
|
|
DETECTRON2_DATASETS: ~/.torch/datasets |
|
steps: |
|
- name: Checkout |
|
uses: actions/checkout@v2 |
|
- name: Set up Python 3.8 |
|
uses: actions/setup-python@v2 |
|
with: |
|
python-version: 3.8 |
|
- name: Cache dependencies |
|
uses: actions/cache@v2 |
|
with: |
|
path: | |
|
${{ env.pythonLocation }}/lib/python3.8/site-packages |
|
~/.torch |
|
key: ${{ runner.os }}-torch${{ matrix.torch }}-${{ hashFiles('setup.py') }}-20220119 |
|
|
|
- name: Install dependencies |
|
run: | |
|
python -m pip install -U pip |
|
python -m pip install ninja opencv-python-headless onnx pytest-xdist |
|
python -m pip install torch==${{matrix.torch}} torchvision==${{matrix.torchvision}} -f https://download.pytorch.org/whl/torch_stable.html |
|
# install from github to get latest; install iopath first since fvcore depends on it |
|
python -m pip install -U 'git+https://github.com/facebookresearch/iopath' |
|
python -m pip install -U 'git+https://github.com/facebookresearch/fvcore' |
|
|
|
- name: Build and install |
|
run: | |
|
CC=clang CXX=clang++ python -m pip install -e .[all] |
|
python -m detectron2.utils.collect_env |
|
./datasets/prepare_for_tests.sh |
|
- name: Run unittests |
|
run: python -m pytest -n 4 --durations=15 -sv tests/ |
|
|