diff --git a/roles/gitlab_runner/files/libvirt-executor b/roles/gitlab_runner/files/libvirt-executor index b32518fd11bac2972996db897d7a1968fd11ff99..eee2400498cafd1207fea3127165af8b3e991b1b 100755 --- a/roles/gitlab_runner/files/libvirt-executor +++ b/roles/gitlab_runner/files/libvirt-executor @@ -28,7 +28,7 @@ vm_ip() { } wait_for_ssh() { - for _ in {1..60}; do + for _ in {1..30}; do if ! ip="$(vm_ip "${1}")"; then echo "Waiting for network" sleep 1 @@ -42,7 +42,7 @@ wait_for_ssh() { printf "%s" "${ip}" return 0 done - echo 'Waited 60 seconds for VM to start, exiting...' + echo 'Waited 30 seconds for VM to start, exiting...' exit "${SYSTEM_FAILURE_EXIT_CODE:-1}" } diff --git a/roles/gitlab_runner/files/libvirt-executor-update-base-image b/roles/gitlab_runner/files/libvirt-executor-update-base-image index f02e839063747c156e8c517c79c31072c9d17fe2..c3d2570cdf7ea7ffcc2212bf34f12a8f02a99f50 100755 --- a/roles/gitlab_runner/files/libvirt-executor-update-base-image +++ b/roles/gitlab_runner/files/libvirt-executor-update-base-image @@ -26,7 +26,14 @@ qemu-img convert -f qcow2 -O raw Arch-Linux-x86_64-basic.qcow2 Arch-Linux-x86_64 loopdev="$(losetup --find --partscan --show "${image}")" mount --mkdir "${loopdev}p2" mnt -mount --mkdir --bind -o ro /etc/pacman.d/gnupg mnt/etc/pacman.d/gnupg + +arch-chroot mnt bash -e <<'EOF' +pacman-key --init +pacman-key --populate +pid="$(pgrep gpg-agent)" +gpgconf --homedir /etc/pacman.d/gnupg --kill all +tail --pid="${pid}" -f /dev/null +EOF # shellcheck disable=SC2016 printf 'Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch' > mnt/etc/pacman.d/mirrorlist @@ -42,8 +49,7 @@ rm -f mnt/etc/machine-id cp -a mnt/boot/{initramfs-linux-fallback.img,initramfs-linux.img} -umount mnt/etc/pacman.d/gnupg -rmdir mnt/etc/pacman.d/gnupg +rm -r mnt/etc/pacman.d/gnupg/{openpgp-revocs.d,private-keys-v1.d}/ umount mnt losetup -d "${loopdev}" loopdev=""