Mithil467/mitype

View on GitHub
.github/workflows/ci.yml

Summary

Maintainability
Test Coverage
name: Code quality and build check

on:
  push:
    branches: [master]
  pull_request:
    branches: [master]

jobs:
  black:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Install black dependencies
        run: |
          python -m pip install --upgrade pip
          pip install black
      - name: Check if linted with black
        run: |
          black --check .

  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install isort
      - name: Check if imports are sorted
        run: |
          isort --profile black . --check


  tests:
    needs: [black, lint]
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: ["3.7", "3.8", "3.9", "3.10"]
    steps:
      - uses: actions/checkout@v2
      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v2
        with:
          python-version: ${{ matrix.python-version }}
      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install tox
      - name: Test with tox
        run: |
          tox

  doc:
    needs: [tests]
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install sphinx sphinx_rtd_theme
      - name: Build docs
        run: |
          sphinx-build ./docs/source ./build