summaryrefslogtreecommitdiff
path: root/.github/actions/godot-build/action.yml
blob: 7af3516f719a82f604bff9d36b7027ae3ef351d3 (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
37
38
39
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/