summaryrefslogtreecommitdiff
path: root/.github/actions/godot-build/action.yml
blob: 377480b1239498bca027907a5de6177215c34be7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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 rm -rf editor; fi  # Ensure we don't include editor code.
        scons platform=${{ inputs.platform }} target=${{ inputs.target }} tests=${{ inputs.tests }} ${{ env.SCONSFLAGS }}
        ls -l bin/