name: Run Tests and Analysis
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build-linux:
strategy:
matrix:
python-version: ["3.10"]
runs-on: "ubuntu-latest"
steps:
- name: Install graphviz
run: |
sudo apt-get update
sudo apt-get install -y graphviz
- uses: actions/checkout@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Remove development dependencies
run: sed -i '/\[tool.poetry.group.dev.dependencies\]/,/\[/d' pyproject.toml
- name: Install Poetry
uses: snok/install-poetry@v1
with:
version: 1.2.2
virtualenvs-in-project: true
- name: Install dependencies
run: poetry install --no-interaction --no-root
- name: Install library
run: poetry install --no-interaction
- name: Install development tools
run: poetry add gmpg
- uses: psf/black@stable
with:
options: "--check --verbose"
src: "."
version: "23.7"
- uses: isort/isort-action@v1
with:
configuration: "--profile black"
- name: Run tests
run: poetry run gmpg test
- name: Run analysis
run: poetry run gmpg analyze
- name: Generate dependency graph
run: poetry run gmpg graph
- uses: actions/upload-artifact@v3
with:
name: analysis
path: |
test_coverage.xml
test_results.xml
api_python.json
deps.svg