Skip to content

Bump bugfix release and update CI configuration #246

Bump bugfix release and update CI configuration

Bump bugfix release and update CI configuration #246

name: xmlschema
on:
push:
branches: [master, develop]
pull_request:
branches: [master, develop]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: [3.8, 3.9, "3.10", 3.11, 3.12, "3.13.0", "3.14.0-alpha.1", "pypy-3.10"]
exclude:
- os: macos-latest
python-version: 3.8
- os: windows-latest
python-version: 3.8
- os: macos-latest
python-version: 3.9
- os: windows-latest
python-version: 3.9
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install pip and setuptools
run: |
python -m pip install --upgrade pip
pip install setuptools
- name: Build and install lxml for Python 3.14-alpha
if: ${{ matrix.os == 'ubuntu-latest' && matrix.python-version == '3.14.0-alpha.1' }}
run: |
sudo apt-get install -y libxml2-dev libxslt-dev python3-dev
pip install lxml
- name: Install lxml for Python < 3.14
if: ${{ matrix.python-version != '3.14.0-alpha.1' }}
run: pip install lxml
- name: Install other optional dependencies
run: pip install jinja2
- name: Test with unittest
run: |
pip install .
python -m unittest
- name: Lint with flake8
run: |
pip install flake8
flake8 xmlschema --max-line-length=100 --statistics
- name: Lint with mypy
run: |
pip install mypy==1.13.0 elementpath==4.6.0 lxml-stubs
mypy --show-error-codes --strict xmlschema