Skip to content

add ci for dep check #89

add ci for dep check

add ci for dep check #89

Workflow file for this run

name: Unittest
on:
push:
branches-ignore:
- "master"
pull_request:
jobs:
unittest:
name: Unittest
strategy:
fail-fast: false
matrix:
python-version: ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11"]
torch-version: ["1.8.*", "1.9.*", "1.10.*", "1.11.*", "1.12.*", "1.13.*", "2.0.*", "2.1.*"]
include:
- torch-version: "1.8.*"
torchvision-version: "0.9.*"
- torch-version: "1.9.*"
torchvision-version: "0.10.*"
- torch-version: "1.10.*"
torchvision-version: "0.11.*"
- torch-version: "1.11.*"
torchvision-version: "0.12.*"
- torch-version: "1.12.*"
torchvision-version: "0.13.*"
- torch-version: "1.13.*"
torchvision-version: "0.14.*"
- torch-version: "2.0.*"
torchvision-version: "0.15.*"
- torch-version: "2.1.*"
torchvision-version: "0.16.*"
exclude:
- python-version: "3.6"
torch-version: "1.11.*"
- python-version: "3.6"
torch-version: "1.12.*"
- python-version: "3.6"
torch-version: "1.13.*"
- python-version: "3.6"
torch-version: "2.0.*"
- python-version: "3.6"
torch-version: "2.1.*"
- python-version: "3.7"
torch-version: "2.0.*"
- python-version: "3.7"
torch-version: "2.1.*"
- python-version: "3.10"
torch-version: "1.8.*"
- python-version: "3.10"
torch-version: "1.9.*"
- python-version: "3.10"
torch-version: "1.10.*"
- python-version: "3.11"
torch-version: "1.8.*"
- python-version: "3.11"
torch-version: "1.9.*"
- python-version: "3.11"
torch-version: "1.10.*"
- python-version: "3.11"
torch-version: "1.11.*"
- python-version: "3.11"
torch-version: "1.12.*"
- python-version: "3.11"
torch-version: "1.13.*"
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Set Swap Space
uses: pierotofy/set-swap-space@master
with:
swap-size-gb: 10
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
architecture: x64
- name: Install PyAV Dependencies for Python 3.6
if: matrix.python-version == '3.6'
run: |
sudo apt install -y libavformat-dev libavdevice-dev
pip install "av==6.*"
- name: Install dependencies
run: |
sudo apt install -y ffmpeg wget
pip install torch==${{ matrix.torch-version }}
pip install torchvision==${{ matrix.torchvision-version }}
pip install -r requirements.lib.txt
python init.py
- name: Download model checkpoints
run: |
mkdir test/model
wget -O test/model/marlin_vit_base_ytf.encoder.pt https://github.com/ControlNet/MARLIN/releases/download/model_v1/marlin_vit_base_ytf.encoder.pt
wget -O test/model/marlin_vit_base_ytf.full.pt https://github.com/ControlNet/MARLIN/releases/download/model_v1/marlin_vit_base_ytf.full.pt
wget -O test/model/marlin_vit_small_ytf.encoder.pt https://github.com/ControlNet/MARLIN/releases/download/model_v1/marlin_vit_small_ytf.encoder.pt
wget -O test/model/marlin_vit_small_ytf.full.pt https://github.com/ControlNet/MARLIN/releases/download/model_v1/marlin_vit_small_ytf.full.pt
wget -O test/model/marlin_vit_large_ytf.encoder.pt https://github.com/ControlNet/MARLIN/releases/download/model_v1/marlin_vit_large_ytf.encoder.pt
wget -O test/model/marlin_vit_large_ytf.full.pt https://github.com/ControlNet/MARLIN/releases/download/model_v1/marlin_vit_large_ytf.full.pt
- name: Set PYTHONPATH
run: echo "PYTHONPATH=$(pwd)/src" >> $GITHUB_ENV
- name: Run Test
run: | # python -m unittest discover test
python -m unittest test/test_version.py
python -m unittest test/test_marlin_vit_base.py
python -m unittest test/test_marlin_vit_small.py
python -m unittest test/test_marlin_vit_large.py
coverage:
# Run coverage and report to coveralls
name: Coverage
needs: [unittest]
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.10"
architecture: x64
- name: Install dependencies
run: |
sudo apt install -y ffmpeg wget
pip install torch=="1.13.*"
pip install torchvision=="0.14.*"
pip install -r requirements.lib.txt
python init.py
pip install coverage pytest coveralls
- name: Download model checkpoints
run: |
mkdir test/model
wget -O test/model/marlin_vit_base_ytf.encoder.pt https://github.com/ControlNet/MARLIN/releases/download/model_v1/marlin_vit_base_ytf.encoder.pt
wget -O test/model/marlin_vit_base_ytf.full.pt https://github.com/ControlNet/MARLIN/releases/download/model_v1/marlin_vit_base_ytf.full.pt
wget -O test/model/marlin_vit_small_ytf.encoder.pt https://github.com/ControlNet/MARLIN/releases/download/model_v1/marlin_vit_small_ytf.encoder.pt
wget -O test/model/marlin_vit_small_ytf.full.pt https://github.com/ControlNet/MARLIN/releases/download/model_v1/marlin_vit_small_ytf.full.pt
wget -O test/model/marlin_vit_large_ytf.encoder.pt https://github.com/ControlNet/MARLIN/releases/download/model_v1/marlin_vit_large_ytf.encoder.pt
wget -O test/model/marlin_vit_large_ytf.full.pt https://github.com/ControlNet/MARLIN/releases/download/model_v1/marlin_vit_large_ytf.full.pt
- name: Set PYTHONPATH
run: echo "PYTHONPATH=$(pwd)/src" >> $GITHUB_ENV
- name: Run Coverage
run: coverage run --source=marlin_pytorch -m unittest discover
- name: Coveralls
run: coveralls --service=github
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COVERALLS_FLAG_NAME: marlin_pytorch
COVERALLS_PARALLEL: true
coveralls_finish:
name: Coveralls Finish
needs: [coverage]
runs-on: ubuntu-20.04
container: python:3-slim
steps:
- name: Finished
run: |
pip3 install --upgrade coveralls
coveralls --service=github --finish
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}