add ci for dep check #89
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
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 }} |