[CI] Fix CI for 0.x branch #4195
Workflow file for this run
This file contains 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
# This workflow will install Python dependencies, run tests with a variety of Python versions | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions | |
name: build | |
on: | |
push: | |
branches: | |
- master | |
paths-ignore: | |
- 'README.md' | |
- 'README_CN.md' | |
- 'docs/**' | |
- 'examples/**' | |
- '.dev_scripts/**' | |
pull_request: | |
paths-ignore: | |
- 'README.md' | |
- 'README_CN.md' | |
- 'docs/**' | |
- 'examples/**' | |
- '.dev_scripts/**' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build_cpu: | |
runs-on: ubuntu-22.04 | |
strategy: | |
matrix: | |
python-version: [3.7] | |
include: | |
- torch: 1.8.1 | |
torchvision: 0.9.1 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Upgrade pip | |
run: pip install pip --upgrade | |
- name: Install onnx | |
run: pip install onnx | |
- 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/${{matrix.torch_version}}/index.html | |
python -c 'import mmcv; print(mmcv.__version__)' | |
- name: Install other dependencies | |
run: | | |
python -m pip install --upgrade pip setuptools wheel | |
pip install -U numpy | |
python -m pip install mmdet==2.28 | |
python -m pip install mmtrack==0.14 | |
pip install -r requirements.txt | |
python -m pip install -r requirements/poseval.txt | |
pip install albumentations>=0.3.2 --no-binary imgaug,albumentations | |
- name: Build and install | |
run: rm -rf .eggs && pip install -e . | |
- name: Run unittests and generate coverage report | |
run: | | |
coverage run --branch --omit="mmpose/apis/webcam/*" --source mmpose -m pytest tests/ | |
coverage xml | |
coverage report -m --omit="mmpose/apis/webcam/*" | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
files: ./coverage.xml | |
flags: unittests | |
env_vars: OS,PYTHON | |
name: codecov-umbrella | |
fail_ci_if_error: false | |
build_cuda102: | |
runs-on: ubuntu-22.04 | |
container: | |
image: pytorch/pytorch:1.8.1-cuda10.2-cudnn7-devel | |
strategy: | |
matrix: | |
python-version: [3.7] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Fetch GPG keys | |
run: | | |
apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pub | |
apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/7fa2af80.pub | |
- 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 libturbojpeg | |
apt-get clean | |
rm -rf /var/lib/apt/lists/* | |
- name: Upgrade pip | |
run: python -m pip install pip --upgrade | |
- 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 PyTorch | |
run: python -m pip install torch==${{matrix.torch}}+cu102 torchvision==${{matrix.torchvision}}+cu102 -f https://download.pytorch.org/whl/torch_stable.html | |
- name: Install mmpose dependencies | |
run: | | |
python -V | |
python -m pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu102/${{matrix.torch_version}}/index.html | |
python -m pip install mmdet==2.28 | |
python -m pip install mmtrack==0.14 | |
python -m pip install -r requirements.txt | |
python -m pip install -r requirements/poseval.txt | |
python -m pip install albumentations>=0.3.2 --no-binary imgaug,albumentations | |
python -c 'import mmcv; print(mmcv.__version__)' | |
- name: Build and install | |
run: rm -rf .eggs && pip install -e . | |
- name: Run unittests and generate coverage report | |
run: | | |
coverage run --branch --omit="mmpose/apis/webcam/*" --source mmpose -m pytest tests/ | |
coverage xml | |
coverage report -m --omit="mmpose/apis/webcam/*" | |
build_windows: | |
runs-on: windows-2022 | |
strategy: | |
matrix: | |
os: [windows-2022] | |
python-version: [3.8] | |
platform: [cpu] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Upgrade pip | |
run: python -m pip install pip numpy --upgrade --user | |
- name: Install PyTorch | |
# As a complement to Linux CI, we test on PyTorch LTS version | |
run: python -m pip install torch==1.8.2+${{ matrix.platform }} torchvision==0.9.2+${{ matrix.platform }} -f https://download.pytorch.org/whl/lts/1.8/torch_lts.html | |
- name: Install MMCV | |
run: python -m pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cpu/torch1.8/index.html --only-binary mmcv-full | |
- name: Install mmpose dependencies | |
run: | | |
python -V | |
python -m pip install xtcocotools | |
python -m pip install -r requirements/tests.txt -r requirements/optional.txt -r requirements/poseval.txt | |
python -m pip install albumentations>=0.3.2 --no-binary imgaug,albumentations | |
python -c 'import mmcv; print(mmcv.__version__)' | |
- name: Show pip list | |
run: python -m pip list | |
- name: Build and install | |
run: | | |
python -m pip install --upgrade pip setuptools wheel | |
python -m pip install -e . | |
- name: Run unittests | |
run: coverage run --branch --source mmpose -m pytest tests -sv | |
- name: Generate coverage report | |
run: | | |
coverage run --branch --omit="mmpose/apis/webcam/*" --source mmpose -m pytest tests/ | |
coverage xml | |
coverage report -m --omit="mmpose/apis/webcam/*" | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v2 | |
with: | |
file: ./coverage.xml | |
flags: unittestsstat | |
env_vars: OS,PYTHON | |
name: codecov-umbrella | |
fail_ci_if_error: false |