ci: pin GitHub Actions to commit hashes via pinact #2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: build | |
| on: | |
| push: | |
| paths-ignore: | |
| - '.dev_scripts/**' | |
| - '.github/**.md' | |
| - 'demo/**' | |
| - 'docker/**' | |
| - 'tools/**' | |
| pull_request: | |
| paths-ignore: | |
| - '.dev_scripts/**' | |
| - '.github/**.md' | |
| - 'demo/**' | |
| - 'docker/**' | |
| - 'tools/**' | |
| - 'docs/**' | |
| - 'docs_zh-CN/**' | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build_cpu: | |
| runs-on: ubuntu-18.04 | |
| strategy: | |
| matrix: | |
| python-version: [3.7] | |
| torch: [1.5.1, 1.6.0, 1.7.0, 1.8.0, 1.9.0] | |
| include: | |
| - torch: 1.5.1 | |
| torchvision: 0.6.1 | |
| mmcv: 1.5.0 | |
| - torch: 1.6.0 | |
| torchvision: 0.7.0 | |
| mmcv: 1.6.0 | |
| - torch: 1.7.0 | |
| torchvision: 0.8.1 | |
| mmcv: 1.7.0 | |
| - torch: 1.8.0 | |
| torchvision: 0.9.0 | |
| mmcv: 1.8.0 | |
| - torch: 1.9.0 | |
| torchvision: 0.10.0 | |
| mmcv: 1.9.0 | |
| steps: | |
| - uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@e9aba2c848f5ebd159c070c61ea2c4e2b122355e # v2.3.4 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install Pillow | |
| run: pip install Pillow==6.2.2 | |
| if: ${{matrix.torchvision == '0.4.2'}} | |
| - name: Install PyTorch | |
| run: pip install torch==${{matrix.torch}}+cpu torchvision==${{matrix.torchvision}}+cpu -f https://download.pytorch.org/whl/torch_stable.html | |
| - name: Install MMCV | |
| run: | | |
| pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cpu/torch${{matrix.mmcv}}/index.html | |
| python -c 'import mmcv; print(mmcv.__version__)' | |
| - name: Install unittest dependencies | |
| run: | | |
| pip install -r requirements/tests.txt -r requirements/optional.txt | |
| pip install albumentations>=0.3.2 --no-binary imgaug,albumentations | |
| pip install git+https://github.com/cocodataset/panopticapi.git | |
| - name: Build and install | |
| run: rm -rf .eggs && pip install -e . | |
| - name: Run unittests and generate coverage report | |
| run: | | |
| coverage run --branch --source mmdet -m pytest tests/ | |
| coverage xml | |
| coverage report -m | |
| build_cuda101: | |
| runs-on: ubuntu-18.04 | |
| container: | |
| image: pytorch/pytorch:1.6.0-cuda10.1-cudnn7-devel | |
| strategy: | |
| matrix: | |
| python-version: [3.7] | |
| torch: | |
| [ | |
| 1.5.1+cu101, | |
| 1.6.0+cu101, | |
| 1.7.0+cu101, | |
| 1.8.0+cu101, | |
| ] | |
| include: | |
| - torch: 1.5.1+cu101 | |
| torch_version: torch1.5.1 | |
| torchvision: 0.6.1+cu101 | |
| mmcv: 1.5.0 | |
| - torch: 1.6.0+cu101 | |
| torch_version: torch1.6.0 | |
| torchvision: 0.7.0+cu101 | |
| mmcv: 1.6.0 | |
| - torch: 1.7.0+cu101 | |
| torch_version: torch1.7.0 | |
| torchvision: 0.8.1+cu101 | |
| mmcv: 1.7.0 | |
| - torch: 1.8.0+cu101 | |
| torch_version: torch1.8.0 | |
| torchvision: 0.9.0+cu101 | |
| mmcv: 1.8.0 | |
| steps: | |
| - uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@e9aba2c848f5ebd159c070c61ea2c4e2b122355e # v2.3.4 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install system dependencies | |
| run: | | |
| apt-get update && apt-get install -y ffmpeg libsm6 libxext6 git ninja-build libglib2.0-0 libsm6 libxrender-dev libxext6 python${{matrix.python-version}}-dev | |
| apt-get clean | |
| rm -rf /var/lib/apt/lists/* | |
| - name: Install Pillow | |
| run: python -m pip install Pillow==6.2.2 | |
| if: ${{matrix.torchvision < 0.5}} | |
| - name: Install PyTorch | |
| run: python -m pip install torch==${{matrix.torch}} torchvision==${{matrix.torchvision}} -f https://download.pytorch.org/whl/torch_stable.html | |
| - name: Install dependencies for compiling onnx when python=3.9 | |
| run: python -m pip install protobuf && apt-get install libprotobuf-dev protobuf-compiler | |
| if: ${{matrix.python-version == '3.9'}} | |
| - name: Install mmdet dependencies | |
| run: | | |
| python -V | |
| python -m pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu101/torch${{matrix.mmcv}}/index.html | |
| python -m pip install pycocotools | |
| python -m pip install -r requirements/tests.txt -r requirements/optional.txt | |
| python -m pip install albumentations>=0.3.2 --no-binary imgaug,albumentations | |
| python -m pip install git+https://github.com/cocodataset/panopticapi.git | |
| python -c 'import mmcv; print(mmcv.__version__)' | |
| - name: Build and install | |
| run: | | |
| rm -rf .eggs | |
| python setup.py check -m -s | |
| TORCH_CUDA_ARCH_LIST=7.0 pip install . | |
| - name: Run unittests and generate coverage report | |
| run: | | |
| coverage run --branch --source mmdet -m pytest tests/ | |
| coverage xml | |
| coverage report -m | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@f3570723ef743f6942b6a480461ed0cd6c0f9baa # v1.0.10 | |
| with: | |
| file: ./coverage.xml | |
| flags: unittests | |
| env_vars: OS,PYTHON | |
| name: codecov-umbrella | |
| fail_ci_if_error: false | |
| build_cuda102: | |
| runs-on: ubuntu-18.04 | |
| container: | |
| image: pytorch/pytorch:1.9.0-cuda10.2-cudnn7-devel | |
| strategy: | |
| matrix: | |
| python-version: [3.6, 3.7, 3.8, 3.9] | |
| torch: [1.9.0+cu102] | |
| include: | |
| - torch: 1.9.0+cu102 | |
| torch_version: torch1.9.0 | |
| torchvision: 0.10.0+cu102 | |
| mmcv: 1.9.0 | |
| steps: | |
| - uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@e9aba2c848f5ebd159c070c61ea2c4e2b122355e # v2.3.4 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| # Add ppa source repo for python3.9. | |
| - name: Add python3.9 source | |
| run: | | |
| apt-get update && apt-get install -y software-properties-common | |
| add-apt-repository -y ppa:deadsnakes/ppa | |
| if: ${{matrix.python-version == '3.9'}} | |
| # Install python-dev for some packages which require libpython3.Xm. | |
| # Github's setup-python cannot install python3.9-dev, so we have to use apt install. | |
| # Set DEBIAN_FRONTEND=noninteractive to avoid some interactions. | |
| - name: Install python-dev | |
| run: apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends python${{matrix.python-version}}-dev | |
| - name: Install system dependencies | |
| run: | | |
| apt-get update && apt-get install -y ffmpeg libsm6 libxext6 git ninja-build libglib2.0-0 libsm6 libxrender-dev libxext6 | |
| apt-get clean | |
| rm -rf /var/lib/apt/lists/* | |
| - name: Install Pillow | |
| run: python -m pip install Pillow==6.2.2 | |
| if: ${{matrix.torchvision < 0.5}} | |
| - name: Install PyTorch | |
| run: python -m pip install torch==${{matrix.torch}} torchvision==${{matrix.torchvision}} -f https://download.pytorch.org/whl/torch_stable.html | |
| - name: Install dependencies for compiling onnx when python=3.9 | |
| run: python -m pip install protobuf && apt-get update && apt-get -y install libprotobuf-dev protobuf-compiler cmake | |
| if: ${{matrix.python-version == '3.9'}} | |
| - name: Install mmdet dependencies | |
| run: | | |
| python -V | |
| python -m pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu102/torch${{matrix.mmcv}}/index.html | |
| python -m pip install pycocotools | |
| python -m pip install -r requirements/tests.txt -r requirements/optional.txt | |
| python -m pip install albumentations>=0.3.2 --no-binary imgaug,albumentations | |
| python -m pip install git+https://github.com/cocodataset/panopticapi.git | |
| python -c 'import mmcv; print(mmcv.__version__)' | |
| - name: Build and install | |
| run: | | |
| rm -rf .eggs | |
| python setup.py check -m -s | |
| TORCH_CUDA_ARCH_LIST=7.0 pip install . | |
| - name: Run unittests and generate coverage report | |
| run: | | |
| coverage run --branch --source mmdet -m pytest tests/ | |
| coverage xml | |
| coverage report -m | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@f32b3a3741e1053eb607407145bc9619351dc93b # v2.1.0 | |
| with: | |
| files: ./coverage.xml | |
| flags: unittests | |
| env_vars: OS,PYTHON | |
| name: codecov-umbrella | |
| fail_ci_if_error: false |