potiuk opened a new pull request, #24580:
URL: https://github.com/apache/airflow/pull/24580

   In the new Breeze, switching to using parallelism is a ... breeze.
   
   This PR adds the capability of building the images in parallel in Breeze
   locally - for breeze command, but also uses this capability to build the
   images in parallel in our CI. Our builds are always executed on
   powerful, big machines with lots of CPU and docker run in memory
   filesystem with 32GB RAM, so it should be possible to run all builds in
   parallel on a single machine rather then spin off parallel machines to
   run the builds using the matrix strategy of Github Actions.
   
   Generally speaking - this will either speed up or get 4x cost saving for
   the build steps for all the "full test needed" PRs as well as all the
   main builds.
   
   There are a number of savings and improvements we can achieve this way:
   
   1) less overhead for starting and runnning the machines
   2) seems that with the new buildkit, the parallel builds are not
      suffering from some sequential locks (as it used to be, so
      we are basically do the same job using 25% resources for building
      the images.
   3) we will stop having random "one image failed to build" cases - they
      will all either fail or succeed.
   4) Less checks in the output
   5) Production builds will additionally gain from single CI image
      pulled in order to perform the preparation of the packages
      and single package preparation step - it will save 4-5 minutes
      per image.
   
   The disadvantage is a less clear output of such parallel build where
   outputs from multiple builds will be interleaved in one CI output.
   
   <!--
   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 a 
newsfragement file, named `{pr_number}.significant.rst`, in 
[newsfragments](https://github.com/apache/airflow/tree/main/newsfragments).
   


-- 
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]

Reply via email to