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:
commit
d5a0430252
|
@ -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
|
||||
|
|
32
ci/build.sh
32
ci/build.sh
|
@ -12,8 +12,11 @@ echo "removing previous editor log..."
|
|||
|
||||
echo "starting build using unity v$unityversion..."
|
||||
|
||||
# launch unity in batch mode
|
||||
open -g $editorpath --args \
|
||||
unitypid=-1
|
||||
|
||||
launch_unity () {
|
||||
# launch unity in batch mode
|
||||
open -g $editorpath --args \
|
||||
-batchmode \
|
||||
-quit \
|
||||
-nographics \
|
||||
|
@ -22,18 +25,37 @@ open -g $editorpath --args \
|
|||
-logFile $editorlogpath \
|
||||
-projectPath "$(pwd)/game"
|
||||
|
||||
# wait for editor log to exist
|
||||
tries=60
|
||||
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
|
||||
|
|
Loading…
Reference in New Issue