Skip to content

Commit 8ee07f5

Browse files
committed
CI tests multiple python versions
1 parent 1fbcac4 commit 8ee07f5

File tree

2 files changed

+13
-12
lines changed

2 files changed

+13
-12
lines changed

.github/workflows/main.yaml

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,30 +12,32 @@ concurrency:
1212
jobs:
1313
test:
1414
runs-on: [ self-hosted, python-small ]
15-
env:
16-
PYTHON_VERSION: "3.11"
15+
strategy:
16+
matrix:
17+
python-version: ["3.10", "3.11", "3.12", "3.13"]
18+
fail-fast: false # Don't cancel other jobs if one fails
19+
name: Test (Python ${{ matrix.python-version }})
1720
steps:
1821
- uses: actions/checkout@v4
1922
- name: Install Python and UV
2023
uses: astral-sh/setup-uv@v5
2124
with:
22-
python-version: ${{ env.PYTHON_VERSION }}
25+
python-version: ${{ matrix.python-version }}
2326
- name: Install dependencies
2427
run: |
2528
uv sync --group dev
2629
- name: Run sanity check
2730
run: |
28-
cd dataframe_expectations
2931
uv run python sanity_checks.py
30-
cd ..
32+
working-directory: dataframe_expectations
3133
- name: Run tests
3234
run: |
3335
uv run pytest tests/ --cov=dataframe_expectations
3436
3537
lint:
3638
runs-on: [ self-hosted, python-small ]
3739
env:
38-
PYTHON_VERSION: "3.11"
40+
PYTHON_VERSION: "3.11" # Use a single version for linting
3941
steps:
4042
- uses: actions/checkout@v4
4143
- name: Install Python and UV
@@ -52,7 +54,7 @@ jobs:
5254
docs:
5355
runs-on: [ self-hosted, python-small ]
5456
env:
55-
PYTHON_VERSION: "3.11"
57+
PYTHON_VERSION: "3.11" # Use a single version for docs
5658
needs: [test, lint]
5759
steps:
5860
- uses: actions/checkout@v4
@@ -65,6 +67,5 @@ jobs:
6567
uv sync --group docs
6668
- name: Build docs
6769
run: |
68-
cd docs
6970
uv run sphinx-build source build/html
70-
cd ..
71+
working-directory: docs

pyproject.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name = "dataframe-expectations"
33
version = "0.1.0"
44
description = "Python library designed to validate Pandas and PySpark DataFrames using customizable, reusable expectations"
55
readme = "README.md"
6-
requires-python = ">=3.11"
6+
requires-python = ">=3.10"
77
dependencies = [
88
"pandas>=2.3.3",
99
"pyspark>=4.0.1",
@@ -30,11 +30,11 @@ docs = [
3030

3131

3232
[tool.ruff]
33-
target-version = "py311"
33+
target-version = "py310" # Target the minimum supported version
3434
line-length = 100
3535

3636
[tool.mypy]
37-
python_version = 3.11
37+
python_version = "3.10" # Target the minimum supported version
3838
warn_unused_configs = false
3939
disallow_untyped_defs = false
4040
warn_return_any = false

0 commit comments

Comments
 (0)