|
name: Tests |
|
on: |
|
|
|
push: |
|
branches: |
|
- "main" |
|
paths: |
|
- '**.py' |
|
- 'requirements.txt' |
|
pull_request: |
|
paths: |
|
- '**.py' |
|
- 'requirements.txt' |
|
workflow_dispatch: |
|
|
|
jobs: |
|
pre-commit: |
|
name: pre-commit |
|
runs-on: ubuntu-latest |
|
steps: |
|
- uses: actions/checkout@v3 |
|
- uses: actions/setup-python@v4 |
|
with: |
|
python-version: "3.9" |
|
cache: 'pip' |
|
- uses: pre-commit/[email protected] |
|
|
|
pytest: |
|
name: PyTest |
|
runs-on: ubuntu-latest |
|
strategy: |
|
fail-fast: false |
|
matrix: |
|
python_version: ["3.9", "3.10"] |
|
timeout-minutes: 10 |
|
|
|
steps: |
|
- name: Check out repository code |
|
uses: actions/checkout@v3 |
|
|
|
- name: Setup Python |
|
uses: actions/setup-python@v4 |
|
with: |
|
python-version: ${{ matrix.python_version }} |
|
cache: 'pip' |
|
|
|
- name: Install dependencies |
|
run: | |
|
pip3 install -U -e . |
|
pip3 install -r requirements-tests.txt |
|
|
|
- name: Run tests |
|
run: | |
|
pytest --ignore=tests/e2e/ tests/ |
|
|
|
e2e-test: |
|
name: E2E Tests |
|
runs-on: [self-hosted, gpu] |
|
timeout-minutes: 20 |
|
needs: [pre-commit, pytest] |
|
|
|
steps: |
|
- name: Check out repository code |
|
uses: actions/checkout@v3 |
|
|
|
- name: Setup Python |
|
uses: actions/setup-python@v4 |
|
with: |
|
python-version: "3.10" |
|
|
|
|
|
- name: Install dependencies |
|
run: | |
|
pip3 install --extra-index-url https://download.pytorch.org/whl/cu118 -U torch==2.0.1 |
|
pip3 uninstall -y transformers accelerate |
|
pip3 install -U -e .[flash-attn,mamba-ssm] |
|
pip3 install -r requirements-tests.txt |
|
|
|
- name: Run e2e tests |
|
run: | |
|
pytest tests/e2e/ |
|
|