Merge development for v1.1.0 #51
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions | |
# Will only trigger if there is a change within pybaselines or tests directories. | |
name: tests | |
on: | |
# allow manually activating the workflow | |
workflow_dispatch: | |
push: | |
branches: [ main ] | |
paths: | |
- 'pybaselines/**' | |
- 'tests/**' | |
- '.github/workflows/**' | |
pull_request: | |
# always trigger on a pull request, regardless of the branch | |
paths: | |
- 'pybaselines/**' | |
- 'tests/**' | |
- '.github/workflows/**' | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
# Use strings since yaml considers 3.10 equal to 3.1 | |
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] | |
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 required dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install "numpy>=1.20" "scipy>=1.5" pytest | |
- name: Test with required dependencies | |
run: pytest . | |
- name: Install optional dependencies | |
id: install-optional | |
# uncomment below to allow skipping future versions | |
#if: matrix.python-version != '3.13' | |
run: python -m pip install "pentapy>=1.1" "numba>=0.49" | |
- name: Test with optional dependencies | |
if: steps.install-optional.outcome == 'success' | |
run: pytest . | |
test-min-dependencies: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ['3.8'] | |
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 minimum dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install "numpy==1.20" "scipy==1.5" pytest | |
- name: Test with minimum required dependencies | |
run: pytest . | |
- name: Install minimum optional dependencies | |
run: python -m pip install "pentapy==1.1" "numba==0.49" | |
- name: Test with minimum optional dependencies | |
run: pytest . | |
lint: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ['3.11'] | |
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 linting dependencies | |
run: python -m pip install ruff | |
- name: Lint | |
run: ruff check . |