From ae16937f45a4d339d579294b7b53e84beec4749e Mon Sep 17 00:00:00 2001 From: Spartan322 Date: Fri, 7 Jul 2023 12:26:54 -0400 Subject: Add scons-cache support for extension build Copies how Godot handles scons-cache Add openvic-build action Add openvic-cache action Add mingw-cache action Add verbose and progress Scons options to SConstruct This is completely based on how Godot implemented caching with Scons --- .github/actions/openvic-build/action.yml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 .github/actions/openvic-build/action.yml (limited to '.github/actions/openvic-build/action.yml') diff --git a/.github/actions/openvic-build/action.yml b/.github/actions/openvic-build/action.yml new file mode 100644 index 0000000..a4b3507 --- /dev/null +++ b/.github/actions/openvic-build/action.yml @@ -0,0 +1,32 @@ +name: Build OpenVic Extension +description: Build OpenVic Extension with provided options. +inputs: + target: + description: Build target (editor, template_release, template_debug). + default: "template_release" + 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 }} ${{ env.SCONSFLAGS }} + scons platform=${{ inputs.platform }} target=${{ inputs.target }} ${{ env.SCONSFLAGS }} + ls -l game/bin/openvic/ \ No newline at end of file -- cgit v1.2.3-56-ga3b1