Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pydantic v2 Compatibility #214

Merged
merged 13 commits into from
Apr 19, 2024
Prev Previous commit
Next Next commit
Test Matrix Growth
  • Loading branch information
dan-fritchman committed Mar 26, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
commit a3cbfffb1dd6bac8dbd1fb96e8f53ae19c1d1531
14 changes: 7 additions & 7 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
@@ -16,26 +16,26 @@ jobs:

# Notes on this matrix, particularly the dependencies part:
# Hdl21 has two external dependencies: Pydantic and VLSIR.
#
#
# 1. VLSIR
# This sets up testing with dependencies from both (a) PyPi and (b) "dev" versions from GitHub.
# Not every version of Hdl21 is designed to work with both.
# Eventually this should know which *should* work.
# For now it asserts that the dev-mode passes, and allows failer (`continue-on-error`) for the PyPi version.
#
#
# 2. Pydantic
# Test with both the minimum supported version, and whatever pip selects, which is generally the latest.
# Some languages/ libraries (ahem, Rust) find a way to build in this "test them min supported version" thing;
# we haven't seen one for Python, and can only really do this "manually" because there is only one.
# we haven't seen one for Python, and can only really do this "manually" because there is only one.
# Note the combinations pf `python-version` and `pydantic-version` are often relevant;
# typing-stuff generally evolves materially with each python version, and pydantic makes heavy use
# typing-stuff generally evolves materially with each python version, and pydantic makes heavy use
# of checking the current interpreter-version to try to make maximally detailed type-checking.
#
#
strategy:
fail-fast: false
matrix:
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"]
pydantic-version: ["==1.9.0", ""]
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"]
pydantic-version: ["==1.9.0", "==2.0", ""]
dep-installer: ["dev", "pypi"]
continue-on-error: ${{ matrix.dep-installer == 'pypi' || matrix.python-version == '3.11' }}

Loading