Skip to content

Test against Python 3.13 #153

Test against Python 3.13

Test against Python 3.13 #153

Workflow file for this run

name: "Test"
on:
push:
branches: [main, github-actions-test]
paths-ignore:
- "docs/**"
- "README.md"
- "LICENSE.txt"
- ".gitignore"
pull_request:
branches: [main]
paths-ignore:
- "docs/**"
- "README.md"
- "LICENSE.txt"
- ".gitignore"
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
jobs:
pytest:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
python-version: ["3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
cache-dependency-path: "pyproject.toml"
# karateclub forces us to use an older SciPy version without wheels for
# Python 3.13. We need to install the build dependencies for SciPy to
# install SciPy from source.
- name: Install Build Dependencies
if: ${{ matrix.python-version == '3.13' }}
run: |
sudo apt-get update
sudo apt-get install -y gcc g++ gfortran libopenblas-dev liblapack-dev pkg-config python3-pip python3-dev
- name: Install main package [pip]
run: |
pip install "karateclub @ git+https://github.com/benedekrozemberczki/karateclub@cb46a91df8dcbeb2570debcf6a9d0c518107a2de"
pip install -e .[all]
- name: Typecheck [mypy]
run: |
mypy -p topoembedx
- name: Run tests [pytest]
run: |
pytest --cov --cov-report=xml:coverage.xml
- name: Upload coverage
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: coverage.xml
fail_ci_if_error: false