Skip to content

[DOW-118] set up code linting and tests #1337

[DOW-118] set up code linting and tests

[DOW-118] set up code linting and tests #1337

Workflow file for this run

name: test
on:
push:
branches: [main]
pull_request:
branches: [main, vocode-core-0.1.0]
env:
poetry-version: "1.8.3"
jobs:
lint:
strategy:
fail-fast: false
matrix:
python-version:
- "3.10"
- "3.11"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install ffmpeg
run: |
sudo apt-get update
sudo apt-get install -y ffmpeg
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Set up Poetry
uses: abatilo/[email protected]
with:
poetry-version: ${{ env.poetry-version }}
- name: Install dependencies
run: poetry install -E all
- name: Run mypy
run: |
poetry run mypy -p vocode
poetry run mypy -p quickstarts
poetry run mypy -p playground
- name: Run black
if: success() || failure()
run: poetry run black --check .
- name: Run isort
shell: bash
if: success() || failure()
run: poetry run isort --check .
pytest:
strategy:
fail-fast: false
matrix:
python-version:
- "3.10"
- "3.11"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install ffmpeg
run: |
sudo apt-get update
sudo apt-get install -y ffmpeg
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Set up Poetry
uses: abatilo/[email protected]
with:
poetry-version: ${{ env.poetry-version }}
- name: Install dependencies
run: poetry install -E all
- name: Test with pytest
run: |
poetry run pytest -v tests
- name: Store code coverage file
uses: actions/upload-artifact@v4
with:
name: coverage-${{ github.sha }}
path: ./coverage.xml
- name: Get coverage report
if: github.event_name == 'pull_request'
uses: orgoro/[email protected]
with:
coverageFile: coverage.xml
token: ${{ secrets.GITHUB_TOKEN }}
thresholdAll: 0.60
thresholdNew: 0
thresholdModified: 0