run one test at one time #15
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
name: Run AnimateDiff generation with Motion LoRA & Prompt Travel on CPU | |
on: | |
push: {} # Remove the branch restriction to trigger the workflow for any branch | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout A1111 | |
uses: actions/checkout@v3 | |
with: | |
repository: 'AUTOMATIC1111/stable-diffusion-webui' | |
path: 'stable-diffusion-webui' | |
- name: Checkout ControlNet | |
uses: actions/checkout@v3 | |
with: | |
repository: 'Mikubill/sd-webui-controlnet' | |
path: 'stable-diffusion-webui/extensions/sd-webui-controlnet' | |
- name: Checkout AnimateDiff | |
uses: actions/checkout@v3 | |
with: | |
repository: 'continue-revolution/sd-webui-animatediff' | |
path: 'stable-diffusion-webui/extensions/sd-webui-animatediff' | |
- name: Set up Python 3.11.4 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.11.4 | |
cache: pip | |
cache-dependency-path: | | |
**/requirements*txt | |
launch.py | |
- name: Install test dependencies | |
run: | | |
pip install wait-for-it | |
pip install -r requirements-test.txt | |
working-directory: stable-diffusion-webui | |
env: | |
PIP_DISABLE_PIP_VERSION_CHECK: "1" | |
PIP_PROGRESS_BAR: "off" | |
- name: Setup environment | |
run: python launch.py --skip-torch-cuda-test --exit | |
working-directory: stable-diffusion-webui | |
env: | |
PIP_DISABLE_PIP_VERSION_CHECK: "1" | |
PIP_PROGRESS_BAR: "off" | |
TORCH_INDEX_URL: https://download.pytorch.org/whl/cpu | |
WEBUI_LAUNCH_LIVE_OUTPUT: "1" | |
PYTHONUNBUFFERED: "1" | |
- name: Cache AnimateDiff models | |
uses: actions/cache@v3 | |
with: | |
path: stable-diffusion-webui/extensions/sd-webui-animatediff/model/ | |
key: animatediff-models-v1 | |
- name: Cache LoRA models | |
uses: actions/cache@v3 | |
with: | |
path: stable-diffusion-webui/models/Lora | |
key: lora-models-v1 | |
- name: Download AnimateDiff model for testing | |
run: | | |
if [ ! -f "extensions/sd-webui-animatediff/model/mm_sd_v15_v2.ckpt" ]; then | |
curl -Lo extensions/sd-webui-animatediff/model/mm_sd_v15_v2.ckpt https://huggingface.co/guoyww/animatediff/resolve/main/mm_sd_v15_v2.ckpt?download=true | |
fi | |
working-directory: stable-diffusion-webui | |
- name: Download LoRA model for testing | |
run: | | |
if [ ! -d "models/Lora" ]; then | |
mkdir models/Lora | |
fi | |
if [ ! -f "models/Lora/yoimiya.safetensors" ]; then | |
curl -Lo models/Lora/yoimiya.safetensors https://civitai.com/api/download/models/48374?type=Model&format=SafeTensor | |
fi | |
if [ ! -f "models/Lora/v2_lora_TiltDown.ckpt" ]; then | |
curl -Lo models/Lora/v2_lora_TiltDown.ckpt https://huggingface.co/guoyww/animatediff/resolve/main/v2_lora_TiltDown.ckpt?download=true | |
fi | |
working-directory: stable-diffusion-webui | |
- name: Start test server | |
run: > | |
python -m coverage run | |
--data-file=.coverage.server | |
launch.py | |
--skip-prepare-environment | |
--skip-torch-cuda-test | |
--test-server | |
--do-not-download-clip | |
--no-half | |
--disable-opt-split-attention | |
--use-cpu all | |
--api-server-stop | |
2>&1 | tee output.txt & | |
working-directory: stable-diffusion-webui | |
- name: Run tests | |
run: | | |
wait-for-it --service 127.0.0.1:7860 -t 600 | |
python -m pytest -vv --junitxml=test/results.xml --cov ./extensions/sd-webui-animatediff --cov-report=xml --verify-base-url ./extensions/sd-webui-animatediff/tests | |
working-directory: stable-diffusion-webui | |
- name: Kill test server | |
if: always() | |
run: curl -vv -XPOST http://127.0.0.1:7860/sdapi/v1/server-stop && sleep 10 | |
- name: Show coverage | |
run: | | |
python -m coverage combine .coverage* | |
python -m coverage report -i | |
python -m coverage html -i | |
working-directory: stable-diffusion-webui | |
- name: Upload main app output | |
uses: actions/upload-artifact@v3 | |
if: always() | |
with: | |
name: output | |
path: output.txt | |
- name: Upload coverage HTML | |
uses: actions/upload-artifact@v3 | |
if: always() | |
with: | |
name: htmlcov | |
path: htmlcov | |