# Github Actions workflow file name: main # Controls when the workflow will run on: # Run when commits are pushed. push: # Allows you to run this workflow manually from the Actions tab workflow_dispatch: # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: # Run checks on Python code. check-python: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Set up Python 3.11 uses: actions/setup-python@v4 with: python-version: '3.11' - name: Install dependencies run: pip install --upgrade mypy pylint - name: Run mypy run: mypy --disallow-incomplete-defs python tests - name: Run pylint run: pylint --ignore=test_mwmatching.py python tests # Run tests on Python code. full-test-python: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Set up Python 3.11 uses: actions/setup-python@v4 with: python-version: '3.11' - name: Install dependencies run: pip install --upgrade coverage - name: Show Python version run: python3 --version - name: Run unittests run: python3 python/test_mwmatching.py - name: Check unittest coverage run: | coverage erase coverage run --branch python/test_mwmatching.py coverage report -m --fail-under=99 # Run unittests on multiple Python versions. unittest-python: runs-on: ubuntu-latest strategy: matrix: python-version: ["3.7", "3.8", "3.9", "3.10", "3.12-dev", "pypy3.9"] steps: - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Show Python version run: python3 --version - name: Run unittests run: python3 python/test_mwmatching.py