You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by GitBox <gi...@apache.org> on 2022/06/21 10:30:38 UTC

[GitHub] [airflow] potiuk opened a new pull request, #24580: Switch to building images in parallell

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: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [airflow] potiuk merged pull request #24580: Switch to building images in parallel

Posted by GitBox <gi...@apache.org>.
potiuk merged PR #24580:
URL: https://github.com/apache/airflow/pull/24580


-- 
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: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [airflow] potiuk commented on pull request #24580: Switch to building images in parallel

Posted by GitBox <gi...@apache.org>.
potiuk commented on PR #24580:
URL: https://github.com/apache/airflow/pull/24580#issuecomment-1161818931

   All right got some numbers:
   
   For builds with "full tests" (main builds) 
   
   * CI Builds Instead of 4 x running for 1:23 s we have 1 machine running for 2:40 -> w save 2:40  of build time
   * PROD Builds instead of  4 x 8: 32 - we have 1 machine running for 9:47 - whooping saving of 25 minutes (!) of build time
   


-- 
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: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [airflow] potiuk commented on pull request #24580: Switch to building images in parallel

Posted by GitBox <gi...@apache.org>.
potiuk commented on PR #24580:
URL: https://github.com/apache/airflow/pull/24580#issuecomment-1161951412

   occasional failures only


-- 
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: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [airflow] potiuk commented on pull request #24580: Switch to building images in parallell

Posted by GitBox <gi...@apache.org>.
potiuk commented on PR #24580:
URL: https://github.com/apache/airflow/pull/24580#issuecomment-1161678163

   This one will save quite a lot of elapsed and build time on building our images in CI - especially for main builds.


-- 
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: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org