looks like neither lxml 4.9.0 nor 4.9.1 provide precompiled wheels for Windows CPython 3.11 so for now continue to run tests on 3.10 until that's the case
93 lines
2.5 KiB
YAML
93 lines
2.5 KiB
YAML
name: Test
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
lint:
|
|
runs-on: ubuntu-latest
|
|
# https://github.community/t/github-actions-does-not-respect-skip-ci/17325/8
|
|
if: "! contains(toJSON(github.event.commits.*.message), '[skip ci]')"
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Set up Python 3.x
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: "3.x"
|
|
- name: Install packages
|
|
run: pip install tox
|
|
- name: Run Tox
|
|
run: tox -e mypy,package_readme
|
|
|
|
test:
|
|
runs-on: ${{ matrix.platform }}
|
|
if: "! contains(toJSON(github.event.commits.*.message), '[skip ci]')"
|
|
strategy:
|
|
matrix:
|
|
python-version: ["3.8", "3.10"]
|
|
platform: [ubuntu-latest, macos-latest, windows-latest]
|
|
exclude: # Only test on the latest supported stable Python on macOS and Windows.
|
|
- platform: macos-latest
|
|
python-version: 3.8
|
|
- platform: windows-latest
|
|
python-version: 3.8
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
- name: Install packages
|
|
run: pip install tox coverage
|
|
- name: Run Tox
|
|
run: tox -e py-cov
|
|
- name: Run Tox without lxml
|
|
run: tox -e py-cov-nolxml
|
|
- name: Produce coverage files
|
|
run: |
|
|
coverage combine
|
|
coverage xml
|
|
- name: Upload coverage to Codecov
|
|
uses: codecov/codecov-action@v3
|
|
with:
|
|
file: coverage.xml
|
|
flags: unittests
|
|
name: codecov-umbrella
|
|
fail_ci_if_error: true
|
|
# see https://github.com/codecov/codecov-action/issues/557
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
|
|
test-cython:
|
|
runs-on: ubuntu-latest
|
|
if: "! contains(toJSON(github.event.commits.*.message), '[skip ci]')"
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Set up Python 3.x
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: "3.11"
|
|
- name: Install packages
|
|
run: pip install tox
|
|
- name: Run Tox
|
|
run: tox -e py-cy-nolxml
|
|
|
|
test-pypy3:
|
|
runs-on: ubuntu-latest
|
|
if: "! contains(toJSON(github.event.commits.*.message), '[skip ci]')"
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Set up Python pypy3
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: "pypy-3.8"
|
|
- name: Install packages
|
|
run: pip install tox
|
|
- name: Run Tox
|
|
run: tox -e pypy3-nolxml
|