psyinfra/onyo

View on GitHub
.github/workflows/tests.yaml

Summary

Maintainability
Test Coverage
name: tests

on:
  push:
    branches:
      - main
  pull_request:

jobs:
  build-linux:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        python-version: ['3.11', '3.12', '3.13']

    steps:
    - uses: actions/checkout@v4
    - name: Set up Python ${{ matrix.python-version }}
      uses: actions/setup-python@v5
      with:
        python-version: ${{ matrix.python-version }}
    - name: git config
      run: |
        git config --global user.email "yoko@onyo.org"
        git config --global user.name "Yoko Onyo"
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -e ".[tests]"
        sudo apt-get install -y zsh
    - name: ruff linting
      run: |
        ruff check
    - name: Pyre type-checking
      run: |
        pyre --noninteractive check
    - name: Test with pytest and collect coverage
      run: |
        export REPO_ROOT=$PWD
        pytest -vv --cov
    - name: Upload coverage to Codecov
      uses: codecov/codecov-action@v4