Resolve Issue 161 #611
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
# This pipeline checks whether the package | |
# installs properly, passes unit tests and whether | |
# the code formatting is right. | |
name: build | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
matrix: | |
# Use only 3.11 as for 3.12 pytype is not supported yet | |
python-version: ["3.11"] | |
poetry-version: ["1.3.2"] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Run isort check | |
uses: isort/isort-action@master | |
- name: Run black formatting check | |
uses: psf/black@stable | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: "pip" | |
- name: Install Poetry | |
uses: snok/install-poetry@v1 | |
with: | |
virtualenvs-create: true | |
virtualenvs-in-project: true | |
version: ${{ matrix.poetry-version }} | |
- name: Cache dependencies | |
id: cache-deps | |
uses: actions/cache@v2 | |
with: | |
path: .venv | |
key: pydeps-${{ hashFiles('**/poetry.lock') }} | |
- name: Install the dependencies | |
run: poetry install --no-interaction --no-root --with dev | |
if: steps.cache-deps.outputs.cache-hit != 'true' | |
- name: Install the module | |
run: poetry install --with dev --no-interaction | |
- name: Run unit tests | |
run: poetry run pytest | |
- name: Run Flake8 check | |
run: poetry run flake8 | |
- name: Run pytype check | |
run: poetry run pytype | |