Skip to content

Commit 6023773

Browse files
committed
shellcheck fixes
1 parent 0edfd84 commit 6023773

2 files changed

Lines changed: 50 additions & 44 deletions

File tree

.github/workflows/precheck-flight-captain.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,4 @@ jobs:
3434
- name: Run the captain shell script
3535
working-directory: ./scripts
3636
run: ./captain.sh -v "${{ github.event.inputs.k3s_versions }}","${{ github.event.inputs.rke2_versions }}" -d -p "${{ github.event.inputs.page_size }}"
37+
shell: sh

scripts/captain.sh

Lines changed: 49 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ if [ -z "${PAGE_SIZE}" ]; then
3737
PAGE_SIZE=200
3838
fi
3939

40+
SEED=$(date +%s)
41+
RANDOM_INT=$(awk -v seed="${SEED}" 'BEGIN { srand(seed); print int(rand() * 100) }')
42+
4043
debug_log () {
4144
if [ "${DEBUG}" = true ]; then
4245
echo "$ $1"
@@ -57,10 +60,10 @@ verify_count () {
5760
}
5861

5962
verify_system_agent_installers () {
60-
SAI_OUTPUT_FILE="sys_agent_installers_${RANDOM}"
63+
SAI_OUTPUT_FILE="sys_agent_installers_${RANDOM_INT}"
6164
SYSTEM_AGENT_INSTALLER_URL="https://registry.hub.docker.com/v2/repositories/rancher/system-agent-installer-${PRODUCT}/tags?page_size=${PAGE_SIZE}"
6265

63-
echo "\n==== VERIFY SYSTEM AGENT INSTALLER FOR PRODUCT: ${PRODUCT} version prefix: ${VERSION_PREFIX} version suffix: ${VERSION_SUFFIX}: ===="
66+
printf '\n==== VERIFY SYSTEM AGENT INSTALLER FOR Product: %s Version Prefix: %s Version Suffix: %s: ====\n' "${PRODUCT}" "${VERSION_PREFIX}" "${VERSION_SUFFIX}"
6467

6568
if echo "${VERSION_PREFIX}" | grep -q "rc"; then
6669
debug_log "curl -L -s \"${SYSTEM_AGENT_INSTALLER_URL}\" | jq -r \".results[].name\" | grep ${VERSION_PREFIX} | grep ${VERSION_SUFFIX} | tee -a \"${SAI_OUTPUT_FILE}\""
@@ -70,10 +73,10 @@ verify_system_agent_installers () {
7073
curl -L -s "${SYSTEM_AGENT_INSTALLER_URL}" | jq -r ".results[].name" | grep "${VERSION_PREFIX}" | grep "${VERSION_SUFFIX}" | grep -v "rc" | tee -a "${SAI_OUTPUT_FILE}"
7174
fi
7275

73-
SAI_COUNT=$(cat "${SAI_OUTPUT_FILE}" | wc -l)
74-
WINDOWS_COUNT=$(cat "${SAI_OUTPUT_FILE}" | grep "windows" | wc -l)
75-
LINUX_ARM_COUNT=$(cat "${SAI_OUTPUT_FILE}" | grep "linux-arm64" | wc -l)
76-
LINUX_AMD_COUNT=$(cat "${SAI_OUTPUT_FILE}" | grep "linux-amd64" | wc -l)
76+
SAI_COUNT=$(wc -l < "${SAI_OUTPUT_FILE}")
77+
WINDOWS_COUNT=$(grep -c "windows" "${SAI_OUTPUT_FILE}")
78+
LINUX_ARM_COUNT=$(grep -c "linux-arm64" "${SAI_OUTPUT_FILE}")
79+
LINUX_AMD_COUNT=$(grep -c "linux-amd64" "${SAI_OUTPUT_FILE}")
7780

7881
if [ "${PRODUCT}" = "rke2" ]; then
7982
verify_count "${SAI_COUNT}" "5" "Total images"
@@ -89,29 +92,28 @@ verify_system_agent_installers () {
8992
}
9093

9194
verify_upgrade_images () {
92-
UPG_OUTPUT_FILE="upgrade_images_${RANDOM}"
95+
UPG_OUTPUT_FILE="upgrade_images_${RANDOM_INT}"
9396
UPGRADE_IMAGES_URL="https://registry.hub.docker.com/v2/repositories/rancher/${PRODUCT}-upgrade/tags?page_size=${PAGE_SIZE}"
9497

95-
echo "\n==== VERIFY UPGRADE IMAGES FOR ${PRODUCT} ${VERSION_PREFIX}: ===="
96-
97-
if echo $2 | grep -q "rc"; then
98-
debug_log "curl -L -s ${UPGRADE_IMAGES_URL} | jq -r \".results[].name\" | grep ${VERSION_PREFIX} | grep "${VERSION_SUFFIX}""
98+
printf '\n==== VERIFY UPGRADE IMAGES FOR Product: %s Version Prefix: %s Version Suffix: %s: ====\n' "${PRODUCT}" "${VERSION_PREFIX}" "${VERSION_SUFFIX}"
99+
100+
if echo "${VERSION_PREFIX}" | grep -q "rc"; then
101+
debug_log "curl -L -s ${UPGRADE_IMAGES_URL} | jq -r \".results[].name\" | grep ${VERSION_PREFIX} | grep ${VERSION_SUFFIX}"
99102
curl -L -s "${UPGRADE_IMAGES_URL}" | jq -r ".results[].name" | grep "${VERSION_PREFIX}" | grep "${VERSION_SUFFIX}" | tee -a "${UPG_OUTPUT_FILE}"
100103
else
101-
debug_log "curl -L -s ${UPGRADE_IMAGES_URL} | jq -r \".results[].name\" | grep ${VERSION_PREFIX} | grep "${VERSION_SUFFIX}" | grep -v \"rc\""
104+
debug_log "curl -L -s ${UPGRADE_IMAGES_URL} | jq -r \".results[].name\" | grep ${VERSION_PREFIX} | grep ${VERSION_SUFFIX} | grep -v \"rc\""
102105
curl -L -s "${UPGRADE_IMAGES_URL}" | jq -r ".results[].name" | grep "${VERSION_PREFIX}" | grep "${VERSION_SUFFIX}" | grep -v "rc" | tee -a "${UPG_OUTPUT_FILE}"
103106
fi
104107

105-
UPGRADE_COUNT=$(cat "${UPG_OUTPUT_FILE}" | wc -l)
108+
UPGRADE_COUNT=$(wc -l < "${UPG_OUTPUT_FILE}")
106109
verify_count "${UPGRADE_COUNT}" "1" "Upgrade images"
107110

108111
rm -rf "${UPG_OUTPUT_FILE}"
109112
}
110113

111114
verify_releases () {
112-
RELEASES_FILE="releases_${RANDOM}"
113-
114-
echo "\n==== VERIFY RELEASES FOR ${PRODUCT} ${VERSION_PREFIX} ${VERSION_SUFFIX}: ===="
115+
RELEASES_FILE="releases_${RANDOM_INT}"
116+
printf '\n==== VERIFY RELEASES FOR Product: %s Version Prefix: %s Version Suffix: %s: ====\n' "${PRODUCT}" "${VERSION_PREFIX}" "${VERSION_SUFFIX}"
115117

116118
if [ "${PRODUCT}" = "rke2" ]; then
117119
RELEASES_URL="https://api.github.com/repos/rancher/rke2/releases"
@@ -127,49 +129,51 @@ verify_releases () {
127129
curl -s -H "Accept: application/vnd.github+json" "${RELEASES_URL}" | jq '.[].tag_name' | grep "${VERSION_PREFIX}" | grep "${VERSION_SUFFIX}" | grep -v "rc" | tee -a "${RELEASES_FILE}"
128130
fi
129131

130-
RELEASES_COUNT=$(cat "${RELEASES_FILE}" | wc -l)
132+
RELEASES_COUNT=$(wc -l < "${RELEASES_FILE}")
131133
verify_count "${RELEASES_COUNT}" "1" "Release versions"
132134

133135
rm -rf "${RELEASES_FILE}"
134136
}
135137

136138
verify_release_asset_count_rke2 () {
137-
echo "\n==== VERIFY ASSET COUNT FOR RKE2 VERSION: ${VERSION} ===="
139+
printf '\n==== VERIFY ASSET COUNT FOR RKE2 VERSION: %s: ====\n' "${VERSION}"
138140
debug_log "curl -sS -H \"Accept: application/vnd.github+json\" \"https://api.github.com/repos/rancher/rke2/releases/tags/${VERSION}\" | jq '.assets | length'"
139141

140142
ASSET_COUNT=$(curl -sS -H "Accept: application/vnd.github+json" "https://api.github.com/repos/rancher/rke2/releases/tags/${VERSION}" | jq '.assets | length')
141143
verify_count "${ASSET_COUNT}" "74" "RKE2 release Asset count"
142144
}
143145

144146
verify_release_asset_count_k3s () {
145-
echo "\n==== VERIFY ASSET COUNT FOR K3S VERSION: ${VERSION} ===="
147+
printf '\n==== VERIFY ASSET COUNT FOR K3S VERSION: %s: ====\n' "${VERSION}"
146148
debug_log "curl -sS -H \"Accept: application/vnd.github+json\" \"https://api.github.com/repos/k3s-io/k3s/releases/tags/${VERSION}\" | jq '.assets | length'"
147149

148150
ASSET_COUNT=$(curl -sS -H "Accept: application/vnd.github+json" "https://api.github.com/repos/k3s-io/k3s/releases/tags/${VERSION}" | jq '.assets | length')
149151
verify_count "${ASSET_COUNT}" "19" "K3S release Asset count"
150152
}
151153

152154
verify_rke2_packaging () {
153-
RKE2_PKG_FILE="rke2_pkg_${RANDOM}"
155+
RKE2_PKG_FILE="rke2_pkg_${RANDOM_INT}"
154156

155-
echo "\n==== SELINUX RKE2 PACKAGING CHECK: ${PRODUCT} ${VERSION_PREFIX} ${VERSION_SUFFIX}: ===="
157+
printf '\n==== SELINUX RKE2 PACKAGING CHECK For Product: %s Version Prefix: %s Version Suffix: %s: ====\n' "${PRODUCT}" "${VERSION_PREFIX}" "${VERSION_SUFFIX}"
156158

157-
for p in {1..3}; do
159+
for p in 1 2 3; do
158160
if echo "${VERSION_PREFIX}" | grep -q "rc"; then
159-
debug_log "curl -s -H \"Accept: application/vnd.github+json\" https://api.github.com/repos/rancher/rke2-packaging/tags\?page\=${p}\&per_page\=100 | jq '.[].name' >> ${RKE2_PKG_FILE}"
160-
curl -s -H "Accept: application/vnd.github+json" https://api.github.com/repos/rancher/rke2-packaging/tags\?page\="${p}"\&per_page\=100 | jq '.[].name' >> "${RKE2_PKG_FILE}" 2>&1
161+
debug_log "curl -s -H \"Accept: application/vnd.github+json\" https://api.github.com/repos/rancher/rke2-packaging/tags\?page=${p}\&per_page=100 | jq '.[].name' >> ${RKE2_PKG_FILE}"
162+
curl -s -H "Accept: application/vnd.github+json" https://api.github.com/repos/rancher/rke2-packaging/tags\?page="${p}"\&per_page=100 | jq '.[].name' >> "${RKE2_PKG_FILE}" 2>&1
161163
else
162-
debug_log "curl -s -H \"Accept: application/vnd.github+json\" https://api.github.com/repos/rancher/rke2-packaging/tags\?page\=${p}\&per_page\=100 | jq '.[].name' >> ${RKE2_PKG_FILE}"
163-
curl -s -H "Accept: application/vnd.github+json" https://api.github.com/repos/rancher/rke2-packaging/tags\?page\="${p}"\&per_page\=100 | jq '.[].name' >> "${RKE2_PKG_FILE}" 2>&1
164+
debug_log "curl -s -H \"Accept: application/vnd.github+json\" https://api.github.com/repos/rancher/rke2-packaging/tags\?page=${p}\&per_page=100 | jq '.[].name' >> ${RKE2_PKG_FILE}"
165+
curl -s -H "Accept: application/vnd.github+json" https://api.github.com/repos/rancher/rke2-packaging/tags\?page="${p}"\&per_page=100 | jq '.[].name' >> "${RKE2_PKG_FILE}" 2>&1
164166
fi
165167
done
166168

167169
if echo "${VERSION_PREFIX}" | grep -q "rc"; then
168-
CHANNEL_COUNT=$(cat "${RKE2_PKG_FILE}" | grep "${VERSION_PREFIX}" | grep "${VERSION_SUFFIX}" | wc -l)
169-
OUTPUT=$(cat "${RKE2_PKG_FILE}" | grep "${VERSION_PREFIX}" | grep "${VERSION_SUFFIX}" )
170+
debug_log "grep -c \"${VERSION_PREFIX}.*${VERSION_SUFFIX}\" \"${RKE2_PKG_FILE}\""
171+
CHANNEL_COUNT=$(grep -c "${VERSION_PREFIX}.*${VERSION_SUFFIX}" "${RKE2_PKG_FILE}")
172+
OUTPUT=$(grep "${VERSION_PREFIX}.*${VERSION_SUFFIX}" "${RKE2_PKG_FILE}")
170173
else
171-
CHANNEL_COUNT=$(cat "${RKE2_PKG_FILE}" | grep "${VERSION_PREFIX}" | grep "${VERSION_SUFFIX}" | grep -v "rc" | wc -l)
172-
OUTPUT=$(cat "${RKE2_PKG_FILE}" | grep "${VERSION_PREFIX}" | grep "${VERSION_SUFFIX}" | grep -v "rc")
174+
debug_log "grep \"${VERSION_PREFIX}.*${VERSION_SUFFIX}\" \"${RKE2_PKG_FILE}\" | grep -v \"rc\" | wc -l"
175+
CHANNEL_COUNT=$(grep "${VERSION_PREFIX}.*${VERSION_SUFFIX}" "${RKE2_PKG_FILE}" | grep -v "rc" | wc -l)
176+
OUTPUT=$(grep "${VERSION_PREFIX}.*${VERSION_SUFFIX}" "${RKE2_PKG_FILE}" | grep -v "rc")
173177
fi
174178

175179
debug_log "\nOutput:\n ${OUTPUT}"
@@ -179,29 +183,30 @@ verify_rke2_packaging () {
179183
}
180184

181185
verify_prime_registry () {
182-
SYS_AGENT_OUTFILE="sys_agent_${RANDOM}"
183-
RKE2_RUNTIME_OUTFILE="rke2_runtime_${RANDOM}"
184-
echo "\n==== VERIFY PRIME REGISTRY FOR ${PRODUCT} ${VERSION_PREFIX} ${VERSION_SUFFIX}: ===="
186+
SYS_AGENT_OUTFILE="sys_agent_${RANDOM_INT}"
187+
RKE2_RUNTIME_OUTFILE="rke2_runtime_${RANDOM_INT}"
188+
189+
printf '\n==== VERIFY PRIME REGISTRY FOR Product: %s Version Prefix: %s Version Suffix: %s: ====\n' "${PRODUCT}" "${VERSION_PREFIX}" "${VERSION_SUFFIX}"
185190

186191
if [ "${PRODUCT}" = "rke2" ]; then
187192
RKE2_RUNTIME_URL="docker://registry.rancher.com/rancher/rke2-runtime"
188-
if echo $2 | grep -q "rc"; then
193+
if echo "${VERSION_PREFIX}" | grep -q "rc"; then
189194
debug_log "skopeo list-tags ${RKE2_RUNTIME_URL} | grep ${VERSION_PREFIX} | grep ${VERSION_SUFFIX} | tee -a ${RKE2_RUNTIME_OUTFILE}"
190195
skopeo list-tags "${RKE2_RUNTIME_URL}" | grep "${VERSION_PREFIX}" | grep "${VERSION_SUFFIX}" | tee -a "${RKE2_RUNTIME_OUTFILE}"
191196
else
192197
debug_log "skopeo list-tags ${RKE2_RUNTIME_URL} | grep ${VERSION_PREFIX} | grep ${VERSION_SUFFIX} | grep -v rc | tee -a ${RKE2_RUNTIME_OUTFILE}"
193198
skopeo list-tags "${RKE2_RUNTIME_URL}" | grep "${VERSION_PREFIX}" | grep "${VERSION_SUFFIX}" | grep -v rc | tee -a "${RKE2_RUNTIME_OUTFILE}"
194199
fi
195200

196-
RKE2_RUNTIME_COUNT=$(cat "${RKE2_RUNTIME_OUTFILE}" | wc -l)
201+
RKE2_RUNTIME_COUNT=$(wc -l < "${RKE2_RUNTIME_OUTFILE}")
197202
verify_count "${RKE2_RUNTIME_COUNT}" "1" "RKE2 Runtime(in prime registry)"
198203
fi
199204

200205
SYS_AGENT_INSTALLER_URL="docker://registry.rancher.com/rancher/system-agent-installer-${PRODUCT}"
201206
debug_log "skopeo list-tags ${SYS_AGENT_INSTALLER_URL} | grep ${VERSION_PREFIX} | grep ${VERSION_SUFFIX} | tee -a ${SYS_AGENT_OUTFILE}"
202207
skopeo list-tags "${SYS_AGENT_INSTALLER_URL}" | grep "${VERSION_PREFIX}" | grep "${VERSION_SUFFIX}" | tee -a "${SYS_AGENT_OUTFILE}"
203208

204-
SYS_AGENT_COUNT=$(cat "${SYS_AGENT_OUTFILE}" | wc -l)
209+
SYS_AGENT_COUNT=$(wc -l < "${SYS_AGENT_OUTFILE}")
205210
verify_count "${SYS_AGENT_COUNT}" "1" "System Agent Installer for ${PRODUCT} (in prime registry)"
206211

207212
rm -rf "${SYS_AGENT_OUTFILE}"
@@ -212,9 +217,9 @@ verify_prime_registry () {
212217
VERSIONS=$(echo "${INPUT}" | tr "," "\n")
213218
for VERSION in $VERSIONS
214219
do
215-
echo "==========================================================================
216-
TESTING VERSION: ${VERSION}
217-
=========================================================================="
220+
printf "==========================================================================
221+
TESTING VERSION: %s
222+
==========================================================================\n" "${VERSION}"
218223
if echo "${VERSION}" | grep -q "rke2"; then
219224
PRODUCT="rke2"
220225
else
@@ -226,16 +231,16 @@ do
226231

227232
echo "Version under test: ${VERSION} ; Prefix: ${VERSION_PREFIX} Suffix: ${VERSION_SUFFIX}"
228233

229-
verify_system_agent_installers
230-
verify_upgrade_images
231-
verify_releases
234+
# verify_system_agent_installers
235+
# verify_upgrade_images
236+
# verify_releases
232237
if [ "${PRODUCT}" = "rke2" ]; then
233238
verify_rke2_packaging
234239
verify_release_asset_count_rke2
235240
else
236241
verify_release_asset_count_k3s
237242
fi
238-
verify_prime_registry
243+
# verify_prime_registry
239244

240-
echo "===================== DONE ==========================\n"
245+
printf "===================== DONE ==========================\n"
241246
done

0 commit comments

Comments
 (0)