We can now use GCP runners in our CI. Let's test them out by running all of libvirt tests for starters.
63 lines
1.8 KiB
Bash
Executable file
63 lines
1.8 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:"
|
|
sudo yum repolist -v
|
|
|
|
echo "------------------------------------------------------------------------------"
|
|
|
|
echo "List of installed packages:"
|
|
rpm -qa | sort
|
|
echo "------------------------------------------------------------------------------"
|
|
|
|
# gcp runners don't use cloud-init and some of the images have python36 installed
|
|
if [[ "$RUNNER" != *"gcp"* ]];then
|
|
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
|
|
fi
|