Skip to content

🔨 more tox, less poe (#431) #1024

🔨 more tox, less poe (#431)

🔨 more tox, less poe (#431) #1024

Workflow file for this run

name: CI
on:
push:
branches:
- master
pull_request:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
env:
UV_FROZEN: 1
jobs:
lint:
runs-on: ubuntu-latest
timeout-minutes: 2
steps:
- uses: actions/checkout@v4
- uses: scientific-python/repo-review@v0.11.3
with:
plugins: sp-repo-review
- name: markdownlint
uses: DavidAnson/markdownlint-cli2-action@v19
with:
config: ".markdownlint.yaml"
globs: "**/*.md"
- name: typos
uses: crate-ci/typos@master
- uses: astral-sh/setup-uv@v5
with:
enable-cache: true
python-version: "3.13"
version: latest
- name: ruff
run: |
uv run ruff check --output-format=github
uv run ruff format --check
generate-matrix:
name: Generate Test Matrix
runs-on: ubuntu-latest
timeout-minutes: 1
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true
python-version: "3.13"
version: latest
- name: Generate Matrix
id: set-matrix
shell: bash
run: |
matrix=$(uv run scripts/generate_matrix.py | jq -c)
echo "matrix=$matrix" >> $GITHUB_OUTPUT
typetest:
needs: generate-matrix
runs-on: ubuntu-latest
timeout-minutes: 3
strategy:
fail-fast: false
matrix: ${{ fromJSON(needs.generate-matrix.outputs.matrix) }}
steps:
- uses: actions/checkout@v4
- name: setup uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true
python-version: ${{ matrix.python }}
- name: basedpyright
run: >
uv run --with="numpy==${{ matrix.numpy }}"
basedpyright
- name: basedmypy
run: >
uv run --with="numpy==${{ matrix.numpy }}"
mypy
--tb
--hide-error-context
--hide-error-code-links
.
- name: stubtest
run: >
uv run --with="numpy==${{ matrix.numpy }}" --no-editable
stubtest
--tb
--ignore-unused-allowlist
--allowlist=.mypyignore
--mypy-config-file=pyproject.toml
scipy