Some checks failed
Create tag and build when new code gets to main / Export (push) Failing after 6m41s
63 lines
1.8 KiB
Bash
63 lines
1.8 KiB
Bash
#!/bin/bash
|
|
|
|
# Check for command-line argument
|
|
godot_binary=""
|
|
filtered_args=""
|
|
|
|
# Process all arguments with a more compatible approach
|
|
while [ $# -gt 0 ]; do
|
|
if [ "$1" = "--godot_binary" ] && [ $# -gt 1 ]; then
|
|
# Get the next argument as the value
|
|
godot_binary="$2"
|
|
shift 2
|
|
else
|
|
# Keep non-godot_binary arguments for passing to Godot
|
|
filtered_args="$filtered_args $1"
|
|
shift
|
|
fi
|
|
done
|
|
|
|
# If --godot_binary wasn't provided, fallback to environment variable
|
|
if [ -z "$godot_binary" ]; then
|
|
godot_binary="$GODOT_BIN"
|
|
fi
|
|
|
|
# Check if we have a godot_binary value from any source
|
|
if [ -z "$godot_binary" ]; then
|
|
echo "Godot binary path is not specified."
|
|
echo "Please either:"
|
|
echo " - Set the environment variable: export GODOT_BIN=/path/to/godot"
|
|
echo " - Or use the --godot_binary argument: --godot_binary /path/to/godot"
|
|
exit 1
|
|
fi
|
|
|
|
# Check if the Godot binary exists and is executable
|
|
if [ ! -f "$godot_binary" ]; then
|
|
echo "Error: The specified Godot binary '$godot_binary' does not exist."
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -x "$godot_binary" ]; then
|
|
echo "Error: The specified Godot binary '$godot_binary' is not executable."
|
|
exit 1
|
|
fi
|
|
|
|
# Get Godot version and check if it's a .NET build
|
|
GODOT_VERSION=$("$godot_binary" --version)
|
|
if echo "$GODOT_VERSION" | grep -i "mono" > /dev/null; then
|
|
echo "Godot .NET detected"
|
|
echo "Compiling c# classes ... Please Wait"
|
|
dotnet build --debug
|
|
echo "done $?"
|
|
fi
|
|
|
|
# Run the tests with the filtered arguments
|
|
"$godot_binary" --path . -s -d res://addons/gdUnit4/bin/GdUnitCmdTool.gd $filtered_args
|
|
exit_code=$?
|
|
echo "Run tests ends with $exit_code"
|
|
|
|
# Run the copy log command
|
|
"$godot_binary" --headless --path . --quiet -s res://addons/gdUnit4/bin/GdUnitCopyLog.gd $filtered_args > /dev/null
|
|
exit_code2=$?
|
|
exit $exit_code
|