#!/usr/bin/env bash set -euo pipefail current_dir=$(dirname "$0") cd "${current_dir}" || exit docker_version=$(docker -v | awk '{print $3}') required_docker_version="24.0.2" if [ "$(printf '%s\n' "$docker_version" "$required_docker_version" | sort -V | head -n1)" = "$docker_version" ]; then echo "Error: Docker version $docker_version is less than ${required_docker_version}" echo "Run 'sudo apt update && sudo apt upgrade docker -y' to upgrade docker to latest version" exit 1 fi format_src=./ all_args=$* proxy="http://smtcig000004.cnrd.corpintra.net:3128/" while [ $# -gt 0 ]; do case "$1" in --proxy=*) proxy="${1#*=}" ;; esac shift done if [ -z "${proxy+x}" ] && [ -n "$http_proxy" ]; then proxy=${http_proxy} fi docker_build_http_proxy= docker_run_http_proxy= if [ -n "$proxy" ]; then docker_build_http_proxy="--build-arg HTTP_PROXY=${proxy} --build-arg HTTPS_PROXY=${proxy} --build-arg http_proxy=${proxy} --build-arg https_proxy=${proxy}" docker_run_http_proxy="--env HTTP_PROXY=${proxy} --env HTTPS_PROXY=${proxy} --env http_proxy=${proxy} --env https_proxy=${proxy}" fi IMAGE_WITH_TAG=$(python3 -c 'import yaml; print(yaml.safe_load(open("./infra/tencent/docker_ci/docker-compose.yaml"))["services"]["python-format"]["image"])') if ! docker images --format "{{.Repository}}:{{.Tag}}" | grep -q "$IMAGE_WITH_TAG"; then echo "Image $IMAGE_WITH_TAG does not exist. Building the image..." cmd="docker compose -f ./infra/tencent/docker_ci/docker-compose.yaml build ${docker_build_http_proxy} python-format" echo "${cmd}" eval "${cmd}" fi cmd="docker compose -f ./infra/tencent/docker_ci/docker-compose.yaml run ${docker_run_http_proxy} -u"$(id -u):$(id -g)" --rm --entrypoint=./infra/tencent/docker_ci/entrypoint_python_format.sh python-format --format-all --no-lint" cmd="docker compose -f ./infra/tencent/docker_ci/docker-compose.yaml run ${docker_run_http_proxy} -u"$(id -u):$(id -g)" --rm --entrypoint=./infra/tencent/docker_ci/entrypoint_python_format.sh python-format --check --no-lint" echo "${cmd}" eval "${cmd}"