Skip to content

feat: cythonise all sources #750

feat: cythonise all sources

feat: cythonise all sources #750

Workflow file for this run

name: Continuous Integration
on:
schedule:
- cron: "0 0 * * 3"
push:
branches:
- main
pull_request:
branches:
- main
paths:
- .github/workflows/cis.yml
- "src/**"
- "tests/*"
- pyproject.toml
- tox.ini
jobs:
lint:
name: Lint code
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.12"
- name: Install tools
run: |
python -m pip install --upgrade pip
python -m pip install tox
- name: Linting
env:
TOXENV: lint
run: |
tox
tests:
name: "Unit tests (Python ${{ matrix.python-version }}, ${{ matrix.pure_python && 'pure' || 'cython' }})"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.11", "3.12", "3.13", "3.14"]
pure_python: ["", "1"]
steps:
- uses: actions/checkout@v6
- name: Get history and tags for SCM versioning to work
run: |
git fetch --prune --unshallow
git fetch --depth=1 origin +refs/tags/*:refs/tags/*
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install tox
- name: Test
env:
BYTECODE_PURE_PYTHON: ${{ matrix.pure_python }}
run: |
tox -e py$(echo '${{ matrix.python-version }}' | tr -d .)
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v6
if: github.event_name != 'schedule'
with:
token: ${{ secrets.CODECOV_TOKEN }}
name: codecov-umbrella
fail_ci_if_error: true