Spaces:
Sleeping
Sleeping
| 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 | |