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

Update developer CI actions and package metadata to include Python 3.12 #263

Merged
merged 3 commits into from
Feb 15, 2024

Conversation

tlento
Copy link
Collaborator

@tlento tlento commented Feb 15, 2024

The initial PR for updating to Python 3.12 was missing a metadata update
for publishing supported version ranges to package distributions.

While updating this I noticed that other actions were explicitly testing against
Python 3.9 due to a dependency on an old composite action hard-coded to
3.9 from way back when the Transform product only supported that Python version.
I've taken the liberty of updating all of these actions to use matrix strategies that
test either the complete set of supported Python versions (unit tests) or the min and
max supported Python versions (development-focused actions).

The supported Python version list published to PyPi did not include
3.12. Now it does.
We have a composite GitHub action for installing Python and
Hatch, but it is pegged to Python 3.9 whereas we'd typically want
to either test our minimum version (currently 3.8) or a matrix of
supported versions.

This parameterizes the action so we can pass in the version we
would like to test, and updates existing callers accordingly.
The composite action for setting up a python env with an interpreter
and hatch install now allows parameterized configuration,
meaning we can use a python version matrix across all of our actions.

This commit moves the pytest action to use the env setup helper,
and updates the other actions to run a test matrix against our
endpoint versions (currently 3.8 and 3.12) under the assumption
that things working on the endpoints will also work in the middle.
While we could test all versions, in practice the actions with this
smaller test surface wouldn't really benefit from this, and any
developer running into problems there should be able to fix and test
version-specific problems independently.
@tlento
Copy link
Collaborator Author

tlento commented Feb 15, 2024

The JSON schema action also passes on this PR. See https://github.com/dbt-labs/dbt-semantic-interfaces/actions/runs/7921098902

@tlento tlento marked this pull request as ready for review February 15, 2024 19:15
@tlento tlento changed the title py312 finalization Update developer CI actions and publish metadata to include Python 3.12 Feb 15, 2024
@tlento tlento changed the title Update developer CI actions and publish metadata to include Python 3.12 Update developer CI actions and package metadata to include Python 3.12 Feb 15, 2024
@tlento tlento merged commit 23e6318 into main Feb 15, 2024
54 checks passed
@tlento tlento deleted the py312-finalization branch February 15, 2024 19:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants