Merge changes #99
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: Fast tests for PRs | |
on: | |
pull_request: | |
branches: | |
- main | |
push: | |
branches: | |
- ci-* | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
env: | |
DIFFUSERS_IS_CI: yes | |
OMP_NUM_THREADS: 4 | |
MKL_NUM_THREADS: 4 | |
PYTEST_TIMEOUT: 60 | |
jobs: | |
run_fast_tests: | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- name: Fast PyTorch Pipeline CPU tests | |
framework: pytorch_pipelines | |
runner: docker-cpu | |
image: diffusers/diffusers-pytorch-cpu | |
report: torch_cpu_pipelines | |
- name: Fast PyTorch Models & Schedulers CPU tests | |
framework: pytorch_models | |
runner: docker-cpu | |
image: diffusers/diffusers-pytorch-cpu | |
report: torch_cpu_models_schedulers | |
- name: LoRA | |
framework: lora | |
runner: docker-cpu | |
image: diffusers/diffusers-pytorch-cpu | |
report: torch_cpu_lora | |
- name: Fast Flax CPU tests | |
framework: flax | |
runner: docker-cpu | |
image: diffusers/diffusers-flax-cpu | |
report: flax_cpu | |
- name: PyTorch Example CPU tests | |
framework: pytorch_examples | |
runner: docker-cpu | |
image: diffusers/diffusers-pytorch-cpu | |
report: torch_example_cpu | |
name: ${{ matrix.config.name }} | |
runs-on: ${{ matrix.config.runner }} | |
container: | |
image: ${{ matrix.config.image }} | |
options: --shm-size "16gb" --ipc host -v /mnt/hf_cache:/mnt/cache/ | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- name: Checkout diffusers | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 2 | |
- name: Install dependencies | |
run: | | |
apt-get update && apt-get install libsndfile1-dev libgl1 -y | |
python -m pip install -e .[quality,test] | |
python -m pip install accelerate | |
- name: Environment | |
run: | | |
python utils/print_env.py | |
- name: Run fast PyTorch Pipeline CPU tests | |
if: ${{ matrix.config.framework == 'pytorch_pipelines' }} | |
run: | | |
python -m pytest -n 2 --max-worker-restart=0 --dist=loadfile \ | |
-s -v -k "not Flax and not Onnx" \ | |
--make-reports=tests_${{ matrix.config.report }} \ | |
tests/pipelines | |
- name: Run fast PyTorch Model Scheduler CPU tests | |
if: ${{ matrix.config.framework == 'pytorch_models' }} | |
run: | | |
python -m pytest -n 2 --max-worker-restart=0 --dist=loadfile \ | |
-s -v -k "not Flax and not Onnx and not Dependency" \ | |
--make-reports=tests_${{ matrix.config.report }} \ | |
tests/models tests/schedulers tests/others | |
- name: Run fast PyTorch LoRA CPU tests | |
if: ${{ matrix.config.framework == 'lora' }} | |
run: | | |
python -m pytest -n 2 --max-worker-restart=0 --dist=loadfile \ | |
-s -v -k "not Flax and not Onnx and not Dependency" \ | |
--make-reports=tests_${{ matrix.config.report }} \ | |
tests/lora | |
- name: Run fast Flax TPU tests | |
if: ${{ matrix.config.framework == 'flax' }} | |
run: | | |
python -m pytest -n 2 --max-worker-restart=0 --dist=loadfile \ | |
-s -v -k "Flax" \ | |
--make-reports=tests_${{ matrix.config.report }} \ | |
tests | |
- name: Run example PyTorch CPU tests | |
if: ${{ matrix.config.framework == 'pytorch_examples' }} | |
run: | | |
python -m pytest -n 2 --max-worker-restart=0 --dist=loadfile \ | |
--make-reports=tests_${{ matrix.config.report }} \ | |
examples/test_examples.py | |
- name: Failure short reports | |
if: ${{ failure() }} | |
run: cat reports/tests_${{ matrix.config.report }}_failures_short.txt | |
- name: Test suite reports artifacts | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v2 | |
with: | |
name: pr_${{ matrix.config.report }}_test_reports | |
path: reports | |
run_staging_tests: | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- name: Hub tests for models, schedulers, and pipelines | |
framework: hub_tests_pytorch | |
runner: docker-cpu | |
image: diffusers/diffusers-pytorch-cpu | |
report: torch_hub | |
name: ${{ matrix.config.name }} | |
runs-on: ${{ matrix.config.runner }} | |
container: | |
image: ${{ matrix.config.image }} | |
options: --shm-size "16gb" --ipc host -v /mnt/hf_cache:/mnt/cache/ | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- name: Checkout diffusers | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 2 | |
- name: Install dependencies | |
run: | | |
apt-get update && apt-get install libsndfile1-dev libgl1 -y | |
python -m pip install -e .[quality,test] | |
- name: Environment | |
run: | | |
python utils/print_env.py | |
- name: Run Hub tests for models, schedulers, and pipelines on a staging env | |
if: ${{ matrix.config.framework == 'hub_tests_pytorch' }} | |
run: | | |
HUGGINGFACE_CO_STAGING=true python -m pytest \ | |
-m "is_staging_test" \ | |
--make-reports=tests_${{ matrix.config.report }} \ | |
tests | |
- name: Failure short reports | |
if: ${{ failure() }} | |
run: cat reports/tests_${{ matrix.config.report }}_failures_short.txt | |
- name: Test suite reports artifacts | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v2 | |
with: | |
name: pr_${{ matrix.config.report }}_test_reports | |
path: reports |