name: Build Godot description: Build Godot with the provided options. inputs: target: description: The scons target (debug/release_debug/release). default: "debug" tools: description: If tools are to be built. default: false tests: description: If tests are to be built. default: false platform: description: The Godot platform to build. 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:" ${{ env.SCONSFLAGS }} if ! ${{ inputs.tools }}; then rm -rf editor; fi # Ensure we don't include editor code. scons p=${{ inputs.platform }} target=${{ inputs.target }} tools=${{ inputs.tools }} tests=${{ inputs.tests }} --jobs=2 ${{ env.SCONSFLAGS }} ls -l bin/