Skip to content

ci: simplify matrix jobs #45

ci: simplify matrix jobs

ci: simplify matrix jobs #45

Workflow file for this run

name: ci
on:
push:
branches: ["master"]
paths:
[
"src/**",
"tests/**",
"pyproject.toml",
"requirements.txt",
"dev.requirements",
".github/workflows/ci.yml",
]
pull_request:
branches: ["master"]
paths:
[
"src/**",
"tests/**",
"pyproject.toml",
"requirements.txt",
"dev.requirements",
".github/workflows/ci.yml",
]
# This ensures that previous jobs for the PR are canceled when the PR is
# updated.
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref }}
cancel-in-progress: true
jobs:
test:
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
os: [ubuntu-latest, macos-latest, windows-latest]
fail-fast: true
max-parallel: 3
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.9
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Setup Venv
run: |
python -m venv ./venv
- name: Install packages
run: |
source ./venv/bin/activate
pip install -r dev.requirements
pip install -r requirements.txt
- name: Run tests
run: |
source ./venv/bin/activate
pytest -vv
pip-install:
needs: test
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
os: [ubuntu-latest, macos-latest, windows-latest]
fail-fast: true
max-parallel: 3
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.9
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -r dev.requirements
- name: Install build deps
run: python3 -m pip install --upgrade build
- name: Build
run: python3 -m build
- name: Install
run: python3 -m pip install .