ak-gupta/bayte

View on GitHub
.github/workflows/test-package.yml

Summary

Maintainability
Test Coverage
# Install and test

name: Python package

on:
    push:
        branches:
            - develop
            - main
    pull_request:
        branches:
            - develop
            - main

jobs:
    test:
        runs-on: ubuntu-latest
        strategy:
            matrix:
                python_version:
                    - 3.8
                    - 3.9
                    - '3.10'
                    - '3.11'
        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 setuptools and upgrade pip
              run: python -m pip install 'setuptools>=64.0.0' 'pip>=22.3'

            - name: Install dependencies
              run: python -m pip install -r requirements.txt .[plots,tests,qa]

            - name: Run ruff QA checks
              run: python -m ruff check .

            - name: Check formatting
              run: python -m ruff format . --check

            - name: Check static typing
              run: python -m mypy bayte

            - name: Run unit testing
              run: python -m pytest tests --cov=./bayte --cov-report=xml

            - name: Run Codecov
              uses: codecov/codecov-action@v3
              with:
                token: ${{ secrets.CODECOV_TOKEN }}
                fail_ci_if_error: true
                files: ./coverage.xml
                verbose: true