potiuk opened a new pull request #22573:
URL: https://github.com/apache/airflow/pull/22573
Kubernetes and Celery are both providers and part of the core.
The dependencies for both are added via "extras" which makes them
"soft" limits and in case of serious dependency bumps this might
end up with a mess (as we experienced with bumping min K8S
library version from 11.0.0 to 22.* (resulting in yanking 4
versions of `cncf.kubernetes` provider.
After this learning, we approach K8S and Celery dependencies a bit
differently than any other dependencies.
* for Celery and K8S (and Dask but this is rather an afterhought)
we do not strip-off the dependencies from the extra (so for
example [cncf.kubernetes] extra will have dependencies on
both 'apache-airflow-providers-cncf-kubernetes' as well as
directly on kubernetes library
* We add upper-bound limits for both Celery and Kubernetes to prevent
from accidental upgrades. Both Celery and Kubernetes Python library
follow SemVer, and they are crucial components of Airlfow so they
both squarely fit our "do not upper-bound" exceptions.
* We also add a rule that whenever dependency upper-bound limit is
raised, we should also make sure that additional testing is done
and appropriate `apache-airflow` lower-bound limit is added for
the `apache-airflow-providers-cncf-kubernetes` and
`apache-airflow-providers-celery` providers.
That should protect our users in all scenarios where they might
unknowingly attempt to upgrade Kubernetes or Celery to incompatible
version.
Related to: #22560, #21727
<!--
Thank you for contributing! Please make sure that your code changes
are covered with tests. And in case of new features or big changes
remember to adjust the documentation.
Feel free to ping committers for the review!
In case of existing issue, reference it using one of the following:
closes: #ISSUE
related: #ISSUE
How to write a good git commit message:
http://chris.beams.io/posts/git-commit/
-->
---
**^ Add meaningful description above**
Read the **[Pull Request
Guidelines](https://github.com/apache/airflow/blob/main/CONTRIBUTING.rst#pull-request-guidelines)**
for more information.
In case of fundamental code change, Airflow Improvement Proposal
([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvements+Proposals))
is needed.
In case of a new dependency, check compliance with the [ASF 3rd Party
License Policy](https://www.apache.org/legal/resolved.html#category-x).
In case of backwards incompatible changes please leave a note in
[UPDATING.md](https://github.com/apache/airflow/blob/main/UPDATING.md).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]