potiuk commented on a change in pull request #13422:
URL: https://github.com/apache/airflow/pull/13422#discussion_r550768835
##########
File path: Dockerfile
##########
@@ -247,31 +247,54 @@ ENV
UPGRADE_TO_NEWER_DEPENDENCIES=${UPGRADE_TO_NEWER_DEPENDENCIES}
WORKDIR /opt/airflow
-# remove mysql from extras if client is not installed
+# hadolint ignore=SC2086, SC2010
RUN if [[ ${INSTALL_MYSQL_CLIENT} != "true" ]]; then \
+ # Remove mysql from extras if client is not installed \
AIRFLOW_EXTRAS=${AIRFLOW_EXTRAS/mysql,}; \
fi; \
if [[ ${INSTALL_FROM_PYPI} == "true" ]]; then \
if [[ "${UPGRADE_TO_NEWER_DEPENDENCIES}" != "false" ]]; then \
pip install --user
"${AIRFLOW_INSTALLATION_METHOD}[${AIRFLOW_EXTRAS}]${AIRFLOW_INSTALL_VERSION}" \
--upgrade --upgrade-strategy eager; \
+ pip install --upgrade "pip==${AIRFLOW_PIP_VERSION}"; \
else \
- pip install --user
"${AIRFLOW_INSTALLATION_METHOD}[${AIRFLOW_EXTRAS}]${AIRFLOW_INSTALL_VERSION}" \
+ pip install --upgrade --upgrade-strategy only-if-needed \
+ --user
"${AIRFLOW_INSTALLATION_METHOD}[${AIRFLOW_EXTRAS}]${AIRFLOW_INSTALL_VERSION}" \
--constraint "${AIRFLOW_CONSTRAINTS_LOCATION}"; \
+ pip install --upgrade "pip==${AIRFLOW_PIP_VERSION}"; \
+ fi; \
+ fi; \
+ if [[ ${INSTALL_FROM_DOCKER_CONTEXT_FILES} == "true" ]]; then \
+ reinstalling_apache_airflow_packages=$(ls
/docker-context-files/apache?airflow*.{whl,tar.gz} 2>/dev/null || true); \
+ # We want to install apache airflow packages with constraints \
+ if [[ "${reinstalling_apache_airflow_packages}" != "" ]]; then \
+ if [[ "${UPGRADE_TO_NEWER_DEPENDENCIES}" != "false" ]]; then \
+ pip install --force-reinstall --upgrade --upgrade-strategy
eager \
+ --user ${reinstalling_apache_airflow_packages}; \
+ pip install --upgrade "pip==${AIRFLOW_PIP_VERSION}"; \
+ else \
+ pip install --force-reinstall --upgrade --upgrade-strategy
only-if-needed \
+ --user ${reinstalling_apache_airflow_packages}
--constraint "${AIRFLOW_CONSTRAINTS_LOCATION}"; \
+ pip install --upgrade "pip==${AIRFLOW_PIP_VERSION}"; \
+ fi; \
+ fi ; \
+ # All the others we want to reinstall as-is, without dependencies \
+ reinstalling_other_packages=$(ls /docker-context-files/*.{whl,tar.gz}
2>/dev/null | \
Review comment:
But for all other packages, we want to just install whatever we have
there without dependencies. If the packages are result of `pip download`, this
serves the purpose of 'offline installation" mechanism.
----------------------------------------------------------------
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]