Philipp Horstenkamp 9c237402be
Excluded ipynb files from json pretty formatter + poetry update (#50)
* Excluded ipynb files from json pretty formatter +  poetry update
* Reworked pip audit
* Relocated dependencies
* Reworked the tests a bit.
* Poetry update
* Excluded lint and test workflows against the target branch
2023-08-16 20:25:15 +02:00

102 lines
2.7 KiB
YAML

name: Python-Lint
on:
push:
paths:
- '*.py'
- poetry.lock
- pyproject.toml
pull_request:
jobs:
Black:
runs-on: ubuntu-latest
steps:
- name: Set up python
id: setup-python
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Check out Git repository
uses: actions/checkout@v3
- name: Install and configure Poetry
uses: snok/install-poetry@v1
with:
version: 1.4.2
virtualenvs-create: false
virtualenvs-path: ~/local/share/virtualenvs
- run: poetry install --without develop,doc,test
- name: Run linters
run: |
black src tests
mypy:
runs-on: ubuntu-latest
steps:
- name: Set up python
id: setup-python
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Check out Git repository
uses: actions/checkout@v3
- name: Install and configure Poetry
uses: snok/install-poetry@v1
with:
version: 1.4.2
virtualenvs-create: false
virtualenvs-path: ~/local/share/virtualenvs
- run: poetry install --without develop,doc
- name: Run linters
run: |
mypy src tests --install-types --non-interactive
ruff:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: chartboost/ruff-action@v1
with:
version: 0.0.277
python-requirements:
name: Check Python Requirements
runs-on: ubuntu-latest
steps:
- name: Set up python
id: setup-python
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install and configure Poetry
uses: snok/install-poetry@v1
with:
version: 1.4.2
virtualenvs-path: ~/local/share/virtualenvs
- name: Cache pipenv
id: cache-pipenv
uses: actions/cache@v3
with:
path: ~/.local/share/virtualenvs
key: venv
- name: Check out Git repository
uses: actions/checkout@v3
- name: Poetry export
run: poetry export -f requirements.txt --output requirements.txt
- name: Check license
run: |
pip install pip-licenses
pip-licenses --format=markdown --output-file=license-summary.md
- name: Archive license summary
uses: actions/upload-artifact@v3
with:
name: license-summary
path: |
license-summary.md
requirements.txt
- name: Check requirements security with pip-audit
run: |
pip install pip-audit
pip-audit -r requirements.txt --no-deps --disable-pip || true
pip-audit -r requirements.txt --format=markdown --output=lbr-audit.md --no-deps --disable-pip