mirror of
https://github.com/game-ci/unity-builder.git
synced 2025-07-04 12:25:19 -04:00
Simplify and fail faster for activation process
This commit is contained in:
parent
cad4a8a0e5
commit
ad034dd2a5
@ -6,7 +6,7 @@ if [[ -n "$UNITY_LICENSE" ]]; then
|
|||||||
#
|
#
|
||||||
# This will activate Unity, using a license file
|
# This will activate Unity, using a license file
|
||||||
#
|
#
|
||||||
# Note that this is the ONLY WAY for PERSONAL LICENSES in 2019.
|
# Note that this is the ONLY WAY for PERSONAL LICENSES in 2020.
|
||||||
# * See for more details: https://gitlab.com/gableroux/unity3d-gitlab-ci-example/issues/5#note_72815478
|
# * See for more details: https://gitlab.com/gableroux/unity3d-gitlab-ci-example/issues/5#note_72815478
|
||||||
#
|
#
|
||||||
# The license file can be acquired using `webbertakken/request-manual-activation-file` action.
|
# The license file can be acquired using `webbertakken/request-manual-activation-file` action.
|
||||||
@ -18,11 +18,7 @@ if [[ -n "$UNITY_LICENSE" ]]; then
|
|||||||
# Copy license file from Github variables
|
# Copy license file from Github variables
|
||||||
echo "$UNITY_LICENSE" | tr -d '\r' > $FILE_PATH
|
echo "$UNITY_LICENSE" | tr -d '\r' > $FILE_PATH
|
||||||
|
|
||||||
#
|
|
||||||
# Activate license
|
# Activate license
|
||||||
#
|
|
||||||
# This is expected to always exit with code 1 (both success and failure).
|
|
||||||
#
|
|
||||||
echo "Requesting activation"
|
echo "Requesting activation"
|
||||||
ACTIVATION_OUTPUT=$(xvfb-run --auto-servernum --server-args='-screen 0 640x480x24' \
|
ACTIVATION_OUTPUT=$(xvfb-run --auto-servernum --server-args='-screen 0 640x480x24' \
|
||||||
/opt/Unity/Editor/Unity \
|
/opt/Unity/Editor/Unity \
|
||||||
@ -31,21 +27,33 @@ if [[ -n "$UNITY_LICENSE" ]]; then
|
|||||||
-logFile /dev/stdout \
|
-logFile /dev/stdout \
|
||||||
-quit \
|
-quit \
|
||||||
-manualLicenseFile $FILE_PATH)
|
-manualLicenseFile $FILE_PATH)
|
||||||
# Convert to exit code 0 by echoing the current exit code.
|
|
||||||
echo $?
|
|
||||||
# Exit code is now 0
|
|
||||||
|
|
||||||
# TODO - remove debugging
|
# Store the exit code from the verify command
|
||||||
echo $ACTIVATION_OUTPUT
|
UNITY_EXIT_CODE=$?
|
||||||
echo $ACTIVATION_OUTPUT | grep 'config is NOT valid, switching to default'
|
|
||||||
echo $ACTIVATION_OUTPUT | grep 'config is NOT valid, switching to default' | wc -l
|
|
||||||
|
|
||||||
# TODO - Derive exit code by grepping success statement
|
# The exit code for personal activation is always 1;
|
||||||
UNITY_EXIT_CODE=$(echo $ACTIVATION_OUTPUT | grep 'config is NOT valid, switching to default' | wc -l)
|
# Determine whether activation was successful.
|
||||||
|
#
|
||||||
|
# Successful output should include the following:
|
||||||
|
#
|
||||||
|
# "LICENSE SYSTEM [2020120 18:51:20] Next license update check is after 2019-11-25T18:23:38"
|
||||||
|
#
|
||||||
|
ACTIVATION_SUCCESSFUL=$(echo $ACTIVATION_OUTPUT | grep 'Next license update check is after' | wc -l)
|
||||||
|
|
||||||
|
# Set exit code to 0 if activation was successful
|
||||||
|
if [[ $ACTIVATION_SUCCESSFUL -ne 1 ]]; then
|
||||||
|
UNITY_EXIT_CODE=0
|
||||||
|
fi;
|
||||||
|
|
||||||
# Remove license file
|
# Remove license file
|
||||||
rm -f $FILE_PATH
|
rm -f $FILE_PATH
|
||||||
|
|
||||||
|
# TODO - remove debugging
|
||||||
|
echo "activation successful value: $ACTIVATION_SUCCESSFUL"
|
||||||
|
echo $ACTIVATION_OUTPUT
|
||||||
|
echo $ACTIVATION_OUTPUT | grep 'Next license update check is after'
|
||||||
|
echo $ACTIVATION_OUTPUT | grep 'Next license update check is after' | wc -l
|
||||||
|
|
||||||
elif [[ -n "$UNITY_SERIAL" && -n "$UNITY_EMAIL" && -n "$UNITY_PASSWORD" ]]; then
|
elif [[ -n "$UNITY_SERIAL" && -n "$UNITY_EMAIL" && -n "$UNITY_PASSWORD" ]]; then
|
||||||
#
|
#
|
||||||
# PROFESSIONAL (SERIAL) LICENSE MODE
|
# PROFESSIONAL (SERIAL) LICENSE MODE
|
||||||
@ -71,16 +79,18 @@ elif [[ -n "$UNITY_SERIAL" && -n "$UNITY_EMAIL" && -n "$UNITY_PASSWORD" ]]; then
|
|||||||
|
|
||||||
else
|
else
|
||||||
#
|
#
|
||||||
# LICENSE ACTIVATION FAILED
|
# NO LICENSE ACTIVATION STRATEGY MATCHED
|
||||||
#
|
#
|
||||||
# This will exit since both personal and professional activation modes failed
|
# This will exit since no activation strategies could be matched.
|
||||||
#
|
#
|
||||||
echo "No personal or professional licenses provided!"
|
echo "License activation strategy could not be determined."
|
||||||
echo "Please ensure you have setup one of these licensing methods:"
|
echo ""
|
||||||
echo " - Personal: Set the UNITY_LICENSE environment variable."
|
echo "Visit https://github.com/webbertakken/unity-builder#usage for more"
|
||||||
echo " - Professional: Set the UNITY_EMAIL, UNITY_PASSWORD and UNITY_SERIAL environment variables."
|
echo "details on how to set up one of the possible activation strategies."
|
||||||
echo "See https://github.com/webbertakken/unity-builder#usage for details."
|
|
||||||
|
# Immediately exit as no UNITY_EXIT_CODE can be derrived.
|
||||||
exit 1;
|
exit 1;
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#
|
#
|
||||||
|
Loading…
Reference in New Issue
Block a user