#!/bin/bash
#------------------CI Script------------------
workeruser="zx"
workerip="192.168.122.126"
vmdomain="[local]_win11s"
workerdir=win11s-utf8

#----------------- Prepare VM ----------------
virsh -c qemu:///system start ${vmdomain}

printf "%s%s%s" "waiting for " "${workerip} " "..."
while ! timeout 0.2 ping -c 1 -n ${workerip} &> /dev/null
do
    printf "%c" "."
done
printf "\n%s\n"  "VM is online, sleeping 30 sec"
sleep 30

#----------------- WORKER --------------------
workeraddr=${workeruser}@${workerip}

ssh ${workeraddr} rmdir /S /Q cibuild

ssh ${workeraddr} "md cibuild"

while read -r line; do
    scp "${workerdir}/${line}" "scp://${workeraddr}/cibuild"
# scp "${workerdir}/batch.bat" "scp://${workeraddr}"
# scp "${workerdir}/mygolded.h" "scp://${workeraddr}"
done <<< $(ls -1 ${workerdir})
ssh ${workeraddr} cibuild\\batch.bat | tee ${workerdir}-buildlog.txt
scp "scp://${workeraddr}/cibuild/artifacts.txt" ./${workerdir}-artifacts.txt

while read -r line; do
    echo "found file: ${line}"
    scp scp://${workeraddr}/cibuild/${line} .
done <<< $(cat ${workerdir}-artifacts.txt | sed  's/.$//')

ssh ${workeraddr} rmdir /S /Q cibuild

ssh ${workeraddr} shutdown /s /t 60 /d p:0:0
#---------------- Kill VM --------------------

virsh -c qemu:///system shutdown "${vmdomain}"