Skip to content

add testing for example folder #349

add testing for example folder

add testing for example folder #349

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
env:
LOG_LEVEL: ERROR
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
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)"