my eye

analyze.yml

Raw

name: analyze
on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main
jobs:
  analyze:
    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"
      - run: echo "$(poetry env info --path)/bin" >> $GITHUB_PATH
      - uses: jakebailey/pyright-action@v1
      - 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