k8s.io/test-infra@v0.0.0-20240520184403-27c6b4c223d8/metrics/get_jq.sh (about) 1 #!/usr/bin/env bash 2 # Copyright 2021 The Kubernetes Authors. 3 # 4 # Licensed under the Apache License, Version 2.0 (the "License"); 5 # you may not use this file except in compliance with the License. 6 # You may obtain a copy of the License at 7 # 8 # http://www.apache.org/licenses/LICENSE-2.0 9 # 10 # Unless required by applicable law or agreed to in writing, software 11 # distributed under the License is distributed on an "AS IS" BASIS, 12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 # See the License for the specific language governing permissions and 14 # limitations under the License. 15 16 set -o errexit 17 set -o nounset 18 set -o pipefail 19 20 REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd -P)" 21 cd "${REPO_ROOT}" 22 23 JQ_DIR="_bin/jq-1.5" 24 JQ_BIN="${REPO_ROOT}/${JQ_DIR}/jq" 25 if [[ -f "${JQ_BIN}" ]]; then 26 echo "$JQ_BIN" 27 exit 0 28 fi 29 30 bin-path() { 31 echo "${REPO_ROOT}/${JQ_DIR}/$1" 32 } 33 34 download() { 35 local name="$1" 36 local path="$(bin-path $name)" 37 curl -fsSL "https://github.com/stedolan/jq/releases/download/jq-1.5/$name" -o "$path" 38 chmod a+x "$path" 39 cp "$path" "$JQ_BIN" 40 } 41 42 mkdir -p "${JQ_DIR}" 43 # linux64 is used by CI, making sure that this is used in CI as well 44 download jq-linux64 45 # ensure that `_bin/jq-1.5/jq` is compatible with host, so that python3 test 46 # won't fail locally 47 if [[ "$(uname)" == Darwin ]]; then 48 download jq-osx-amd64 49 fi 50 51 echo "$JQ_BIN"