mirror of
https://github.com/game-ci/unity-builder.git
synced 2025-07-04 12:25:19 -04:00

* fixes * fixes * fixes * fixes * fixes * check for startup message in workflows * check for startup message in workflows * check for startup message in workflows * check for startup message in workflows * check for startup message in workflows * check for startup message in workflows * Update cloud-runner-ci-pipeline.yml * Update cloud-runner-ci-pipeline.yml * no storage class specified * log file path * log file path * log file path * log file path * log file path * log file path * log file path * log file path * updates * log file path * latest develop * log file path * log file path * Update package.json * log file path * log file path * log file path * log file path * log file path * log file path * log file path * log file path * log file path * log file path * log file path * log file path * log file path * log file path * stream logs through standard input and new remote client cli command * stream logs through standard input and new remote client cli command * stream logs through standard input and new remote client cli command * stream logs through standard input and new remote client cli command * stream logs through standard input and new remote client cli command * stream logs through standard input and new remote client cli command * stream logs through standard input and new remote client cli command * stream logs through standard input and new remote client cli command * stream logs through standard input and new remote client cli command * stream logs through standard input and new remote client cli command * stream logs through standard input and new remote client cli command * stream logs through standard input and new remote client cli command * stream logs through standard input and new remote client cli command * stream logs through standard input and new remote client cli command * stream logs through standard input and new remote client cli command * update pipeline to use k3s * version: 'latest' * fixes * disable aws pipe for now * disable aws pipe for now * disable aws pipe for now * disable aws pipe for now * disable aws pipe for now * disable aws pipe for now * disable aws pipe for now * disable aws pipe for now * disable aws pipe for now * disable aws pipe for now * push k8s logs to LOG SERVICE IP * push k8s logs to LOG SERVICE IP * push k8s logs to LOG SERVICE IP * push k8s logs to LOG SERVICE IP * push k8s logs to LOG SERVICE IP * push k8s logs to LOG SERVICE IP * push k8s logs to LOG SERVICE IP * push k8s logs to LOG SERVICE IP * tests * tests * tests * tests * tests * tests * tests * tests * tests * tests * tests * tests * tests * tests * tests * tests * tests * podname logs for log service * podname logs for log service * podname logs for log service * podname logs for log service * podname logs for log service * podname logs for log service * podname logs for log service * podname logs for log service * podname logs for log service * hashed logs * hashed logs * hashed logs * hashed logs * hashed logs * hashed logs * no wait, just repeat logs * no wait, just repeat logs * remove typo - double await * test fix - kubernetes - name typo in github yaml * test fix - kubernetes - name typo in github yaml * check missing log file * check missing log file * Push to steam test * Push to steam test * Fix path * k8s reliable log hashing * k8s reliable log hashing * k8s reliable log hashing * hashed logging k8s * hashed logging k8s * hashed logging k8s * hashed logging k8s * hashed logging k8s * hashed logging k8s * Include log chunk when task runner sees log update, clarify if we can pull logs from same line or next line * Include log chunk when task runner sees log update, clarify if we can pull logs from same line or next line * Include log chunk when task runner sees log update, clarify if we can pull logs from same line or next line * Include log chunk when task runner sees log update, clarify if we can pull logs from same line or next line * Include log chunk when task runner sees log update, clarify if we can pull logs from same line or next line * Fix exit flow for k8s job * hash comparison logging for log complete in k8s flow * Interrupt k8s logs when logs found * cleanup async parameter * cleanup async parameter * cleanup async parameter * fixes * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix
111 lines
3.3 KiB
Bash
Executable File
111 lines
3.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# if blankproject folder doesn't exist create it
|
|
if [ ! -d "/BlankProject" ]; then
|
|
mkdir /BlankProject
|
|
fi
|
|
# if blankproject folder doesn't exist create it
|
|
if [ ! -d "/BlankProject/Assets" ]; then
|
|
mkdir /BlankProject/Assets
|
|
fi
|
|
|
|
if [[ -n "$UNITY_SERIAL" && -n "$UNITY_EMAIL" && -n "$UNITY_PASSWORD" ]]; then
|
|
#
|
|
# SERIAL LICENSE MODE
|
|
#
|
|
# This will activate unity, using the serial activation process.
|
|
#
|
|
echo "Requesting activation"
|
|
|
|
# Loop the unity-editor call until the license is activated with exponential backoff and a maximum of 5 retries
|
|
retry_count=0
|
|
|
|
# Initialize delay to 15 seconds
|
|
delay=15
|
|
|
|
# Loop until UNITY_EXIT_CODE is 0 or retry count reaches 5
|
|
while [[ $retry_count -lt 5 ]]
|
|
do
|
|
# Activate license
|
|
unity-editor \
|
|
-logFile /dev/stdout \
|
|
-quit \
|
|
-serial "$UNITY_SERIAL" \
|
|
-username "$UNITY_EMAIL" \
|
|
-password "$UNITY_PASSWORD" \
|
|
-projectPath "/BlankProject"
|
|
|
|
# Store the exit code from the verify command
|
|
UNITY_EXIT_CODE=$?
|
|
|
|
# Check if UNITY_EXIT_CODE is 0
|
|
if [[ $UNITY_EXIT_CODE -eq 0 ]]
|
|
then
|
|
echo "Activation successful"
|
|
break
|
|
else
|
|
# Increment retry count
|
|
((retry_count++))
|
|
|
|
echo "::warning ::Activation failed, attempting retry #$retry_count"
|
|
echo "Activation failed, retrying in $delay seconds..."
|
|
sleep $delay
|
|
|
|
# Double the delay for the next iteration
|
|
delay=$((delay * 2))
|
|
fi
|
|
done
|
|
|
|
if [[ $retry_count -eq 5 ]]
|
|
then
|
|
echo "Activation failed after 5 retries"
|
|
fi
|
|
|
|
elif [[ -n "$UNITY_LICENSING_SERVER" ]]; then
|
|
#
|
|
# Custom Unity License Server
|
|
#
|
|
echo "Adding licensing server config"
|
|
|
|
/opt/unity/Editor/Data/Resources/Licensing/Client/Unity.Licensing.Client --acquire-floating > license.txt #is this accessible in a env variable?
|
|
PARSEDFILE=$(grep -oP '\".*?\"' < license.txt | tr -d '"')
|
|
export FLOATING_LICENSE
|
|
FLOATING_LICENSE=$(sed -n 2p <<< "$PARSEDFILE")
|
|
FLOATING_LICENSE_TIMEOUT=$(sed -n 4p <<< "$PARSEDFILE")
|
|
|
|
echo "Acquired floating license: \"$FLOATING_LICENSE\" with timeout $FLOATING_LICENSE_TIMEOUT"
|
|
# Store the exit code from the verify command
|
|
UNITY_EXIT_CODE=$?
|
|
else
|
|
#
|
|
# NO LICENSE ACTIVATION STRATEGY MATCHED
|
|
#
|
|
# This will exit since no activation strategies could be matched.
|
|
#
|
|
echo "License activation strategy could not be determined."
|
|
echo ""
|
|
echo "Visit https://game.ci/docs/github/activation for more"
|
|
echo "details on how to set up one of the possible activation strategies."
|
|
|
|
echo "::error ::No valid license activation strategy could be determined. Make sure to provide UNITY_EMAIL, UNITY_PASSWORD, and either a UNITY_SERIAL \
|
|
or UNITY_LICENSE. Otherwise please use UNITY_LICENSING_SERVER. See more info at https://game.ci/docs/github/activation"
|
|
|
|
# Immediately exit as no UNITY_EXIT_CODE can be derived.
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
#
|
|
# Display information about the result
|
|
#
|
|
if [ $UNITY_EXIT_CODE -eq 0 ]; then
|
|
# Activation was a success
|
|
echo "Activation complete."
|
|
else
|
|
# Activation failed so exit with the code from the license verification step
|
|
echo "Unclassified error occured while trying to activate license."
|
|
echo "Exit code was: $UNITY_EXIT_CODE"
|
|
echo "::error ::There was an error while trying to activate the Unity license."
|
|
exit $UNITY_EXIT_CODE
|
|
fi
|