a63c37dca1
The min SCons version had to be bumped as SCons 3.0 before 3.0.3 seems broken (see #92043), and there's little gain from supporting 3.0.3-3.0.5. 3.1.2 is also the first version to avoid ambiguities between Python 2 and Python 3 usage, so we finally use it as the minimum baseline. Also test against Python 3.6 which is also our minimum supported version. This should help prevent regressions whenever we modernize the build scripts.
48 lines
1.6 KiB
YAML
48 lines
1.6 KiB
YAML
name: Build Godot
|
|
description: Build Godot with the provided options.
|
|
inputs:
|
|
target:
|
|
description: Build target (editor, template_release, template_debug).
|
|
default: "editor"
|
|
tests:
|
|
description: Unit tests.
|
|
default: false
|
|
platform:
|
|
description: Target platform.
|
|
required: false
|
|
sconsflags:
|
|
default: ""
|
|
scons-cache:
|
|
description: The SCons cache path.
|
|
default: "${{ github.workspace }}/.scons-cache/"
|
|
scons-cache-limit:
|
|
description: The SCons cache size limit.
|
|
# actions/cache has 10 GiB limit, and GitHub runners have a 14 GiB disk.
|
|
# Limit to 7 GiB to avoid having the extracted cache fill the disk.
|
|
default: 7168
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- name: Scons Build
|
|
shell: sh
|
|
env:
|
|
SCONSFLAGS: ${{ inputs.sconsflags }}
|
|
SCONS_CACHE: ${{ inputs.scons-cache }}
|
|
SCONS_CACHE_LIMIT: ${{ inputs.scons-cache-limit }}
|
|
run: |
|
|
echo "Building with flags:" platform=${{ inputs.platform }} target=${{ inputs.target }} tests=${{ inputs.tests }} ${{ env.SCONSFLAGS }}
|
|
|
|
if [ "${{ inputs.target }}" != "editor" ]; then
|
|
# Ensure we don't include editor code in export template builds.
|
|
rm -rf editor
|
|
fi
|
|
|
|
if [ "${{ github.event.number }}" != "" ]; then
|
|
# Set build identifier with pull request number if available. This is displayed throughout the editor.
|
|
export BUILD_NAME="gh-${{ github.event.number }}"
|
|
else
|
|
export BUILD_NAME="gh"
|
|
fi
|
|
|
|
scons platform=${{ inputs.platform }} target=${{ inputs.target }} tests=${{ inputs.tests }} ${{ env.SCONSFLAGS }}
|
|
ls -l bin/
|