Uh oh!
There was an error while loading. Please reload this page.
Add CI support for SQLAlchemy 2.0 - #52233
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
96d2e8d to
482fff4CompareThere was a problem hiding this comment.
Pull Request Overview
This PR introduces a new entrypoint function, check_upgrade_sqlalchemy, to handle upgrading SQLAlchemy for testing SQLA v2 while also addressing several shellcheck violations.
- Adds check_upgrade_sqlalchemy implementations to both scripts/docker/entrypoint_ci.sh and Dockerfile.ci.
- Updates Breeze parameters, commands, and CI workflow to include an upgrade_sqlalchemy flag.
Reviewed Changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/docker/entrypoint_ci.sh | Adds check_upgrade_sqlalchemy function with minor quoting adjustments. |
| scripts/ci/docker-compose/devcontainer.env | Introduces UPGRADE_SQLALCHEMY environment variable. |
| dev/breeze/src/airflow_breeze/params/shell_params.py | Adds new boolean parameter upgrade_sqlalchemy. |
| dev/breeze/src/airflow_breeze/commands/developer_commands.py | Adds upgrade_sqlalchemy option to developer commands. |
| dev/breeze/src/airflow_breeze/commands/common_options.py | Adds a new click option for upgrade_sqlalchemy with help text. |
| Dockerfile.ci | Adds check_upgrade_sqlalchemy function similar to the entrypoint script. |
| .github/workflows/run-unit-tests.yml | Adds upgrade-sqlalchemy input to the CI workflow. |
Comments suppressed due to low confidence (1)
dev/breeze/src/airflow_breeze/commands/common_options.py:157
- [nitpick] The help text for the upgrade_sqlalchemy option mentions an 'experimental supported version'; consider revising it to clearly indicate that it upgrades SQLAlchemy to the latest version required for running tests, ensuring consistency with the function output.
option_upgrade_sqlalchemy = click.option(
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
d3dd43d to
d55a749CompareDev-iL
commented
Jun 25, 2025
The tests are failing as expected on SQLA v2 incompatibilities. Now what? Should I suggest in #28723 that developers rebase to my branch? |
potiuk
commented
Jun 25, 2025
Yes. And make it a part of your PR and we can continuously rebase the PRs on top of yours. This is going to be a little involved and require rebasing here and there. |
Dev-iL
commented
Jun 25, 2025
Should we perhaps decide on a single "main" branch (e.g. your one) and target the various SQLA2 PRs into it? Just to save the effort of rebasing across multiple forks... |
7bde1ac to
34e7502Compare5efe8cb to
9cb0ba2Comparebb95354 to
c6b5a04Comparec6b5a04 to
c8dc921Comparec8dc921 to
907e709Compare+ Fix some SQLA2 incompatibilities + Skip multiple tests that rely on FAB
Might help with the MySQL 8.4 + Py3.13 combination
- Make some tests more specific so as not trip on irrelevant things. - Add a couple of fixtures to ensure a predictable engine state. - Replace uses of unittest.mock with the mocker fixture. - Add tests for `AutocommitEngineForMySQL`.
potiuk
commented
Aug 10, 2025
LGTM. The MyPy fix has been fixed separated (leaving some TODOs: in type checking #54321 |
closes: #48953, #52663
related: #28723, #50960 (prerequisite that's included in this PR)
check_upgrade_sqlalchemycontainer entrypoint for testing SQLA v2 on CI^ Add meaningful description above
Read the Pull Request Guidelines for more information.
In case of fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in a newsfragment file, named
{pr_number}.significant.rstor{issue_number}.significant.rst, in airflow-core/newsfragments.