Separate instruction to install OS dependencies in images
This change will allow to experiment with other base images (for example CentOS that our users highly demand) but also it has a few nice simplifications and improvements along the way:
- no more runtime parameters for CI image (they only make sense for PROD image)
- no more support for Buster image (it is end of life in August)
- Dockerfile has now less embedded default values (most of them moved to inlined bash script)
- configuration for yarn sources is removed (we do not need yarn any more in our images)
- additional pure-dev dependencies in CI image are passed through ADDITIONAL_DEV_DEPS
- dev installation does not remove installation cache, making
the CI image slightly bigger but easier for devel use - to install new
dependencies (no need for
apt-get updatebefore installation) - latest patchlevels of various tools we use for CI were bumped
Based on top of https://github.com/apache/airflow/pull/25582 - please change only last commit.
^ 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.
This is a refactoring for installation of `apt' dependencies in our Dockerfile and it will be really useful to explore a possibility of building a CentOS image which has been proposed by the Snowflake team in https://github.com/apache/airflow/pull/24825
cc: @mik-laj @sfc-gh-mkmak - it's not yet adding CentOS but it should make it easy for us to be able to choose Debian/CentOS when building the image. Once this one is merged, I will attempt to incorporate what you've done at Snowflake and when I succceed I will make a propsal at the devlist to introduce an experimental CentOS support (once I know if we can easily have 1-1 parity for our PROD images).
I need to get https://github.com/apache/airflow/pull/25567 to main and rebase for the CI to succeed (We are overiding default parameters in the CI image in the main version of breeze.
More comments needed :) ?
Anyone :) ?
@mik-laj ?