Voice SDK #426
Workflow file for this run
This file contains 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
name: Package CI | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
build-unit: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: | |
- "3.9" | |
- "3.10" | |
- "3.11" | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Python ${{ matrix.python-version }} Setup | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install Python dependencies | |
shell: bash | |
run: | | |
pip install poetry | |
if [ -d /poetryenvs ]; then rm -rf ~/poetryenvs; fi | |
poetry config virtualenvs.path ~/poetryenvs | |
poetry install | |
- name: Run flake8 | |
shell: bash | |
run: | | |
poetry run pflake8 hume --config pyproject.toml | |
poetry run pflake8 tests --config pyproject.toml | |
- name: Run pylint | |
shell: bash | |
run: | | |
poetry run pylint hume --rcfile pyproject.toml | |
- name: Run mypy | |
shell: bash | |
run: | | |
poetry run mypy hume --config pyproject.toml | |
- name: Run pytest | |
shell: bash | |
env: | |
HUME_DEV_API_KEY: ${{ secrets.HUME_DEV_API_KEY }} | |
run: | | |
poetry run pytest tests --cov=hume --cov-report=html --cov-report=xml --cov-branch -m "(not service) and (not microphone)" | |
- name: Run pydocstyle | |
shell: bash | |
run: | | |
poetry run pydocstyle hume | |
- name: Upload HTML Coverage | |
uses: actions/upload-artifact@v2 | |
with: | |
name: hume-unit-coverage-html | |
path: hume/htmlcov | |
- name: Upload XML Coverage | |
uses: actions/upload-artifact@v2 | |
with: | |
name: hume-unit-coverage-xml | |
path: hume/coverage.xml | |
- name: Check Coverage | |
shell: bash | |
run: | | |
poetry run covcheck coverage.xml --config pyproject.toml --group unit | |
build-service: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: | |
- "3.10" | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Python ${{ matrix.python-version }} Setup | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install Python dependencies | |
shell: bash | |
run: | | |
pip install poetry | |
if [ -d /poetryenvs ]; then rm -rf ~/poetryenvs; fi | |
poetry config virtualenvs.path ~/poetryenvs | |
poetry install | |
- name: Run pytest | |
shell: bash | |
env: | |
HUME_DEV_API_KEY: ${{ secrets.HUME_DEV_API_KEY }} | |
run: | | |
poetry run pytest tests --cov=hume --cov-report=html --cov-report=xml --cov-branch -m service | |
- name: Upload HTML Coverage | |
uses: actions/upload-artifact@v2 | |
with: | |
name: hume-service-coverage-html | |
path: hume/htmlcov | |
- name: Upload XML Coverage | |
uses: actions/upload-artifact@v2 | |
with: | |
name: hume-service-coverage-xml | |
path: hume/coverage.xml | |
- name: Check Coverage | |
shell: bash | |
run: | | |
poetry run covcheck coverage.xml --config pyproject.toml --group service | |
build-microphone: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: | |
- "3.10" | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Python ${{ matrix.python-version }} Setup | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install system dependencies | |
shell: bash | |
run: | | |
sudo apt-get --yes update | |
sudo apt-get --yes install libasound2-dev libportaudio2 | |
- name: Install Python dependencies | |
shell: bash | |
run: | | |
pip install poetry | |
if [ -d /poetryenvs ]; then rm -rf ~/poetryenvs; fi | |
poetry config virtualenvs.path ~/poetryenvs | |
poetry install -E microphone | |
- name: Run pytest | |
shell: bash | |
env: | |
HUME_DEV_API_KEY: ${{ secrets.HUME_DEV_API_KEY }} | |
run: | | |
poetry run pytest tests --cov=hume --cov-report=html --cov-report=xml --cov-branch -m microphone |