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


   This PR improves building production image from local packages,
   in preparation for moving provider requirements out of setup.cfg.
   
   Previously `pip download` step was executed in the CI scripts
   in order to download all the packages that were needed. However
   this had two problems:
   
   1) PIP download was executed outside of Dockerfile in CI scripts
      which means that any change to requirements there could not
      be executed in 'workflow_run' event - because main branch version
      of CI scripts is used there. We want to add extra requirements
      when installing airflow so in order to be able to change
      it, those requirements should be added in Dockerfile.
      This will be done in the follow-up #13409 PR.
   
   2) Packages downloaded with PIP download have a "file" version
      rather than regular == version when you run pip freeze/check.
      This looks weird and while you can figure out the version
      from file name, when you `pip install` them, they look
      much more normal. The airflow package and provider package
      will still get the "file" form but this is ok because we are
      building those packages from sources and they are not yet
      available in PyPI.
   
   Example:
   
     adal==1.2.5
     aiohttp==3.7.3
     alembic==1.4.3
     amqp==2.6.1
     apache-airflow @ 
file:///docker-context-files/apache_airflow-2.1.0.dev0-py3-none-any.whl
     apache-airflow-providers-amazon @ 
file:///docker-context-files/apache_airflow_providers_amazon-1.0.0-py3-none-any.whl
     apache-airflow-providers-celery @ 
file:///docker-context-files/apache_airflow_providers_celery-1.0.0-py3-none-any.whl
     ...
   
   With this PR, we do not `pip download` all packages, but instead
   we prepare airflow + providers packages as .whl files and
   install them from there (all the dependencies are installed
   from PyPI)
   
   <!--
   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/master/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 
[UPDATING.md](https://github.com/apache/airflow/blob/master/UPDATING.md).
   


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

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to