add testing for example folder #342
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: CLI CUDA Pytorch Tests | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
types: | |
- opened | |
- reopened | |
- synchronize | |
- labeled | |
- unlabeled | |
concurrency: | |
cancel-in-progress: true | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
jobs: | |
run_cli_cuda_pytorch_single_gpu_tests: | |
if: ${{ | |
(github.event_name == 'push') || | |
(github.event_name == 'workflow_dispatch') || | |
contains( github.event.pull_request.labels.*.name, 'cli') || | |
contains( github.event.pull_request.labels.*.name, 'examples') || | |
contains( github.event.pull_request.labels.*.name, 'cuda') || | |
contains( github.event.pull_request.labels.*.name, 'pytorch') || | |
contains( github.event.pull_request.labels.*.name, 'single_gpu') || | |
contains( github.event.pull_request.labels.*.name, 'cli_cuda_pytorch_single_gpu') | |
}} | |
runs-on: | |
group: aws-g5-4xlarge-plus | |
container: | |
image: ghcr.io/huggingface/optimum-benchmark:latest-cuda | |
options: --ipc host --gpus all | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: | | |
pip install -e .[testing,diffusers,timm,peft,bitsandbytes,autoawq,auto-gptq,codecarbon] | |
# - name: Run cli tests | |
# run: | | |
# pytest tests/test_cli.py -x -s -k "cli and cuda and pytorch and not (dp or ddp or device_map or deepspeed)" | |
- name: Run tests from example folder | |
env: | |
HF_TOKEN: ${{ secrets.HF_TOKEN }} | |
run: | | |
pytest tests/test_examples.py -x -s -k "cuda and pytorch" | |
run_cli_cuda_pytorch_multi_gpu_tests: | |
if: ${{ | |
(github.event_name == 'push') || | |
(github.event_name == 'workflow_dispatch') || | |
contains( github.event.pull_request.labels.*.name, 'cli') || | |
contains( github.event.pull_request.labels.*.name, 'cuda') || | |
contains( github.event.pull_request.labels.*.name, 'pytorch') || | |
contains( github.event.pull_request.labels.*.name, 'multi_gpu') || | |
contains( github.event.pull_request.labels.*.name, 'cli_cuda_pytorch_multi_gpu') | |
}} | |
runs-on: | |
group: aws-g5-12xlarge-plus | |
container: | |
image: ghcr.io/huggingface/optimum-benchmark:latest-cuda | |
options: --ipc host --gpus all | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: | | |
pip install -e .[testing,diffusers,timm,peft,deepspeed] | |
- name: Run cli tests (parallel) | |
run: | | |
pytest tests/test_cli.py -x -s -k "cli and cuda and pytorch and (dp or ddp or device_map)" | |
- name: Run cli tests (sequential) | |
run: | | |
FORCE_SEQUENTIAL=1 pytest tests/test_cli.py -x -s -k "cli and cuda and pytorch and (deepspeed_inference)" |