Spaces:
Running
on
Zero
Running
on
Zero
name: CI | |
on: | |
push: | |
pull_request: | |
schedule: | |
- cron: "0 0 * * *" # @daily | |
# Run linter with github actions for quick feedbacks. | |
jobs: | |
linter: | |
runs-on: ubuntu-latest | |
# run on PRs, or commits to facebookresearch (not internal) | |
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 | |
# flake8-bugbear flake8-comprehensions are useful but not available internally | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install flake8==6.1.0 isort==4.3.21 | |
python -m pip install black==24.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 | |
# run on PRs, or commits to facebookresearch (not internal) | |
if: ${{ github.repository_owner == 'facebookresearch' || github.event_name == 'pull_request' }} | |
strategy: | |
fail-fast: false | |
matrix: | |
torch: ["1.13.1", "2.2.2"] | |
include: | |
- torch: "1.13.1" | |
torchvision: "0.14.1" | |
- torch: "2.2.2" | |
torchvision: "0.17.2" | |
env: | |
# point datasets to ~/.torch so it's cached by CI | |
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 wheel 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' | |
wget https://raw.githubusercontent.com/pytorch/pytorch/master/torch/utils/collect_env.py | |
python collect_env.py | |
- 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/ | |
linux_gpu_tests: | |
runs-on: 4-core-ubuntu-gpu-t4 | |
# run on PRs, or commits to facebookresearch (not internal) | |
if: ${{ github.repository_owner == 'facebookresearch' || github.event_name == 'pull_request' }} | |
strategy: | |
fail-fast: false | |
matrix: | |
torch: ["1.13.1", "2.2.2"] | |
include: | |
- torch: "1.13.1" | |
torchvision: "0.14.1" | |
cuda: "11-7" | |
- torch: "2.2.2" | |
torchvision: "0.17.2" | |
cuda: "12-5" | |
env: | |
PYTORCH_INDEX: "https://download.pytorch.org/whl/cu118" | |
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 | |
id: load-cache | |
with: | |
path: | | |
${{ env.pythonLocation }}/lib/python3.8/site-packages | |
~/.torch | |
key: ${{ runner.os }}-torch-gpu${{ matrix.torch }}-${{ hashFiles('setup.py') }}-20210827 | |
- name: Install GPU Dependencies | |
uses: ./.github/actions/install_linux_gpu_dep | |
with: | |
cuda-version: ${{matrix.cuda}} | |
- name: Install Dependencies | |
uses: ./.github/actions/install_linux_dep | |
if: steps.load-cache.outputs.cache-hit != 'true' | |
with: | |
torch-version: ${{matrix.torch}} | |
torchvision-version: ${{matrix.torchvision}} | |
pytorch-index: $PYTORCH_INDEX | |
- name: Install Detectron2 | |
uses: ./.github/actions/install_detectron2 | |
- name: Run Unit Tests | |
uses: ./.github/actions/run_unittests | |
- name: Run Tests After Uninstalling | |
uses: ./.github/actions/uninstall_tests | |
linux_cpu_tests: | |
runs-on: ubuntu-latest | |
# run on PRs, or commits to facebookresearch (not internal) | |
if: ${{ github.repository_owner == 'facebookresearch' || github.event_name == 'pull_request' }} | |
strategy: | |
fail-fast: false | |
matrix: | |
torch: ["1.13.1", "2.2.2"] | |
include: | |
- torch: "1.13.1" | |
torchvision: "0.14.1" | |
- torch: "2.2.2" | |
torchvision: "0.17.2" | |
env: | |
PYTORCH_INDEX: "https://download.pytorch.org/whl/cu118" | |
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 | |
id: load-cache | |
with: | |
path: | | |
${{ env.pythonLocation }}/lib/python3.8/site-packages | |
~/.torch | |
key: ${{ runner.os }}-torch${{ matrix.torch }}-${{ hashFiles('setup.py') }}-20210827 | |
- name: Install Dependencies | |
uses: ./.github/actions/install_linux_dep | |
if: steps.load-cache.outputs.cache-hit != 'true' | |
with: | |
torch-version: ${{matrix.torch}} | |
torchvision-version: ${{matrix.torchvision}} | |
pytorch-index: $PYTORCH_INDEX | |
- name: Install Detectron2 | |
uses: ./.github/actions/install_detectron2 | |
- name: Run Unit Tests | |
uses: ./.github/actions/run_unittests | |
- name: Run Tests After Uninstalling | |
uses: ./.github/actions/uninstall_tests | |
windows_cpu_tests: | |
runs-on: windows-latest | |
# run on PRs, or commits to facebookresearch (not internal) | |
if: ${{ github.repository_owner == 'facebookresearch' || github.event_name == 'pull_request' }} | |
strategy: | |
fail-fast: false | |
matrix: | |
torch: ["1.13.1", "2.2.2"] | |
include: | |
- torch: "1.13.1" | |
torchvision: "0.14.1" | |
- torch: "2.2.2" | |
torchvision: "0.17.2" | |
env: | |
PYTORCH_INDEX: "https://download.pytorch.org/whl/cu118" | |
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 | |
id: load-cache | |
with: | |
path: | | |
${{ env.pythonLocation }}\Lib\site-packages | |
~\.torch | |
key: ${{ runner.os }}-torch${{ matrix.torch }}-${{ hashFiles('setup.py') }}-20210404 | |
- name: Install Dependencies | |
uses: ./.github/actions/install_windows_dep | |
if: steps.load-cache.outputs.cache-hit != 'true' | |
with: | |
torch-version: ${{matrix.torch}} | |
torchvision-version: ${{matrix.torchvision}} | |
pytorch-index: $PYTORCH_INDEX | |
- name: Install Detectron2 | |
uses: ./.github/actions/install_detectron2_win | |
- name: Run Unit Tests | |
uses: ./.github/actions/run_unittests_win | |