This repository was archived by the owner on Jun 28, 2024. It is now read-only.
File tree 6 files changed +88
-9
lines changed
6 files changed +88
-9
lines changed Original file line number Diff line number Diff line change @@ -63,7 +63,8 @@ filenames=""
63
63
read_yaml () {
64
64
${cidir} /install_yq.sh 1>&5 2>&1
65
65
66
- res=$( yq read " $1 " " $2 " )
66
+ yq_shim=" ${cidir} /yq-shim.sh"
67
+ res=$( ${yq_shim} " $2 " " $1 " r)
67
68
[ " $res " == " null" ] && res=" "
68
69
echo $res
69
70
return 0
Original file line number Diff line number Diff line change @@ -121,21 +121,25 @@ cd "${katacontainers_repo_dir}"
121
121
# Install yq
122
122
${GOPATH} /src/${tests_repo} /.ci/install_yq.sh
123
123
124
+ # YQ_SHIM Usage:
125
+ # ./yq-shim.sh <query> <path to yaml> <action> [value]
126
+ YQ_SHIM=${GOPATH} /src/${tests_repo} /.ci/yq-shim.sh
127
+
124
128
# CRI-O switched to using go 1.18+
125
129
golang_version=" 1.18.1"
126
- yq w -i versions.yaml languages.golang.meta.newest-version " ${golang_version} "
130
+ ${YQ_SHIM} languages.golang.meta.newest-version versions.yaml w " ${golang_version} "
127
131
128
132
critools_version=" ${branch_release_number} .0"
129
133
[ ${critools_version} == " 1.24.0" ] && critools_version=" 1.24.2"
130
134
echo " Using critools ${critools_version} "
131
- yq w -i versions.yaml externals.critools.version " ${critools_version} "
132
- yq r versions.yaml externals.critools.version
135
+ ${YQ_SHIM} externals.critools.version versions.yaml w " ${critools_version} "
136
+ ${YQ_SHIM} externals.critools.version versions.yaml r
133
137
134
138
latest_kubernetes_from_repo=` LC_ALL=C sudo dnf -y repository-packages kubernetes info --available kubelet-${branch_release_number} * | grep Version | cut -d' :' -f 2 | xargs`
135
139
kubernetes_version=" ${latest_kubernetes_from_repo} -00"
136
140
echo " Using kubernetes ${kubernetes_version} "
137
- yq w -i versions.yaml externals.kubernetes.version " ${kubernetes_version} "
138
- yq r versions.yaml externals.kubernetes.version
141
+ ${YQ_SHIM} externals.kubernetes.version versions.yaml w " ${kubernetes_version} "
142
+ ${YQ_SHIM} externals.kubernetes.version versions.yaml r
139
143
140
144
# Run kata-containers setup
141
145
cd " ${tests_repo_dir} "
Original file line number Diff line number Diff line change 28
28
# install yq if not exist
29
29
${CI_DIR} /install_yq.sh > /dev/null
30
30
31
- local K8S_SKIP_UNION=$( " ${GOPATH_LOCAL} /bin/yq " read " ${K8S_CONFIG_FILE } " " ${K8S_FILTER_FLAG} " )
31
+ local K8S_SKIP_UNION=$( " ${CI_DIR} /yq-shim.sh " " ${K8S_FILTER_FLAG } " " ${K8S_CONFIG_FILE} " r )
32
32
[ " ${K8S_SKIP_UNION} " == " null" ] && return
33
33
mapfile -t _K8S_SKIP_UNION <<< " ${K8S_SKIP_UNION}"
34
34
Original file line number Diff line number Diff line change 23
23
{
24
24
# install yq if not exist
25
25
${ci_dir} /install_yq.sh
26
- local array_test=$( " ${GOPATH_LOCAL} /bin/yq " read " ${test_config_file } " " ${test_filter_flag} " )
26
+ local array_test=$( " ${ci_dir} /yq-shim.sh " " ${test_filter_flag } " " ${test_config_file} " r )
27
27
[ " ${array_test} " = " null" ] && return
28
28
mapfile -t _array_test <<< " ${array_test}"
29
29
for entry in " ${_array_test[@]} "
Original file line number Diff line number Diff line change @@ -188,7 +188,8 @@ function get_dep_from_yaml_db(){
188
188
189
189
" ${GOPATH} /src/${tests_repo} /.ci/install_yq.sh" >&2
190
190
191
- result=$( " ${GOPATH} /bin/yq" r -X " $versions_file " " $dependency " )
191
+ yq_shim=" ${GOPATH} /src/${tests_repo} /.ci/yq-shim.sh"
192
+ result=$( " ${yq_shim} " " $dependency " " $versions_file " r)
192
193
[ " $result " = " null" ] && result=" "
193
194
echo " $result "
194
195
}
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+
3
+ set -euo pipefail
4
+
5
+ usage () { echo " Usage: $0 <query> <path to yaml> <action> [value]" ; }
6
+
7
+ QUERY=" ${1-} "
8
+ YAML_PATH=" ${2-} "
9
+ ACTION=" ${3-} "
10
+ VALUE=" ${4-} "
11
+ VERSION=" "
12
+
13
+ handle_v3 () {
14
+ query=" ${QUERY# .} "
15
+
16
+ case ${ACTION} in
17
+ r)
18
+ yq r " ${YAML_PATH} " " ${query} "
19
+ ;;
20
+ w)
21
+ yq w -i " ${YAML_PATH} " " ${query} " " ${VALUE} "
22
+ ;;
23
+ d)
24
+ yq d -i -d' *' " ${YAML_PATH} " " ${query} "
25
+ ;;
26
+ * )
27
+ usage
28
+ exit 1
29
+ ;;
30
+ esac
31
+ }
32
+
33
+ handle_v4 () {
34
+ query=" .${QUERY# .} "
35
+ case ${ACTION} in
36
+ r)
37
+ yq " ${query} " " ${YAML_PATH} "
38
+ ;;
39
+ w)
40
+ export VALUE
41
+ yq -i " ${query} = strenv(VALUE)" " ${YAML_PATH} "
42
+ ;;
43
+ d)
44
+ yq -i " del(${query} )" " ${YAML_PATH} "
45
+ ;;
46
+ * )
47
+ usage
48
+ exit 1
49
+ ;;
50
+ esac
51
+ }
52
+
53
+ if [ " $QUERY " == " -h" ]; then
54
+ usage
55
+ exit 0
56
+ elif [ $# -lt 3 ]; then
57
+ usage >&2
58
+ exit 1
59
+ fi
60
+
61
+ if ! command -v yq > /dev/null; then
62
+ echo " yq not found in path" >&2
63
+ exit 1
64
+ fi
65
+
66
+ if yq --version | grep ' ^.* version v4.*$' > /dev/null; then
67
+ handle_v4
68
+ elif yq --version | grep ' ^.* version 3.*$' > /dev/null; then
69
+ handle_v3
70
+ else
71
+ echo " unsupported yq version" >&2
72
+ exit 1
73
+ fi
You can’t perform that action at this time.
0 commit comments