name: Build Aiven Client

on:
  push:
    branches:
      - master
    tags:
      - '**'
  pull_request:

jobs:

  lint:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        # only use one version for the lint step
        python-version: [3.8]

    steps:

      - id: checkout-code
        uses: actions/checkout@v2

      - id: prepare-python
        uses: actions/setup-python@v2
        with:
          python-version: ${{ matrix.python-version }}

      - id: dependencies
        run: |
          pip install requests
          pip install -r requirements.dev.txt

      - id: validate-style
        run: make validate-style

      - id: flake8
        run: make flake8

      - id: mypy
        run: make mypy

      - id: pyLint
        run: make pylint

  test:
    runs-on: ${{ matrix.os }}
    needs: lint
    strategy:
      matrix:
        python-version: ['3.7', '3.8', '3.9', '3.10', 'pypy3']
        os: [ubuntu-latest, windows-latest]

    steps:
      - id: checkout-code
        uses: actions/checkout@v2

      - id: prepare-python
        uses: actions/setup-python@v2
        with:
          python-version: ${{ matrix.python-version }}

      - id: dependencies
        run: |
          python -m pip install --upgrade pip
          pip install pytest
          pip install -e .
          pytest -vv tests/


name: Build Aiven Client

on:
  push:
    branches:
      - master
    tags:
      - '**'
  pull_request:

jobs:

  lint:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        # only use one version for the lint step
        python-version: [3.8]

    steps:

      - id: checkout-code
        uses: actions/checkout@v2

      - id: prepare-python
        uses: actions/setup-python@v2
        with:
          python-version: ${{ matrix.python-version }}

      - id: dependencies
        run: |
          pip install requests
          pip install -r requirements.dev.txt

      - id: validate-style
        run: make validate-style

      - id: flake8
        run: make flake8

      - id: mypy
        run: make mypy

      - id: pyLint
        run: make pylint

  test:
    runs-on: ${{ matrix.os }}
    needs: lint
    strategy:
      matrix:
        python-version: ['3.7', '3.8', '3.9', '3.10', 'pypy-3.7', 'pypy-3.8']
        os: [ubuntu-latest, windows-latest]

    steps:
      - id: checkout-code
        uses: actions/checkout@v2

      - id: prepare-python
        uses: actions/setup-python@v2
        with:
          python-version: ${{ matrix.python-version }}

      - id: dependencies
        run: |
          python -m pip install --upgrade pip
          pip install pytest
          pip install -e .
          pytest -vv tests/


Use pypy-3.7 and pypy-3.8 on CI
Use pypy-3.7 and pypy-3.8 on CI

`pypy3` stands for Python 3.6, which was dropped recently.
