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

potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 36e39f6  Check min docker version (#18869)
36e39f6 is described below

commit 36e39f621a03402e2817a277fe2e6b399c7614cb
Author: Jarek Potiuk <[email protected]>
AuthorDate: Sun Oct 10 14:04:05 2021 +0200

    Check min docker version (#18869)
    
    We have recently introduced a few features (--pull flag for example)
    in our docker commands, that require newer version of Docker
    (the `--pull` flag was introduced in 20.10.0). This PR adds check
    if the docker version is at least 20.10.0.
---
 breeze                                  |  2 ++
 scripts/ci/libraries/_initialization.sh | 26 ++++++++++++++++++++++++++
 scripts/ci/libraries/_script_init.sh    |  2 ++
 3 files changed, 30 insertions(+)

diff --git a/breeze b/breeze
index 428e275..54212ec 100755
--- a/breeze
+++ b/breeze
@@ -3595,6 +3595,8 @@ breeze::read_saved_environment_variables
 
 initialization::initialize_common_environment
 
+initialization::check_docker_version
+
 initialization::get_environment_for_builds_on_ci
 
 breeze::determine_python_version_to_use_in_breeze
diff --git a/scripts/ci/libraries/_initialization.sh 
b/scripts/ci/libraries/_initialization.sh
index 026795e..dcf8389 100644
--- a/scripts/ci/libraries/_initialization.sh
+++ b/scripts/ci/libraries/_initialization.sh
@@ -898,3 +898,29 @@ function initialization::ga_env() {
         echo "${1}=${2}" >>"${GITHUB_ENV}"
     fi
 }
+
+function initialization::ver() {
+  # convert SemVer number to comparable string (strips pre-release version)
+  # shellcheck disable=SC2086,SC2183
+  printf "%04d%04d%04d%.0s" ${1//[.-]/ }
+}
+
+function initialization::check_docker_version() {
+    local docker_version
+    docker_version=$(docker version --format '{{.Client.Version}}')
+    local comparable_docker_version
+    comparable_docker_version=$(initialization::ver "${docker_version}")
+    local min_docker_version="20.10.0"
+    local min_comparable_docker_version
+    min_comparable_docker_version=$(initialization::ver 
"${min_docker_version}")
+    if (( comparable_docker_version < min_comparable_docker_version )); then
+        echo
+        echo "${COLOR_RED}Your version of docker is too old: 
${docker_version}. Please upgrade to at least 
${min_docker_version}.${COLOR_RESET}"
+        echo
+        exit 1
+    else
+        if [[ ${PRINT_INFO_FROM_SCRIPTS} != "false" ]]; then
+            echo "${COLOR_GREEN}Good version of docker 
${docker_version}.${COLOR_RESET}"
+        fi
+    fi
+}
diff --git a/scripts/ci/libraries/_script_init.sh 
b/scripts/ci/libraries/_script_init.sh
index a690cd7..9a2e7f3 100755
--- a/scripts/ci/libraries/_script_init.sh
+++ b/scripts/ci/libraries/_script_init.sh
@@ -35,6 +35,8 @@ initialization::create_directories
 
 initialization::initialize_common_environment
 
+initialization::check_docker_version
+
 sanity_checks::basic_sanity_checks
 
 start_end::script_start

Reply via email to