enable evaluation from yaml config file #4669
Workflow file for this run
This file contains hidden or 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
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions | |
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python | |
# just comment out unwanted steps to turn off the test. | |
name: Unit Tests | |
on: | |
push: | |
branches: | |
- 'main' | |
pull_request: | |
branches: | |
- 'main' | |
workflow_dispatch: | |
# Jobs run concurrently and steps run sequentially within a job. | |
# jobs: linter and cpu_tests. Add more jobs/steps as required. | |
jobs: | |
linter: | |
name: Linters | |
runs-on: ubuntu-latest | |
timeout-minutes: 5 | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.9 | |
cache: pip | |
cache-dependency-path: pyproject.toml | |
- name: Pre-Commit | |
env: | |
SKIP: "no-commit-to-branch,mypy" | |
uses: pre-commit/action@v3.0.1 | |
# Job 2 | |
testcpu: | |
name: CPU Tests | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
matrix: | |
python-version: ["3.9", "3.10", "3.11"] | |
timeout-minutes: 30 | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: pip | |
cache-dependency-path: pyproject.toml | |
# Cache HuggingFace cache directory for CPU tests | |
- name: Cache HuggingFace cache (CPU tests) | |
uses: actions/cache@v3 | |
id: cache-hf-cpu | |
with: | |
path: ~/.cache/huggingface | |
key: ${{ runner.os }}-hf-cache-cpu | |
restore-keys: | | |
${{ runner.os }}-hf-cache-cpu | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -e '.[dev]' --extra-index-url https://download.pytorch.org/whl/cpu | |
pip install hf_xet | |
- name: Test with pytest | |
run: python -m pytest --showlocals -s -vv -n=auto --ignore=tests/models/test_neuralmagic.py --ignore=tests/models/test_openvino.py --ignore=tests/models/test_hf_steered.py | |
continue-on-error: true # Continue workflow even if tests fail | |
# Save test artifacts | |
- name: Archive test artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: output_testcpu${{ matrix.python-version }} | |
path: | | |
test_logs/* | |
testmodels: | |
name: External LM Tests | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.9 | |
cache: pip | |
cache-dependency-path: pyproject.toml | |
# Cache HuggingFace cache directory for External LM tests | |
- name: Cache HuggingFace cache (External LM tests) | |
uses: actions/cache@v3 | |
id: cache-hf-lm | |
with: | |
path: ~/.cache/huggingface | |
key: ${{ runner.os }}-hf-cache-external-lm | |
restore-keys: | | |
${{ runner.os }}-hf-cache-external-lm | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -e '.[dev,optimum,deepsparse,sparseml,api]' --extra-index-url https://download.pytorch.org/whl/cpu | |
pip install -U transformers peft accelerate | |
- name: Test with pytest | |
run: python -m pytest tests/models --showlocals -s -vv | |
continue-on-error: true # Continue workflow even if tests fail |