| # This workflow will install Python dependencies, run tests and lint with a variety of Python versions |
| # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python |
| |
| name: Python package |
| |
| on: |
| push: |
| branches: "*" |
| |
| jobs: |
| build: |
| |
| runs-on: ubuntu-latest |
| strategy: |
| fail-fast: false |
| matrix: |
| python-version: ["3.9", "3.10"] |
| |
| steps: |
| - uses: actions/checkout@v3 |
| - name: Set up Python ${{ matrix.python-version }} |
| uses: actions/setup-python@v3 |
| with: |
| python-version: ${{ matrix.python-version }} |
| - name: Install dependencies |
| run: | |
| python -m pip install --upgrade pip |
| python -m pip install -r requirements-dev.txt |
| - name: Run pre-commit hooks |
| run: | |
| pre-commit run --all-files |
| - name: Test with pytest |
| run: | |
| pip install -r requirements-test.txt |
| python -m pip install -e . # install the package so that test imports work. |
| pip install pytest-cov |
| python -m pytest tests --doctest-modules --junitxml=junit/test-results.xml --cov=com --cov-report=xml --cov-report=html |