potiuk edited a comment on pull request #21145:
URL: https://github.com/apache/airflow/pull/21145#issuecomment-1029192995


   > @potiuk could you explain to me what this -n check does in this bash code?
   
   Just check if they are set. If any of those are "net empty" then rather than 
using local sources of Airflow, we use airlfow either from: 
   
   * PYPI (if INSTALL_AIRFLOW_VERSION or USE_AIRFLOW_VERSION are set)
   * GitHub (if INSTALL_AIRFLOW_REFERENCE is used.
   
   Note that this is something that should be separated between PROD and CI 
image.
   
   * USE_AIRFLOW_VERSION is for CI image
   * INSTALL_AIRFLOW_REFERENCE and INSTALL_AIRFLOW_VERSION are for PROD image. 
   
   There is one difference between them : USE_AIRFLOW_VERSION will install 
airflow "after" you enter the image - so the  "entrypoint_ci.sh" script will 
reinstall airflow in this case. Where INSTALL_AIRFLOW_VERSION or 
INSTALL_AIRFLOW_REFERENBCE are used in PROD image during the build phase - 
airlfow will be installed from PyPI/GiThub as part of one of the "docker/" 
scripts during the `docker build` command. 
   In our case we are still working on "build CI image" so the INSTALL* ones 
you can leave for later when we implement PROD image building.
   
   > Also, I am quite confused about what variables should be in 
global_constants and what has to be in the dataclass.
   
   That's simple. The global constants should contain the variables that do not 
change when parameters change. The dataclass should be used when you have a 
"calculated" value which depends on the parameters that you passed to the 
"breeze" command.
   
   Actually that was one of the difficulty with Bash - because you can hardly 
distinguish those - env variable is an env variable and whether it is 
"unchangeable" or whether it has been calculated on-the-fly using passed 
parameters it is hard to tell. The Dataclass is our chance to distinguish 
between those two cases.


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