Skip to content
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

Switch to pip for all PROD images built in the release branches #38749

Conversation

potiuk
Copy link
Member

@potiuk potiuk commented Apr 4, 2024

In main we are using uv to build CI and PROD images to gain enormous speed improvements. This helps with faster PR checks and iterations and lowers the CI cost. However uv is not entirely stable yet and there are conditions that make it fail sometimes (for example when old packages, not excluded by our limits are published with wrong versions), also release imge is built with pip and will continue to be built with pip. The gains for PROD iumage builds with uv are much smaller than the ones for CI builds, so it's perfectly fine to switch all release branch builds to use pip for PROD image builds - we do not loose too much by doing it, but we gain stability.


^ 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.rst or {issue_number}.significant.rst, in newsfragments.

In main we are using `uv` to build CI and PROD images to gain
enormous speed improvements. This helps with faster PR checks and
iterations and lowers the CI cost. However `uv` is not entirely
stable yet and there are conditions that make it fail sometimes
(for example when old packages, not excluded by our limits are
published with wrong versions), also release imge is built with
`pip` and will continue to be built with `pip`. The gains for
PROD iumage builds with uv are much smaller than the ones for CI
builds, so it's perfectly fine to switch all `release branch` builds
to use `pip` for PROD image builds - we do not loose too much by
doing it, but we gain stability.
@potiuk
Copy link
Member Author

potiuk commented Apr 4, 2024

Side comment: I love how easy it is now to make changes like that to the CI workflows of ours after I restructured it :)

@potiuk potiuk requested a review from Taragolis April 4, 2024 12:44
@potiuk potiuk added this to the Airflow 2.9.0 milestone Apr 4, 2024
@potiuk potiuk merged commit be89300 into apache:main Apr 4, 2024
64 checks passed
@potiuk potiuk deleted the switch-to-pip-for-release-branches-in-prod-image-builds branch April 4, 2024 13:15
potiuk added a commit that referenced this pull request Apr 4, 2024
…8749)

In main we are using `uv` to build CI and PROD images to gain
enormous speed improvements. This helps with faster PR checks and
iterations and lowers the CI cost. However `uv` is not entirely
stable yet and there are conditions that make it fail sometimes
(for example when old packages, not excluded by our limits are
published with wrong versions), also release imge is built with
`pip` and will continue to be built with `pip`. The gains for
PROD iumage builds with uv are much smaller than the ones for CI
builds, so it's perfectly fine to switch all `release branch` builds
to use `pip` for PROD image builds - we do not loose too much by
doing it, but we gain stability.

(cherry picked from commit be89300)
@potiuk potiuk added the changelog:skip Changes that should be skipped from the changelog (CI, tests, etc..) label Apr 4, 2024
potiuk added a commit to potiuk/airflow that referenced this pull request Apr 4, 2024
A follow up after apache#38749 - we should also disable UV for cache
building in release branches. PROD images are building just fine,
but cache building for 3.11 fails for the same reason and we also
have to disable UV for the cache build.
potiuk added a commit that referenced this pull request Apr 4, 2024
A follow up after #38749 - we should also disable UV for cache
building in release branches. PROD images are building just fine,
but cache building for 3.11 fails for the same reason and we also
have to disable UV for the cache build.
potiuk added a commit that referenced this pull request Apr 4, 2024
A follow up after #38749 - we should also disable UV for cache
building in release branches. PROD images are building just fine,
but cache building for 3.11 fails for the same reason and we also
have to disable UV for the cache build.

(cherry picked from commit 370998d)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:dev-tools changelog:skip Changes that should be skipped from the changelog (CI, tests, etc..)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants