Merge branch 'bug/unity-pid' into 'main'

detect failed unity launch and retry

Closes #60

See merge request kernel-panic/revival!38
This commit is contained in:
Cinder Foster-Smith 2021-03-11 11:03:06 +00:00
commit d5a0430252
2 changed files with 35 additions and 12 deletions

View File

@ -22,6 +22,7 @@ build:
- echo "cloned to $GIT_CLONE_PATH"
- chmod +x ./ci/build.sh
- ./ci/build.sh $UNITY_VERSION
- cp ./readme.txt $BUILD_DIR
artifacts:
name: $CI_PROJECT_NAME-$CI_PIPELINE_ID

View File

@ -12,28 +12,50 @@ echo "removing previous editor log..."
echo "starting build using unity v$unityversion..."
# launch unity in batch mode
open -g $editorpath --args \
-batchmode \
-quit \
-nographics \
-developmentBuild \
-executeMethod "Ktyl.Util.BuildCommand.Run" \
-logFile $editorlogpath \
-projectPath "$(pwd)/game"
unitypid=-1
# wait for editor log to exist
tries=60
launch_unity () {
# launch unity in batch mode
open -g $editorpath --args \
-batchmode \
-quit \
-nographics \
-developmentBuild \
-executeMethod "Ktyl.Util.BuildCommand.Run" \
-logFile $editorlogpath \
-projectPath "$(pwd)/game"
unitypid=`pgrep -n Unity`
echo "launched unity ($unitypid)"
}
launch_unity
tries=120
count=0
while [ ! -f $editorlogpath ]
do
if ps -p $unitypid > /dev/null
then
echo "waiting for unity ($unitypid)"
else
echo "unity is no longer running - trying again"
# reset launch attempts
count=0
launch_unity
continue
fi
# wait a second
sleep 1
# decrement
count=`expr $count + 1`
if [ $count -eq $tries ] ; then
echo "early timeout - $tries seconds elapsed since launch attempt"
echo "early timeout - $tries seconds elapsed since last launch attempt"
exit 1
fi
done