-
Notifications
You must be signed in to change notification settings - Fork 14.4k
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
dill version conflict fails CI #14994
Comments
Thanks for opening your first issue here! Be sure to follow the issue template! |
We are using constraints to limit the version of dill that is installed, however we know apache beam has a number of problems with dependencies. The reason we are not failing in CI is simple: Line 750 in fe2a70c
The |
The problem will be solved finaly in the next version of beam it seems - see apache/beam#14328. In the meantime I will make a change that will make us ready to remove beam from this exclusion when new version is released without mock dependency. |
With the upcoming apache-beam change where mock library will be removed from install dependencies, we will be able to remove `apache-beam` exclusion in our CI scripts. This will be a final step of cleaning dependencies so that we have a truly golden set of constraints that will allow to install airflow and all community managed providers (we managed to fix all those dependency issues for all packages but apache-beam). The fix apache/beam#14328 when merged and Apache Beam is released will allow us to migrate to the new version and get rid of the CI exclusion for beam. Closes: apache#14994
…15048) * Upgrades moto to newer version (~=2.0) According to getmoto/moto#3535 (comment) 1.3.17 version of moto with a fix to be compatible with mock> 4.0.3 is not going to be released because of breaking changes. Therefore we need to migrate to newer version of moto. At the same time we can get rid of the old botocore limitation, which was added apparently to handle some test errors. We are relying fully on what boto3 depends on. Upgrading dependencies also discovered that mysql tests need to be fixed because upgraded version of dependencies cause some test failure (those turned out to be badly written tests). * Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix With the upcoming apache-beam change where mock library will be removed from install dependencies, we will be able to remove `apache-beam` exclusion in our CI scripts. This will be a final step of cleaning dependencies so that we have a truly golden set of constraints that will allow to install airflow and all community managed providers (we managed to fix all those dependency issues for all packages but apache-beam). The fix apache/beam#14328 when merged and Apache Beam is released will allow us to migrate to the new version and get rid of the CI exclusion for beam. Closes: #14994
…15048) * Upgrades moto to newer version (~=2.0) According to getmoto/moto#3535 (comment) 1.3.17 version of moto with a fix to be compatible with mock> 4.0.3 is not going to be released because of breaking changes. Therefore we need to migrate to newer version of moto. At the same time we can get rid of the old botocore limitation, which was added apparently to handle some test errors. We are relying fully on what boto3 depends on. Upgrading dependencies also discovered that mysql tests need to be fixed because upgraded version of dependencies cause some test failure (those turned out to be badly written tests). * Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix With the upcoming apache-beam change where mock library will be removed from install dependencies, we will be able to remove `apache-beam` exclusion in our CI scripts. This will be a final step of cleaning dependencies so that we have a truly golden set of constraints that will allow to install airflow and all community managed providers (we managed to fix all those dependency issues for all packages but apache-beam). The fix apache/beam#14328 when merged and Apache Beam is released will allow us to migrate to the new version and get rid of the CI exclusion for beam. Closes: #14994 (cherry picked from commit ec962b0)
…15048) * Upgrades moto to newer version (~=2.0) According to getmoto/moto#3535 (comment) 1.3.17 version of moto with a fix to be compatible with mock> 4.0.3 is not going to be released because of breaking changes. Therefore we need to migrate to newer version of moto. At the same time we can get rid of the old botocore limitation, which was added apparently to handle some test errors. We are relying fully on what boto3 depends on. Upgrading dependencies also discovered that mysql tests need to be fixed because upgraded version of dependencies cause some test failure (those turned out to be badly written tests). * Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix With the upcoming apache-beam change where mock library will be removed from install dependencies, we will be able to remove `apache-beam` exclusion in our CI scripts. This will be a final step of cleaning dependencies so that we have a truly golden set of constraints that will allow to install airflow and all community managed providers (we managed to fix all those dependency issues for all packages but apache-beam). The fix apache/beam#14328 when merged and Apache Beam is released will allow us to migrate to the new version and get rid of the CI exclusion for beam. Closes: #14994 (cherry picked from commit ec962b0)
Currently all PRs have their CI failing during the Check if CI image build is needed stage because
pip check
fails withThe source of the conflict is simple; Airflow itself declares
dill>=0.2.2, <0.4
, butapache-beam[gcp]
(pulled in by extra) declares>=0.3.1.1,<0.3.2
. The CI is currently using pip’s legacy resolver, which naively chooses in dill 0.3.3 when it seems the initial requirement inapache-airflow
to cause the conflict.The thing I’ve not figured out, however, is why the CI worked previously. Neither
apache-airflow
andapache-beam
have changed this particular dependency declaration for quite a long time, and a similar conflict should have occured long ago.As for a fix, the simplest solution would be to pin
apache-airflow
’sdill
dependency to<0.3.2
. Or switch to pip’s new resolver, which can correctly installapache-airflow[all]
as of pip 21.0.1 from my test run.The text was updated successfully, but these errors were encountered: