evaluation workflow (#29) #126
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: | |
python-version: ["3.11"] | |
poetry-version: ["1.3.2"] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Run black formatting check | |
uses: psf/[email protected] | |
- 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 Ruff | |
run: poetry run ruff check . | |
#- name: Run Pyright (type checking) | |
#run: poetry run pyright | |