Skip to content

Typing.

Typing. #103

Workflow file for this run

name: Lint and test
on:
workflow_dispatch:
push:
jobs:
linting:
runs-on: ubuntu-latest
steps:
- name: Checkout 🛎️
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Install dependencies ☕️
run: |
pip install -U pip setuptools
pip install .[dev]
- name: Lint 🔍
run: ./tests/linting.sh
typecheck:
strategy:
fail-fast: false
matrix:
version:
- {python: "3.8", os: ubuntu-latest}
- {python: "3.9", os: ubuntu-latest}
- {python: "3.10", os: ubuntu-latest}
- {python: "3.11", os: ubuntu-latest}
- {python: "3.12", os: ubuntu-latest}
- {python: "3.13", os: ubuntu-latest}
runs-on: ${{ matrix.version.os }}
name: typecheck (python ${{ matrix.version.python }})
steps:
- name: Checkout 🛎️
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Setup python 🐍
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.version.python }}
- name: Install dependencies ☕️
run: |
pip install -U pip setuptools
pip install .[dev]
- name: Typecheck 📋
run: ./tests/typecheck.sh
unittest:
strategy:
fail-fast: false
matrix:
version:
- {python: "3.7", os: ubuntu-22.04}
- {python: "3.8", os: ubuntu-latest}
- {python: "3.9", os: ubuntu-latest}
- {python: "3.10", os: ubuntu-latest}
- {python: "3.11", os: ubuntu-latest}
- {python: "3.12", os: ubuntu-latest}
- {python: "3.13", os: ubuntu-latest}
runs-on: ${{ matrix.version.os }}
name: unittest (python ${{ matrix.version.python }})
steps:
- name: Checkout 🛎️
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Setup python 🐍
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.version.python }}
- name: Install dependencies ☕️
run: |
pip install -U pip setuptools
pip install .[dev]
- name: Test 🎢
run: ./tests/unittest.sh
pypi:
runs-on: ubuntu-latest
steps:
- name: Checkout 🛎️
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Setup python 🐍
uses: actions/setup-python@v5
with:
python-version: 3.9
- name: Install dependencies ☕️
run: |
pip install -U pip setuptools
pip install -U twine build
- name: Check bundling 📦
run: python -m build
- name: Check setup 🚦
run: twine check "dist/scinum-*.tar.gz"
coverage:
runs-on: ubuntu-latest
steps:
- name: Checkout 🛎️
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Setup python 🐍
uses: actions/setup-python@v5
with:
python-version: 3.9
- name: Install dependencies ☕️
run: |
pip install -U pip setuptools
pip install .[dev]
- name: Run coverage test 🎢
run: ./tests/coverage.sh
- name: Upload report 🔝
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage.xml
flags: unittests
fail_ci_if_error: false