potiuk opened a new issue #10576:
URL: https://github.com/apache/airflow/issues/10576


   **Description**
   
   Currently, in our bash scripts (mostly in CI and Breeze) we use an old and 
outdated naming convention where every environment variable is CAPITALIZED. 
This comes from my personal background as I am the author of most of it, but 
there are better (and modern) conventions that we should use. Particularly 
https://google.github.io/styleguide/shellguide.html is one that is interesting 
but it has a number of google-internal-specific decisions that might not apply 
to our case.
   
   The other shell style gule that seems tobe much more reasonable/open-sorce 
friendly and widely quoted is the "icy" one 
https://github.com/icy/bash-coding-style.
   
   I think it's good to apply the naming convention of Google - where we should 
use:
   
   * CAPITALIZATION to indicate constant and exported variables
   * readonly for read-only values (especially those that are read from 
configuration and remain consistent across the rest of the script
   * local variables 
   
   **Use case / motivation**
   
   Make the bash scripts more readable.
   
   **Bash scripts to review**
   
    - [ ] ./breeze
    - [ ] ./breeze-complete
    - [ ] ./docs/start_doc_server.sh
    - [ ] ./chart/dockerfiles/pgbouncer/build_and_push.sh
    - [ ] ./chart/dockerfiles/statsd-exporter/build_and_push.sh
    - [ ] ./dev/sign.sh
    - [ ] ./airflow/www/compile_assets.sh
    - [ ] ./airflow/www/node_modules/lunr/build/release.sh
    - [ ] ./airflow/www/node_modules/constants-browserify/build.sh
    - [ ] ./airflow/www/node_modules/babel-polyfill/scripts/build-dist.sh
    - [ ] ./airflow/www/node_modules/buffer/bin/update-authors.sh
    - [ ] 
./airflow/www/node_modules/acorn-jsx/node_modules/acorn/bin/update_authors.sh
    - [ ] ./airflow/www/node_modules/object.assign/test.sh
    - [ ] 
./airflow/www/node_modules/babel-plugin-css-modules-transform/install-babel-7.sh
    - [ ] 
./airflow/www/node_modules/babel-plugin-css-modules-transform/install-babel-6.sh
    - [ ] ./build/lib/airflow/www/compile_assets.sh
    - [ ] ./scripts/in_container/_in_container_script_init.sh
    - [ ] ./scripts/in_container/run_mypy.sh
    - [ ] ./scripts/in_container/run_docs_build.sh
    - [ ] ./scripts/in_container/refresh_pylint_todo.sh
    - [ ] ./scripts/in_container/_in_container_utils.sh
    - [ ] ./scripts/in_container/run_prepare_backport_packages.sh
    - [ ] ./scripts/in_container/run_generate_constraints.sh
    - [ ] ./scripts/in_container/run_clear_tmp.sh
    - [ ] ./scripts/in_container/run_ci_tests.sh
    - [ ] ./scripts/in_container/run_test_package_installation_separately.sh
    - [ ] ./scripts/in_container/run_extract_tests.sh
    - [ ] ./scripts/in_container/run_prepare_backport_readme.sh
    - [ ] ./scripts/in_container/run_flake8.sh
    - [ ] ./scripts/in_container/run_cli_tool.sh
    - [ ] ./scripts/in_container/run_system_tests.sh
    - [ ] ./scripts/in_container/entrypoint_exec.sh
    - [ ] ./scripts/in_container/run_pylint.sh
    - [ ] ./scripts/in_container/run_test_package_import_all_classes.sh
    - [ ] ./scripts/in_container/run_fix_ownership.sh
    - [ ] ./scripts/in_container/entrypoint_ci.sh
    - [ ] ./scripts/in_container/configure_environment.sh
    - [ ] ./scripts/in_container/check_environment.sh
    - [ ] ./scripts/in_container/prod/airflow_scheduler_autorestart.sh
    - [ ] ./scripts/in_container/prod/entrypoint_prod.sh
    - [ ] ./scripts/in_container/prod/clean-logs.sh
    - [ ] ./scripts/ci/docs/ci_docs.sh
    - [ ] ./scripts/ci/testing/ci_run_airflow_testing.sh
    - [ ] ./scripts/ci/kubernetes/ci_deploy_app_to_kubernetes.sh
    - [ ] ./scripts/ci/kubernetes/ci_run_kubernetes_tests.sh
    - [ ] ./scripts/ci/kubernetes/ci_run_helm_testing.sh
    - [ ] ./scripts/ci/libraries/_pylint.sh
    - [ ] ./scripts/ci/libraries/_permissions.sh
    - [ ] ./scripts/ci/libraries/_spinner.sh
    - [ ] ./scripts/ci/libraries/_kind.sh
    - [ ] ./scripts/ci/libraries/_md5sum.sh
    - [ ] ./scripts/ci/libraries/_sanity_checks.sh
    - [ ] ./scripts/ci/libraries/_verbosity.sh
    - [ ] ./scripts/ci/libraries/_parameters.sh
    - [ ] ./scripts/ci/libraries/_initialization.sh
    - [ ] ./scripts/ci/libraries/_script_init.sh
    - [ ] ./scripts/ci/libraries/_push_pull_remove_images.sh
    - [ ] ./scripts/ci/libraries/_start_end.sh
    - [ ] ./scripts/ci/libraries/_build_images.sh
    - [ ] ./scripts/ci/libraries/_runs.sh
    - [ ] ./scripts/ci/libraries/_local_mounts.sh
    - [ ] ./scripts/ci/libraries/_all_libs.sh
    - [ ] ./scripts/ci/constraints/ci_commit_constraints.sh
    - [ ] ./scripts/ci/constraints/ci_generate_constraints.sh
    - [ ] ./scripts/ci/constraints/ci_branch_constraints.sh
    - [ ] ./scripts/ci/static_checks/refresh_pylint_todo.sh
    - [ ] ./scripts/ci/static_checks/mypy.sh
    - [ ] ./scripts/ci/static_checks/bat_tests.sh
    - [ ] ./scripts/ci/static_checks/pylint.sh
    - [ ] ./scripts/ci/static_checks/run_static_checks.sh
    - [ ] ./scripts/ci/static_checks/lint_dockerfile.sh
    - [ ] ./scripts/ci/static_checks/flake8.sh
    - [ ] ./scripts/ci/static_checks/check_license.sh
    - [ ] ./scripts/ci/openapi/client_codegen_diff.sh
    - [ ] ./scripts/ci/pre_commit/pre_commit_mypy.sh
    - [ ] ./scripts/ci/pre_commit/pre_commit_local_yml_mounts.sh
    - [ ] ./scripts/ci/pre_commit/pre_commit_lint_dockerfile.sh
    - [ ] ./scripts/ci/pre_commit/pre_commit_ci_build.sh
    - [ ] ./scripts/ci/pre_commit/pre_commit_setup_cfg_file.sh
    - [ ] ./scripts/ci/pre_commit/pre_commit_flake8.sh
    - [ ] ./scripts/ci/pre_commit/pre_commit_build_providers_dependencies.sh
    - [ ] ./scripts/ci/pre_commit/pre_commit_check_license.sh
    - [ ] ./scripts/ci/pre_commit/pre_commit_pylint.sh
    - [ ] ./scripts/ci/pre_commit/pre_commit_check_integrations.sh
    - [ ] ./scripts/ci/pre_commit/pre_commit_mermaid.sh
    - [ ] ./scripts/ci/pre_commit/pre_commit_bat_tests.sh
    - [ ] ./scripts/ci/pre_commit/pre_commit_breeze_cmd_line.sh
    - [ ] ./scripts/ci/tools/ci_count_changed_files.sh
    - [ ] ./scripts/ci/tools/ci_clear_tmp.sh
    - [ ] ./scripts/ci/tools/ci_free_space_on_ci.sh
    - [ ] ./scripts/ci/tools/ci_fix_ownership.sh
    - [ ] ./scripts/ci/tools/ci_check_if_tests_should_be_run.sh
    - [ ] 
./scripts/ci/backport_packages/ci_test_backport_packages_import_all_classes.sh
    - [ ] ./scripts/ci/backport_packages/ci_prepare_backport_packages.sh
    - [ ] ./scripts/ci/backport_packages/ci_prepare_backport_readme.sh
    - [ ] 
./scripts/ci/backport_packages/ci_test_backport_packages_install_separately.sh
    - [ ] 
./scripts/ci/backport_packages/ci_prepare_and_test_backport_packages.sh
    - [ ] ./scripts/ci/images/ci_prepare_ci_image_on_ci.sh
    - [ ] ./scripts/ci/images/ci_build_dockerhub.sh
    - [ ] ./scripts/ci/images/ci_prepare_prod_image_on_ci.sh
    - [ ] ./scripts/ci/images/ci_wait_for_all_prod_images.sh
    - [ ] ./scripts/ci/images/ci_push_production_images.sh
    - [ ] ./scripts/ci/images/ci_wait_for_all_ci_images.sh
    - [ ] ./scripts/ci/images/ci_push_ci_images.sh
    - [ ] ./backport_packages/build_source_package.sh
    - [ ] ./images/breeze/add_overlay.sh
    - [ ] ./clients/gen/common.sh
    - [ ] ./clients/gen/go.sh
    - [ ] ./tests/bats/mocks/docker.sh
    - [ ] ./tests/bats/mocks/kubectl.sh
    - [ ] ./tests/bats/mocks/kind.sh
    - [ ] ./tests/bats/mocks/helm.sh
   


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