Fix and extend workflows (#1)

* run pytest in the poetry environment
* add check jobs: black and mypy
This commit is contained in:
Gonçalo Valério 2022-04-01 20:48:05 +01:00 committed by GitHub
parent 9fea295f24
commit b779c2f436
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 52 additions and 5 deletions

47
.github/workflows/check.yml vendored Normal file
View File

@ -0,0 +1,47 @@
name: Check source
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions:
contents: read
jobs:
format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python 3.9
uses: actions/setup-python@v3
with:
python-version: "3.9"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install poetry
poetry install
- name: Check format with black
run: |
poetry run black --check .
typing:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python 3.9
uses: actions/setup-python@v3
with:
python-version: "3.9"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install poetry
poetry install
- name: Check typing with mypy
run: |
poetry run mypy inlinehashes/

View File

@ -13,7 +13,7 @@ permissions:
contents: read contents: read
jobs: jobs:
build: test:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@ -26,7 +26,7 @@ jobs:
run: | run: |
python -m pip install --upgrade pip python -m pip install --upgrade pip
pip install poetry pip install poetry
poetry install --dev poetry install
- name: Test with pytest - name: Test with pytest
run: | run: |
pytest poetry run pytest

View File

@ -11,7 +11,7 @@ from itertools import chain
import hashlib import hashlib
import base64 import base64
from bs4 import BeautifulSoup, Tag from bs4 import BeautifulSoup, Tag # type: ignore
@dataclass(frozen=True) @dataclass(frozen=True)
@ -199,7 +199,7 @@ def parse(content: str, target: str = "all") -> List[Inline]:
if target == "all": if target == "all":
search_queries = chain(*_VALID_TARGETS.values()) search_queries = chain(*_VALID_TARGETS.values())
elif target in _VALID_TARGETS.keys(): elif target in _VALID_TARGETS.keys():
search_queries = _VALID_TARGETS[target] search_queries = chain(_VALID_TARGETS[target])
else: else:
raise ValueError("Invalid Target") raise ValueError("Invalid Target")