-
Notifications
You must be signed in to change notification settings - Fork 158
Drop Python 3.9 support, update ClickHouse version support for testing and upgrade linting libraries #586
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
Drop Python 3.9 support, update ClickHouse version support for testing and upgrade linting libraries #586
Conversation
| include: | ||
| # Rest of supported versions will get tested only with latest python version to reduce the number of jobs needed | ||
| - python-version: '3.12' | ||
| clickhouse-version: '25.10' | ||
| - python-version: '3.12' | ||
| clickhouse-version: '25.11' | ||
| - python-version: '3.12' | ||
| clickhouse-version: '25.12' | ||
| - python-version: '3.12' | ||
| clickhouse-version: 'latest' | ||
| - python-version: '3.12' | ||
| clickhouse-version: 'head' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
4 python versions * 7 CH versions were too many jobs and really not that useful at this point. So I have changed it so:
- Python versions and these 2 ClickHouse LTS versions will still generate the matrix of jobs.
- The rest of CH versions will get just tested with Python3.12 which is the most recent Python version with great compatibility (>2 years of dbt versions supported, covering from dbt 1.7 to recent ones)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR modernizes the testing and CI infrastructure by removing Python 3.9 support and updating ClickHouse version coverage. The changes align with dbt's supported Python versions and ClickHouse's active security support policy.
Key changes:
- Converts the testing workflow into a reusable workflow with parameterized Python and ClickHouse versions
- Adds comprehensive testing matrix for Python 3.10-3.13 and ClickHouse versions 25.3-25.12 plus
latestandhead - Updates development dependencies to newer versions for linting tools
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| dev_requirements.txt | Upgrades linting and testing dependencies (black, isort, mypy, yamllint, requests) to newer versions |
| .github/workflows/test_local_nightly.yml | Adds new nightly workflow to test against ClickHouse head version |
| .github/workflows/test_local_matrix.yml | Introduces matrix testing workflow for multiple Python and ClickHouse version combinations |
| .github/workflows/steps_local_testing.yml | Refactors testing workflow into reusable workflow with input parameters for Python and ClickHouse versions |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Changes
headtag.headtag (Closes CI - Test against ClickHouse head #573)Note
Modernizes CI and tooling around testing and linting.
steps_local_testing.ymlinto a reusable workflow (workflow_call) withpython-versionandclickhouse-versioninputs; removes internal matrix and updates env setup to use inputstest_local_matrix.ymlto run a matrix on PRs (Python 3.10–3.13; ClickHouse 25.3, 25.8; plus selective includes 25.10, 25.11, 25.12,latest,head) and drops Python 3.9test_local_nightly.ymlto run daily against ClickHouseheaddev_requirements.txtto newer versions of linting/tools (black,isort,mypy,yamllint,requests,types-requests)Written by Cursor Bugbot for commit 2eed288. This will update automatically on new commits. Configure here.