updated buildscript to be more useful

This commit is contained in:
Lachee 2025-05-16 19:16:54 +10:00
parent 59f41b2653
commit 3f60a312ec
3 changed files with 98 additions and 31 deletions

View File

@ -34,8 +34,8 @@ RUN echo "BLENDER_FULL_VERSION: $BLENDER_FULL_VERSION" && \
ENV PATH="$PATH:/blender-$BLENDER_FULL_VERSION-linux-x64"
# Add custom scripts
COPY scripts/activate.sh /activate.sh
RUN chmod +x /activate.sh
COPY scripts/build.sh /build.sh
RUN chmod +x /build.sh
# Done
ENTRYPOINT [ "/entrypoint.sh" ]

View File

@ -1,29 +0,0 @@
#!/usr/bin/env bash
# Convert the UNITY_LICENSE to a UNITY_SERIAL
if [ -z "$UNITY_SERIAL" ] && [ ! -z "$UNITY_LICENSE" ]; then
echo "Extracting serial from license file"
UNITY_SERIAL=$(echo "$UNITY_LICENSE" | grep -oP '(?<=<DeveloperData Value=")[^"]+' || echo "")
if [ ! -z "$UNITY_SERIAL" ]; then
echo "Found serial in license file"
fi
echo "$UNITY_SERIAL" | base64 -d >/tmp/serial_decoded
UNITY_SERIAL=$(dd if=/tmp/serial_decoded bs=1 skip=4 2>/dev/null)
rm /tmp/serial_decoded
fi
export UNITY_SERIAL="$UNITY_SERIAL"
# Activate the script.
if [ "$SKIP_ACTIVATION" != "true" ]; then
source /steps/activate.sh
# If we didn't activate successfully, exit with the exit code from the activation step.
if [[ $UNITY_EXIT_CODE -ne 0 ]]; then
exit $UNITY_EXIT_CODE
fi
export SKIP_ACTIVATION="true"
else
echo "Skipping activation"
fi

96
scripts/build.sh Executable file
View File

@ -0,0 +1,96 @@
#!/usr/bin/env bash
set_env_var() {
local name="$1"
local value="$2"
export "$name=$value"
echo "$name=$value" >> $GITHUB_ENV
}
# Convert the UNITY_LICENSE to a UNITY_SERIAL
if [ -z "$UNITY_SERIAL" ] && [ ! -z "$UNITY_LICENSE" ]; then
echo "Extracting serial from license file"
UNITY_SERIAL=$(echo "$UNITY_LICENSE" | grep -oP '(?<=<DeveloperData Value=")[^"]+' || echo "")
if [ ! -z "$UNITY_SERIAL" ]; then
echo "Found serial in license file"
fi
echo "$UNITY_SERIAL" | base64 -d >/tmp/serial_decoded
UNITY_SERIAL=$(dd if=/tmp/serial_decoded bs=1 skip=4 2>/dev/null)
rm /tmp/serial_decoded
set_env_var "UNITY_SERIAL" $UNITY_SERIAL
fi
# Extract the android keystore file
if [ ! -z "$ANDROID_KEYSTORE_BASE64" ]; then
if [ -z "$ANDROID_KEYSTORE_NAME" ]; then
echo "ANDROID_KEYSTORE_NAME not set, using default keystore.jks"
ANDROID_KEYSTORE_NAME="keystore.jks"
else
echo "Using custom keystore name: $ANDROID_KEYSTORE_NAME"
fi
echo "Storing keystore file to $ANDROID_KEYSTORE_NAME"
set_env_var "ANDROID_KEYSTORE_NAME" $ANDROID_KEYSTORE_NAME
fi
# Set a bunch of defaults
if [ -z "$PROJECT_PATH" ]; then
PROJECT_PATH="."
set_env_var "PROJECT_PATH" $PROJECT_PATH
fi
echo "PROJECT PATH: $PROJECT_PATH"
if [ -z "$SKIP_ACTIVATION" ]; then
SKIP_ACTIVATION="false"
set_env_var "SKIP_ACTIVATION" $SKIP_ACTIVATION
fi
echo "SKIP_ACTIVATION: $SKIP_ACTIVATION"
if [ -z "$MANUAL_EXIT" ]; then
MANUAL_EXIT="false"
set_env_var "MANUAL_EXIT" $MANUAL_EXIT
fi
echo "MANUAL_EXIT: $MANUAL_EXIT"
if [ -z "$ENABLE_GPU" ]; then
ENABLE_GPU="false"
set_env_var "ENABLE_GPU" $ENABLE_GPU
fi
echo "ENABLE_GPU: $ENABLE_GPU"
if [ -z "$ENABLE_GRAPHICS" ]; then
ENABLE_GRAPHICS="false"
set_env_var "ENABLE_GRAPHICS" $ENABLE_GRAPHICS
fi
echo "ENABLE_GRAPHICS: $ENABLE_GRAPHICS"
# Android Defaults
if [ -z "$ANDROID_VERSION_CODE" ]; then
ANDROID_VERSION_CODE="129"
set_env_var "ANDROID_VERSION_CODE" $ANDROID_VERSION_CODE
fi
echo "ANDROID_VERSION_CODE: $ANDROID_VERSION_CODE"
if [ -z "$ANDROID_EXPORT_TYPE" ]; then
ANDROID_EXPORT_TYPE="androidPackage"
set_env_var "ANDROID_EXPORT_TYPE" $ANDROID_EXPORT_TYPE
fi
echo "ANDROID_EXPORT_TYPE: $ANDROID_EXPORT_TYPE"
if [ -z "$ANDROID_SYMBOL_TYPE" ]; then
ANDROID_SYMBOL_TYPE="none"
set_env_var "ANDROID_SYMBOL_TYPE" $ANDROID_SYMBOL_TYPE
fi
echo "ANDROID_SYMBOL_TYPE: $ANDROID_SYMBOL_TYPE"
# Configure the final custom parameters
CUSTOM_PARAMETERS="$CUSTOM_PARAMETERS"
if [ "$ENABLE_GRAPHICS" = "false" ]; then
CUSTOM_PARAMETERS="$CUSTOM_PARAMETERS -nographics"
fi
set_env_var "CUSTOM_PARAMETERS" $CUSTOM_PARAMETERS
# Run the build
source /entrypoint.sh