miketheman/pytest-socket

View on GitHub
.github/workflows/python.yml

Summary

Maintainability
Test Coverage
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions

name: Python Tests

# Trigger the workflow on push or pull request
on: [push, pull_request]

jobs:
  build:
    # We want to run on external PRs, but not on our own internal PRs as they'll be run
    # by the push to the branch.
    if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != 'miketheman/pytest-socket'

    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os:
          - macos-latest
          - ubuntu-latest
          - windows-latest
        python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]

    steps:
    - uses: actions/checkout@v4.1.3
    - name: Install poetry
      run: pipx install poetry
    - name: Set up Python ${{ matrix.python-version }}
      uses: actions/setup-python@v5
      with:
        python-version: ${{ matrix.python-version }}
        cache: 'poetry'
    - name: Prepare project for development
      run: poetry install
    - name: Test with pytest
      run: |
        poetry run coverage run -m pytest
        poetry run coverage report --show-missing