Philipp Horstenkamp e4a57c9136
Chore/rework workflow (#52)
* Reworked the lint action
* Removed the file change requirement
* Repaired mypy
* Repaired pip-audit
2023-08-17 22:05:12 +02:00

94 lines
2.4 KiB
YAML

name: Python-Lint
on:
push:
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
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-create: true
virtualenvs-path: ~/local/share/virtualenvs
- name: Check out Git repository
uses: actions/checkout@v3
- name: Install root, pip-licenses & pip-audit
run: |
poetry install --only-root
poetry run pip install pip-licenses pip-audit
- name: Poetry export
run: poetry export -f requirements.txt --output requirements.txt
- name: Check license
run: |
poetry run 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: |
poetry run pip-audit --format markdown -o lbr-audit.md