my eye

tests.yml

Raw

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