perf(cd): skip redundant mirror and bootstrap work
This commit is contained in:
43
scripts/ci/bootstrap-host-runner-tools.sh
Executable file
43
scripts/ci/bootstrap-host-runner-tools.sh
Executable file
@@ -0,0 +1,43 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
required_commands=(node npm git curl bash timeout python3 ssh docker)
|
||||
missing_commands=()
|
||||
|
||||
for command_name in "${required_commands[@]}"; do
|
||||
if ! command -v "${command_name}" >/dev/null 2>&1; then
|
||||
missing_commands+=("${command_name}")
|
||||
fi
|
||||
done
|
||||
|
||||
if command -v docker >/dev/null 2>&1 && \
|
||||
! docker buildx version >/dev/null 2>&1; then
|
||||
missing_commands+=(docker-buildx)
|
||||
fi
|
||||
|
||||
if [ "${#missing_commands[@]}" -eq 0 ]; then
|
||||
echo "host_runner_tools_ready=1 bootstrap_install_performed=0"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
printf 'host_runner_tools_missing=%s\n' "$(IFS=,; echo "${missing_commands[*]}")"
|
||||
if ! command -v apk >/dev/null 2>&1; then
|
||||
echo "BLOCKER host_runner_tools_missing_and_apk_unavailable"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
apk add --no-cache \
|
||||
nodejs npm git curl bash coreutils python3 openssh-client docker-cli docker-cli-buildx
|
||||
|
||||
for command_name in "${required_commands[@]}"; do
|
||||
command -v "${command_name}" >/dev/null 2>&1 || {
|
||||
echo "BLOCKER host_runner_tool_install_failed command=${command_name}"
|
||||
exit 1
|
||||
}
|
||||
done
|
||||
docker buildx version >/dev/null 2>&1 || {
|
||||
echo "BLOCKER host_runner_tool_install_failed command=docker-buildx"
|
||||
exit 1
|
||||
}
|
||||
|
||||
echo "host_runner_tools_ready=1 bootstrap_install_performed=1"
|
||||
Reference in New Issue
Block a user