You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by po...@apache.org on 2023/03/12 02:44:15 UTC

[airflow] 01/01: Installing non-editable airflow for constraint generation (#30050)

This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a commit to branch v2-5-test
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit d4afb041f87c502db904a985b2e63f4dd89a4b59
Author: Jarek Potiuk <ja...@potiuk.com>
AuthorDate: Sun Mar 12 03:20:47 2023 +0100

    Installing non-editable airflow for constraint generation (#30050)
    
    When we are generating constraints including released version of
    providers or "no providers" (which effectively means preinstalled
    version of providers only), we should use non-editable installation
    of airflow.
    
    Normally in CI, we have editable version of airflow and we install
    providers from sources, but this leads to skipping installation
    of the preinstalled providers (it is connected to the fact that we
    were earlier installing as editable and "sources only" and those
    packages are marked as required, which confuses newer version of
    pip. It prints that the preinstalled packages are installed, but
    it does not specify the version - apparently thinking the editable
    version of the install already contains them.
    
    Since our behaviour is pretty non-standard, this is not really a
    bug in pip, but it is a bug in our approach when we are adding
    providers for constraint generation. Rather than using editable
    installation when we add providers, we should use "regular"
    installation. This seems to remove the confusion and the preinstalled
    packages are also installed.
    
    (cherry picked from commit 05242e95bbfbaf153e4ae971fc0d0a5314d5bdb8)
---
 scripts/in_container/_in_container_utils.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/in_container/_in_container_utils.sh b/scripts/in_container/_in_container_utils.sh
index 3240b2c90d..e0e8594954 100644
--- a/scripts/in_container/_in_container_utils.sh
+++ b/scripts/in_container/_in_container_utils.sh
@@ -261,7 +261,7 @@ function install_local_airflow_with_eager_upgrade() {
     # we add eager requirements to make sure to take into account limitations that will allow us to
     # install all providers
     # shellcheck disable=SC2086
-    pip install -e ".${extras}" ${EAGER_UPGRADE_ADDITIONAL_REQUIREMENTS} \
+    pip install ".${extras}" ${EAGER_UPGRADE_ADDITIONAL_REQUIREMENTS} \
         --upgrade --upgrade-strategy eager
 }
 
@@ -290,7 +290,7 @@ function install_all_providers_from_pypi_with_eager_upgrade() {
     # Installing it with Airflow makes sure that the version of package that matches current
     # Airflow requirements will be used.
     # shellcheck disable=SC2086
-    pip install -e ".[${NO_PROVIDERS_EXTRAS}]" "${packages_to_install[@]}" ${EAGER_UPGRADE_ADDITIONAL_REQUIREMENTS} \
+    pip install ".[${NO_PROVIDERS_EXTRAS}]" "${packages_to_install[@]}" ${EAGER_UPGRADE_ADDITIONAL_REQUIREMENTS} \
         --upgrade --upgrade-strategy eager
 
 }