It is good to know what system repositories are used exactly on the runner. Also running the ci_details.sh in after_script can help during any debugging as packages that got updated or installed during the run can be easily identified.
60 lines
1.6 KiB
Bash
Executable file
60 lines
1.6 KiB
Bash
Executable file
#!/bin/bash
|
|
# Dumps details about the instance running the CI job.
|
|
|
|
PRIMARY_IP=$(ip route get 8.8.8.8 | head -n 1 | cut -d' ' -f7)
|
|
EXTERNAL_IP=$(curl --retry 5 -s -4 icanhazip.com)
|
|
PTR=$(curl --retry 5 -s -4 icanhazptr.com)
|
|
CPUS=$(nproc)
|
|
MEM=$(free -m | grep -oP '\d+' | head -n 1)
|
|
DISK=$(df --output=size -h / | sed '1d;s/[^0-9]//g')
|
|
HOSTNAME=$(uname -n)
|
|
USER=$(whoami)
|
|
ARCH=$(uname -m)
|
|
KERNEL=$(uname -r)
|
|
|
|
echo -e "\033[0;36m"
|
|
cat << EOF
|
|
------------------------------------------------------------------------------
|
|
CI MACHINE SPECS
|
|
------------------------------------------------------------------------------
|
|
|
|
Hostname: ${HOSTNAME}
|
|
User: ${USER}
|
|
Primary IP: ${PRIMARY_IP}
|
|
External IP: ${EXTERNAL_IP}
|
|
Reverse DNS: ${PTR}
|
|
CPUs: ${CPUS}
|
|
RAM: ${MEM} GB
|
|
DISK: ${DISK} GB
|
|
ARCH: ${ARCH}
|
|
KERNEL: ${KERNEL}
|
|
|
|
------------------------------------------------------------------------------
|
|
EOF
|
|
echo -e "\033[0m"
|
|
|
|
echo "List of system repositories:"
|
|
yum repolist -v
|
|
|
|
echo "------------------------------------------------------------------------------"
|
|
|
|
echo "List of installed packages:"
|
|
rpm -qa | sort
|
|
echo "------------------------------------------------------------------------------"
|
|
|
|
if rpm --quiet -q python36; then
|
|
echo -e "\n FAIL: python36 is installed, see #794 ..."
|
|
exit 1
|
|
else
|
|
echo -e "\n PASS: python36 not insalled"
|
|
fi
|
|
|
|
# Ensure cloud-init has completely finished on the instance. This ensures that
|
|
# the instance is fully ready to go.
|
|
while true; do
|
|
if [[ -f /var/lib/cloud/instance/boot-finished ]]; then
|
|
break
|
|
fi
|
|
echo -e "\n🤔 Waiting for cloud-init to finish running..."
|
|
sleep 5
|
|
done
|