name: checks

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  formatting:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: ["3.9"]
        poetry-version: ["1.2.1"]
    steps:
      - uses: actions/checkout@v2
      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v2
        with:
          python-version: ${{ matrix.python-version }}
      - name: Set up Poetry ${{ matrix.poetry-version }}
        uses: abatilo/actions-poetry@v2
        with:
          poetry-version: ${{ matrix.poetry-version }}
      - name: Install packages
        run: poetry install --with dev
      - name: Check black
        run: poetry run black --check .
      - name: Check isort
        run: poetry run isort --profile black --check-only .
  linting:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: ["3.9"]
        poetry-version: ["1.2.1"]
    steps:
      - uses: actions/checkout@v2
      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v2
        with:
          python-version: ${{ matrix.python-version }}
      - name: Set up Poetry ${{ matrix.poetry-version }}
        uses: abatilo/actions-poetry@v2
        with:
          poetry-version: ${{ matrix.poetry-version }}
      - name: Install packages
        run: poetry install --with dev
      - name: Setup mypy
        run: yes | poetry run mypy cashu --install-types || true
      - name: Run mypy
        run: poetry run mypy cashu --ignore-missing
