-
Notifications
You must be signed in to change notification settings - Fork 14.5k
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
Add lower bound to asgiref in providers #43001
Conversation
…cicd/lower_version_pins
Since, |
@potiuk , Can you please check this PR? I added dependencies for all providers(with missing pins for asgiref) and yet its printing the warning. Link to warning - https://github.com/apache/airflow/actions/runs/11325445901/job/31492421131?pr=43001#step:10:601 |
Yeah. that's expected and it should fix itself when we merge to main (you will be able to see it in This piece of output is:
If you look closely - it downloads airlfow from The way how docker layers work makes it difficult to cache dependencies from Python - because you first need to copy the dependency specifications (pyproject.toml, hatch_build.py, provider.yaml files) or airflow sources to the image in order to perform installation: As an example (simplified):
The thing is that when you copy There are various strategies to cope with it - most of them can use But airflow is a BEAST. The uv cache almost doubles the size of our image (2GB -> 4GB) because the Instead we are using remote cache https://docs.docker.com/build/cache/optimize/#use-an-external-cache - basically our images, when they build locally use This way the cache is refreshed every time And the "download main archive + install it" - will generally prepare a
In this scenario:
This means that in most cases rebuilding images is < 1 minute (and in some cases under 20 seconds) when sources or pyproject.toml changes. This saves enormous build time for CI and wait time for developers using breeze. That's why currently this step installs still Now - I think the caching is currently slightly broken after the "providers" move (that's why you see it in the first place) - I am going to take a look at it shortly #42999 (generally you should not normally see "main" being run in the Dockerfile in your PR. It should come from the cache. |
cc: @ashb -> detailed explanation about our CI image strategy ^^ |
I made it ready for review and merged (the mypy issue is fixed in main). You might take a look in a few ours @rawwar for Canary builds and see if the warning appears there https://github.com/apache/airflow/actions?query=event%3Aschedule |
Let's see :) |
Locally, i just did a |
related to #42989