|
name: Tests |
|
on: |
|
|
|
push: |
|
branches: |
|
- "main" |
|
paths: |
|
- '**.py' |
|
- 'requirements.txt' |
|
- '.github/workflows/*.yml' |
|
pull_request: |
|
paths: |
|
- '**.py' |
|
- 'requirements.txt' |
|
- '.github/workflows/*.yml' |
|
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.10" |
|
cache: 'pip' |
|
- uses: pre-commit/action@v3.0.0 |
|
|
|
pytest: |
|
name: PyTest |
|
runs-on: ubuntu-latest |
|
strategy: |
|
fail-fast: false |
|
matrix: |
|
python_version: ["3.10", "3.11"] |
|
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/ |
|
|
|
docker-e2e-tests: |
|
if: github.repository_owner == 'OpenAccess-AI-Collective' |
|
|
|
runs-on: [self-hosted, modal] |
|
timeout-minutes: 60 |
|
needs: [pre-commit, pytest] |
|
|
|
strategy: |
|
fail-fast: false |
|
matrix: |
|
include: |
|
- cuda: 118 |
|
cuda_version: 11.8.0 |
|
python_version: "3.10" |
|
pytorch: 2.1.2 |
|
axolotl_args: "--extra-index-url https://download.pytorch.org/whl/cu118" |
|
num_gpus: 1 |
|
- cuda: 121 |
|
cuda_version: 12.1.0 |
|
python_version: "3.10" |
|
pytorch: 2.1.2 |
|
num_gpus: 1 |
|
steps: |
|
- name: Checkout |
|
uses: actions/checkout@v4 |
|
- name: Install Python |
|
uses: actions/setup-python@v5 |
|
with: |
|
python-version: "3.10" |
|
- name: Install Modal |
|
run: | |
|
python -m pip install --upgrade pip |
|
pip install modal jinja2 |
|
- name: Update env vars |
|
run: | |
|
echo "BASE_TAG=main-base-py${{ matrix.python_version }}-cu${{ matrix.cuda }}-${{ matrix.pytorch }}" >> $GITHUB_ENV |
|
echo "PYTORCH_VERSION=${{ matrix.pytorch}}" >> $GITHUB_ENV |
|
echo "AXOLOTL_ARGS=${{ matrix.axolotl_args}}" >> $GITHUB_ENV |
|
echo "CUDA=${{ matrix.cuda }}" >> $GITHUB_ENV |
|
echo "N_GPUS=${{ matrix.num_gpus }}" >> $GITHUB_ENV |
|
- name: Run tests job on Modal |
|
run: | |
|
modal run cicd.tests |
|
|