Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 18 additions & 23 deletions .github/workflows/build_android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,25 +34,15 @@ env:
jobs:
build-android:
runs-on: ubuntu-24.04
name: ${{ matrix.name }}
name: Android (${{ matrix.target }}, ${{ matrix.engine }})
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
include:
- name: Template (target=template_release, arch=arm64, v8)
cache-name: android-template-release-${{inputs.version}}-v8
target: template_release
tests: false
sconsflags: ${{ inputs.version == '4.4' && 'deprecated=no ndk_platform=android-24 generate_apk=yes' || '' }}
cache-limit: 1

- name: Template (target=template_release, arch=arm64, qjs_ng)
cache-name: android-template-release-${{inputs.version}}-qjs-ng
target: template_release
tests: false
sconsflags: use_quickjs_ng=yes
cache-limit: 1
# QuickJS isn't working at the moment
# engine: [ v8, qjs-ng ]
engine: [v8]
target: [template_release, template_debug]

steps:
- name: Checkout Godot
Expand All @@ -78,7 +68,7 @@ jobs:
- name: Restore Godot build cache
uses: ./.github/actions/godot-cache-restore
with:
cache-name: ${{ matrix.cache-name }}
cache-name: android-${{ matrix.target }}-${{inputs.version}}-${{ matrix.engine }}
continue-on-error: true

- name: Download deps artifact
Expand Down Expand Up @@ -111,24 +101,30 @@ jobs:
if: inputs.version == '4.4'
uses: ./.github/actions/godot-build
with:
sconsflags: ${{ env.SCONSFLAGS }} ${{ matrix.sconsflags }}
sconsflags: >-
${{ env.SCONSFLAGS }}
${{ matrix.engine == 'qjs-ng' && 'use_quickjs_ng=yes' || '' }}
deprecated=no
ndk_platform=android-24
generate_apk=yes
platform: android
target: ${{ matrix.target }}
tests: ${{ matrix.tests }}
scons-cache-limit: ${{ matrix.cache-limit }}
scons-cache-limit: 1

- name: Compilation [4.5+]
if: inputs.version != '4.4'
uses: ./.github/actions/godot-build
with:
scons-flags: ${{ env.SCONS_FLAGS }} ${{ matrix.sconsflags }}
scons-flags: >-
${{ env.SCONS_FLAGS }}
${{ matrix.engine == 'qjs-ng' && 'use_quickjs_ng=yes' || '' }}
platform: android
target: ${{ matrix.target }}

- name: Save Godot build cache
uses: ./.github/actions/godot-cache-save
with:
cache-name: ${{ matrix.cache-name }}
cache-name: android-${{ matrix.target }}-${{inputs.version}}-${{ matrix.engine }}
continue-on-error: true

- name: Generate Godot templates
Expand All @@ -142,5 +138,4 @@ jobs:
- name: Upload artifact
uses: ./.github/actions/upload-artifact
with:
name: ${{ matrix.cache-name }}

name: android-${{ matrix.target }}-${{inputs.version}}-${{ matrix.engine }}
6 changes: 6 additions & 0 deletions .github/workflows/build_engine_version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ on:
description: "V8 version"
required: true
type: string
tests:
type: boolean
default: true

jobs:
android-build:
Expand All @@ -36,20 +39,23 @@ jobs:
with:
version: ${{ inputs.version }}
version_ref: ${{ inputs.version_ref }}
tests: ${{ inputs.tests }}

macos-build:
name: 🍎 macOS
uses: ./.github/workflows/build_macos.yml
with:
version: ${{ inputs.version }}
version_ref: ${{ inputs.version_ref }}
tests: ${{ inputs.tests }}

windows-build:
name: 🏁 Windows
uses: ./.github/workflows/build_windows.yml
with:
version: ${{ inputs.version }}
version_ref: ${{ inputs.version_ref }}
tests: ${{ inputs.tests }}

web-build:
name: 🌐 Web
Expand Down
39 changes: 16 additions & 23 deletions .github/workflows/build_ios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,27 +30,14 @@ jobs:
ios-template:
runs-on: macos-latest
timeout-minutes: 60
name: Template (target=template_release)
name: iOS (${{ matrix.target }}, ${{ matrix.engine }})
strategy:
fail-fast: false
matrix:
include:
- name: Template (target=template_release, v8)
cache-name: ios-template-release-${{inputs.version}}-v8
target: template_release
cache-limit: 1

- name: Template (target=template_release, qjs_ng)
cache-name: ios-template-release-${{inputs.version}}-qjs-ng
target: template_release
sconsflags: use_quickjs_ng=yes
cache-limit: 1

# - name: Template (target=template_release, jsc)
# cache-name: ios-template-${{inputs.version}}-jsc
# target: template_release
# sconsflags: use_jsc=yes
# cache-limit: 1
# QuickJS & JSC isn't working at the moment
# engine: [ v8, qjs-ng, jsc ]
engine: [ v8 ]
target: [ template_release, template_debug ]

steps:
- name: Checkout Godot
Expand All @@ -70,6 +57,8 @@ jobs:
- name: Restore Godot build cache
uses: ./.github/actions/godot-cache-restore
continue-on-error: true
with:
cache-name: ios-${{ matrix.target }}-${{inputs.version}}-${{ matrix.engine }}

- name: Download deps artifact
uses: actions/download-artifact@v4
Expand All @@ -90,26 +79,30 @@ jobs:
if: inputs.version == '4.4'
uses: ./.github/actions/godot-build
with:
sconsflags: ${{ env.SCONSFLAGS }} ${{ matrix.sconsflags }}
sconsflags: >-
${{ env.SCONSFLAGS }}
${{ matrix.engine == 'qjs-ng' && 'use_quickjs_ng=yes' || '' }}
platform: ios
target: ${{ matrix.target }}
scons-cache-limit: ${{ matrix.cache-limit }}
scons-cache-limit: 1

- name: Compilation [4.5+]
if: inputs.version != '4.4'
uses: ./.github/actions/godot-build
with:
scons-flags: ${{ env.SCONS_FLAGS }} ${{ matrix.sconsflags }}
scons-flags: >-
${{ env.SCONS_FLAGS }}
${{ matrix.engine == 'qjs-ng' && 'use_quickjs_ng=yes' || '' }}
platform: ios
target: ${{ matrix.target }}

- name: Save Godot build cache
uses: ./.github/actions/godot-cache-save
with:
cache-name: ${{ matrix.cache-name }}
cache-name: ios-${{ matrix.target }}-${{inputs.version}}-${{ matrix.engine }}
continue-on-error: true

- name: Upload artifact
uses: ./.github/actions/upload-artifact
with:
name: ${{ matrix.cache-name }}
name: ios-${{ matrix.target }}-${{inputs.version}}-${{ matrix.engine }}
81 changes: 38 additions & 43 deletions .github/workflows/build_linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ on:
description: "Godot engine commit reference"
required: true
type: string
tests:
type: boolean
default: true

# Global Settings
env:
Expand All @@ -33,47 +36,15 @@ jobs:
build-linux:
# Stay one LTS before latest to increase portability of Linux artifacts.
runs-on: ubuntu-22.04
name: ${{ matrix.name }}
name: Linux (${{ matrix.target }}, ${{ matrix.engine }})
timeout-minutes: 120
strategy:
fail-fast: false
matrix:
include:
- name: Editor (target=editor, v8)
cache-name: linux-editor-${{inputs.version}}-v8
target: editor
cache-limit: 2

- name: Template release (target=template_release, v8)
cache-name: linux-template-release-${{inputs.version}}-v8
sconsflags: debug_symbols=no
target: template_release
cache-limit: 1

- name: Template debug (target=template_debug, v8)
cache-name: linux-template-debug-${{inputs.version}}-v8
sconsflags: debug_symbols=no
target: template_debug
bin: ./bin/godot.linuxbsd.template_debug.x86_64.v8
cache-limit: 1

- name: Editor (target=editor, qjs_ng)
cache-name: linux-editor-${{inputs.version}}-qjs-ng
target: editor
sconsflags: use_quickjs_ng=yes
cache-limit: 2

- name: Template release (target=template_release, qjs_ng)
cache-name: linux-template-release-${{inputs.version}}-qjs-ng
target: template_release
sconsflags: use_quickjs_ng=yes debug_symbols=no
cache-limit: 1

- name: Template debug (target=template_debug, qjs_ng)
cache-name: linux-template-debug-${{inputs.version}}-qjs-ng
target: template_debug
sconsflags: use_quickjs_ng=yes debug_symbols=no
cache-limit: 1
# QuickJS isn't working at the moment
# engine: [ v8, qjs-ng ]
engine: [v8]
target: [editor, template_release, template_debug]

steps:
- name: Checkout Godot
Expand Down Expand Up @@ -104,7 +75,7 @@ jobs:
- name: Restore Godot build cache
uses: ./.github/actions/godot-cache-restore
with:
cache-name: ${{ matrix.cache-name }}
cache-name: linux-${{ matrix.target }}-${{inputs.version}}-${{ matrix.engine }}
continue-on-error: true

- name: Download deps artifact
Expand All @@ -119,6 +90,13 @@ jobs:
name: scripts-out
path: ${{github.workspace}}/modules/GodotJS/scripts/out

- name: Download tests/project
if: ${{ inputs.tests && matrix.target == 'editor' }}
uses: actions/download-artifact@v4
with:
name: tests-project
path: ${{github.workspace}}/modules/GodotJS/tests/project/.godot/GodotJS

- name: Setup Python and SCons
uses: ./.github/actions/godot-deps

Expand All @@ -139,22 +117,30 @@ jobs:
if: inputs.version == '4.4'
uses: ./.github/actions/godot-build
with:
sconsflags: ${{ env.SCONSFLAGS }} ${{ matrix.sconsflags }}
sconsflags: >-
${{ env.SCONSFLAGS }}
${{ matrix.target != 'editor' && 'debug_symbols=no' || '' }}
${{ matrix.engine == 'qjs-ng' && 'use_quickjs_ng=yes' || '' }}
${{ inputs.tests && matrix.target == 'editor' && 'tests=yes' || '' }}
platform: linuxbsd
target: ${{ matrix.target }}
scons-cache-limit: ${{ matrix.cache-limit }}
scons-cache-limit: ${{ matrix.target == 'editor' && 2 || 1 }}

- name: Compilation [4.5+]
if: inputs.version != '4.4'
uses: ./.github/actions/godot-build
with:
scons-flags: ${{ env.SCONS_FLAGS }} ${{ matrix.sconsflags }}
scons-flags: >-
${{ env.SCONS_FLAGS }}
${{ matrix.target != 'editor' && 'debug_symbols=no' || '' }}
${{ matrix.engine == 'qjs-ng' && 'use_quickjs_ng=yes' || '' }}
${{ inputs.tests && matrix.target == 'editor' && 'tests=yes' || '' }}
platform: linuxbsd

- name: Save Godot build cache
uses: ./.github/actions/godot-cache-save
with:
cache-name: ${{ matrix.cache-name }}
cache-name: linux-${{ matrix.target }}-${{inputs.version}}-${{ matrix.engine }}
continue-on-error: true

- name: Prepare artifact
Expand All @@ -165,4 +151,13 @@ jobs:
- name: Upload artifact
uses: ./.github/actions/upload-artifact
with:
name: ${{ matrix.cache-name }}
name: linux-${{ matrix.target }}-${{inputs.version}}-${{ matrix.engine }}

- name: Unit tests
if: ${{ inputs.tests && matrix.target == 'editor' }}
env:
BIN: ./bin/godot.linuxbsd.editor.x86_64
run: |
${{ env.BIN }} --version
${{ env.BIN }} --help
${{ env.BIN }} --headless --test --test-case="[jsb]*" --force-colors
Loading
Loading