Refactor building to target platform

Refactor artifact output

== -> =
This commit is contained in:
Joseph Manley 2019-12-20 21:13:37 -05:00
parent 4940f3b222
commit 25441faa20
2 changed files with 30 additions and 34 deletions

View file

@ -1,9 +1,27 @@
name: "Build Godot" name: "Build Godot"
description: "Build a Godot project for multiple platforms" description: "Build a Godot project for multiple platforms"
author: josephbmanley author: josephbmanley
inputs:
name:
description: 'Name of the exported binary'
required: true
preset:
description: 'Name of the preset in `export_presets.cfg` to use'
required: true
subdirectory:
description: 'Optional name of the subdirectory to put exported project in'
required: false
package:
description: 'Set true to output an artifact zip file'
required: false
runs: runs:
using: docker using: docker
image: Dockerfile image: Dockerfile
args:
- ${{ inputs.name }}
- ${{ inputs.preset }}
- ${{ inputs.subdirectory }}
- ${{ inputs.package }}
branding: branding:
icon: loader icon: loader
color: blue color: blue

View file

@ -2,8 +2,8 @@
set -e set -e
workDir=`pwd` workDir=`pwd`
platforms="linux windows mac html5"
# Install export templates
wget https://downloads.tuxfamily.org/godotengine/3.1.1/Godot_v3.1.1-stable_export_templates.tpz --quiet wget https://downloads.tuxfamily.org/godotengine/3.1.1/Godot_v3.1.1-stable_export_templates.tpz --quiet
mkdir ~/.cache mkdir ~/.cache
mkdir -p ~/.config/godot mkdir -p ~/.config/godot
@ -12,44 +12,22 @@ unzip Godot_v3.1.1-stable_export_templates.tpz
mv templates/* ~/.local/share/godot/templates/3.1.1.stable mv templates/* ~/.local/share/godot/templates/3.1.1.stable
rm -f Godot_v3.1.1-stable_export_templates.tpz rm -f Godot_v3.1.1-stable_export_templates.tpz
if [ "${SUBDIRECTORY}" != "" ] if [ "$3" != "" ]
then then
SubDirectoryLocation="${SUBDIRECTORY}/" SubDirectoryLocation="$3/"
fi fi
# Export for Linux # Export for project
echo "Building ${PROJECT} for Linux" echo "Building ${PROJECT} for Linux"
mkdir -p ./build/linux/${SubDirectoryLocation:-""} mkdir -p `pwd`/build/${SubDirectoryLocation:-""}
godot --export Linux/X11 ./build/linux/${SubDirectoryLocation:-""}${PROJECT} godot --export $2 `pwd`/build/${SubDirectoryLocation:-""}$1
# Export for Windows echo ::set-output name=build::`pwd`/build/${SubDirectoryLocation:-""}
echo "Building ${PROJECT} for Windows"
mkdir -p ./build/windows/${SubDirectoryLocation:-""}
godot --export "Windows Desktop" ./build/windows/${SubDirectoryLocation:-""}${PROJECT}.exe
# Export for OSX if [ "$4" = "true" ]
echo "Building ${PROJECT} for OSX"
mkdir -p ./build/mac/${SubDirectoryLocation:-""}
godot --export "Mac OSX" ./build/mac/${SubDirectoryLocation:-""}${PROJECT}
# Export for HTML5
echo "Building ${PROJECT} for HTML5"
mkdir -p ./build/html5/${SubDirectoryLocation:-""}
godot --export "HTML5" ./build/html5/${SubDirectoryLocation:-""}index.html
mkdir ${workDir}/package
if [ ${PACKAGE:-"false"} = "true" ]
then then
for platform in $platforms mkdir `pwd`/package
do cd `pwd`/build
if [ "$(ls -A ${workDir}/build/${platform})" ]; then zip `pwd`/package/artifact.zip ${SubDirectoryLocation:-"*"} -r
echo $platform echo ::set-output name=artifact::`pwd`/package/artifact.zip
pwd
ls
cd ${workDir}/build/${platform}
zip ${workDir}/package/${PROJECT}-${platform}.zip ${SUBDIRECTORY:-"*"} -r
else
echo "${platform} did not build!"
fi
done
fi fi