commit
92010f19f1
|
@ -20,4 +20,5 @@ runs:
|
||||||
|
|
||||||
- name: Set NAME_PREFIX
|
- name: Set NAME_PREFIX
|
||||||
shell: bash
|
shell: bash
|
||||||
run: echo "NAME_PREFIX=limboai+${LIMBOAI_VERSION}.gdextension-${GDEXTENSION_VERSION}" >> "$GITHUB_ENV"
|
run: |
|
||||||
|
echo "NAME_PREFIX=limboai+${LIMBOAI_VERSION}.gdextension-${GDEXTENSION_VERSION}" >> "$GITHUB_ENV"
|
||||||
|
|
|
@ -12,7 +12,7 @@ runs:
|
||||||
|
|
||||||
- name: Set NAME_PREFIX
|
- name: Set NAME_PREFIX
|
||||||
shell: bash
|
shell: bash
|
||||||
run: echo "NAME_PREFIX=godot-${GODOT_VERSION}.limboai+${LIMBOAI_VERSION}" >> "$GITHUB_ENV"
|
run: echo "NAME_PREFIX=limboai+${LIMBOAI_VERSION}.godot-${GODOT_VERSION}" >> "$GITHUB_ENV"
|
||||||
|
|
||||||
- name: Set GODOT_VERSION_STATUS & BUILD_NAME
|
- name: Set GODOT_VERSION_STATUS & BUILD_NAME
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
|
@ -2,22 +2,27 @@ name: 🔗 All builds
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
godot-treeish:
|
godot-ref:
|
||||||
description: A tag, branch or commit hash in the Godot repository.
|
description: A tag, branch or commit hash in the Godot repository.
|
||||||
type: string
|
type: string
|
||||||
default: 4.2
|
default: 4.2
|
||||||
limboai-treeish:
|
limboai-ref:
|
||||||
description: A tag, branch or commit hash in the LimboAI repository.
|
description: A tag, branch or commit hash in the LimboAI repository.
|
||||||
type: string
|
type: string
|
||||||
default: master
|
default: master
|
||||||
godot-cpp-treeish:
|
godot-cpp-ref:
|
||||||
description: A tag, branch or commit hash in the godot-cpp repository.
|
description: A tag, branch or commit hash in the godot-cpp repository.
|
||||||
type: string
|
type: string
|
||||||
default: 4.2
|
default: 4.2
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
actions: write
|
||||||
|
contents: read
|
||||||
|
packages: read
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
cache-sha:
|
cache-sha:
|
||||||
name: Cache treeish SHA
|
name: Cache SHA
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
outputs:
|
outputs:
|
||||||
godot-sha: ${{ steps.cache-sha.outputs.godot-sha }}
|
godot-sha: ${{ steps.cache-sha.outputs.godot-sha }}
|
||||||
|
@ -27,13 +32,13 @@ jobs:
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
repository: godotengine/godot
|
repository: godotengine/godot
|
||||||
ref: ${{ inputs.godot-treeish }}
|
ref: ${{ inputs.godot-ref }}
|
||||||
|
|
||||||
- name: Clone LimboAI module
|
- name: Clone LimboAI module
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
path: modules/limboai
|
path: modules/limboai
|
||||||
ref: ${{ inputs.limboai-treeish }}
|
ref: ${{ inputs.limboai-ref }}
|
||||||
|
|
||||||
- name: Cache SHA
|
- name: Cache SHA
|
||||||
id: cache-sha
|
id: cache-sha
|
||||||
|
@ -47,24 +52,24 @@ jobs:
|
||||||
needs: cache-sha
|
needs: cache-sha
|
||||||
uses: ./.github/workflows/android.yml
|
uses: ./.github/workflows/android.yml
|
||||||
with:
|
with:
|
||||||
godot-treeish: ${{ needs.cache-sha.outputs.godot-sha }}
|
godot-ref: ${{ needs.cache-sha.outputs.godot-sha }}
|
||||||
limboai-treeish: ${{ needs.cache-sha.outputs.limboai-sha }}
|
limboai-ref: ${{ needs.cache-sha.outputs.limboai-sha }}
|
||||||
|
|
||||||
ios-build:
|
ios-build:
|
||||||
name: 🍏 iOS
|
name: 🍏 iOS
|
||||||
needs: cache-sha
|
needs: cache-sha
|
||||||
uses: ./.github/workflows/ios.yml
|
uses: ./.github/workflows/ios.yml
|
||||||
with:
|
with:
|
||||||
godot-treeish: ${{ needs.cache-sha.outputs.godot-sha }}
|
godot-ref: ${{ needs.cache-sha.outputs.godot-sha }}
|
||||||
limboai-treeish: ${{ needs.cache-sha.outputs.limboai-sha }}
|
limboai-ref: ${{ needs.cache-sha.outputs.limboai-sha }}
|
||||||
|
|
||||||
linux-build:
|
linux-build:
|
||||||
name: 🐧 Linux
|
name: 🐧 Linux
|
||||||
needs: cache-sha
|
needs: cache-sha
|
||||||
uses: ./.github/workflows/linux.yml
|
uses: ./.github/workflows/linux.yml
|
||||||
with:
|
with:
|
||||||
godot-treeish: ${{ needs.cache-sha.outputs.godot-sha }}
|
godot-ref: ${{ needs.cache-sha.outputs.godot-sha }}
|
||||||
limboai-treeish: ${{ needs.cache-sha.outputs.limboai-sha }}
|
limboai-ref: ${{ needs.cache-sha.outputs.limboai-sha }}
|
||||||
test-build: false
|
test-build: false
|
||||||
|
|
||||||
macos-build:
|
macos-build:
|
||||||
|
@ -72,16 +77,16 @@ jobs:
|
||||||
needs: cache-sha
|
needs: cache-sha
|
||||||
uses: ./.github/workflows/macos.yml
|
uses: ./.github/workflows/macos.yml
|
||||||
with:
|
with:
|
||||||
godot-treeish: ${{ needs.cache-sha.outputs.godot-sha }}
|
godot-ref: ${{ needs.cache-sha.outputs.godot-sha }}
|
||||||
limboai-treeish: ${{ needs.cache-sha.outputs.limboai-sha }}
|
limboai-ref: ${{ needs.cache-sha.outputs.limboai-sha }}
|
||||||
|
|
||||||
windows-build:
|
windows-build:
|
||||||
name: 🪟 Windows
|
name: 🪟 Windows
|
||||||
needs: cache-sha
|
needs: cache-sha
|
||||||
uses: ./.github/workflows/windows.yml
|
uses: ./.github/workflows/windows.yml
|
||||||
with:
|
with:
|
||||||
godot-treeish: ${{ needs.cache-sha.outputs.godot-sha }}
|
godot-ref: ${{ needs.cache-sha.outputs.godot-sha }}
|
||||||
limboai-treeish: ${{ needs.cache-sha.outputs.limboai-sha }}
|
limboai-ref: ${{ needs.cache-sha.outputs.limboai-sha }}
|
||||||
test-build: false
|
test-build: false
|
||||||
|
|
||||||
web-build:
|
web-build:
|
||||||
|
@ -89,16 +94,16 @@ jobs:
|
||||||
needs: cache-sha
|
needs: cache-sha
|
||||||
uses: ./.github/workflows/web.yml
|
uses: ./.github/workflows/web.yml
|
||||||
with:
|
with:
|
||||||
godot-treeish: ${{ needs.cache-sha.outputs.godot-sha }}
|
godot-ref: ${{ needs.cache-sha.outputs.godot-sha }}
|
||||||
limboai-treeish: ${{ needs.cache-sha.outputs.limboai-sha }}
|
limboai-ref: ${{ needs.cache-sha.outputs.limboai-sha }}
|
||||||
|
|
||||||
gdextension:
|
gdextension:
|
||||||
name: 🔌 GDExtension
|
name: 🔌 GDExtension
|
||||||
needs: cache-sha
|
needs: cache-sha
|
||||||
uses: ./.github/workflows/gdextension.yml
|
uses: ./.github/workflows/gdextension.yml
|
||||||
with:
|
with:
|
||||||
godot-cpp-treeish: ${{ inputs.godot-cpp-treeish }}
|
godot-cpp-ref: ${{ inputs.godot-cpp-ref }}
|
||||||
limboai-treeish: ${{ needs.cache-sha.outputs.limboai-sha }}
|
limboai-ref: ${{ needs.cache-sha.outputs.limboai-sha }}
|
||||||
test-build: false
|
test-build: false
|
||||||
|
|
||||||
demo:
|
demo:
|
||||||
|
@ -106,4 +111,22 @@ jobs:
|
||||||
needs: cache-sha
|
needs: cache-sha
|
||||||
uses: ./.github/workflows/demo.yml
|
uses: ./.github/workflows/demo.yml
|
||||||
with:
|
with:
|
||||||
limboai-treeish: ${{ needs.cache-sha.outputs.limboai-sha }}
|
limboai-ref: ${{ needs.cache-sha.outputs.limboai-sha }}
|
||||||
|
|
||||||
|
merge_templates:
|
||||||
|
name: 📦 Merge templates
|
||||||
|
if: ${{ always() }}
|
||||||
|
needs:
|
||||||
|
[
|
||||||
|
cache-sha,
|
||||||
|
android-build,
|
||||||
|
ios-build,
|
||||||
|
linux-build,
|
||||||
|
macos-build,
|
||||||
|
windows-build,
|
||||||
|
web-build,
|
||||||
|
]
|
||||||
|
uses: ./.github/workflows/merge_templates.yml
|
||||||
|
with:
|
||||||
|
godot-ref: ${{ needs.cache-sha.outputs.godot-sha }}
|
||||||
|
limboai-ref: ${{ needs.cache-sha.outputs.limboai-sha }}
|
||||||
|
|
|
@ -2,22 +2,22 @@ name: 🤖 Android builds
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
godot-treeish:
|
godot-ref:
|
||||||
description: A tag, branch or commit hash in the Godot repository.
|
description: A tag, branch or commit hash in the Godot repository.
|
||||||
type: string
|
type: string
|
||||||
default: master
|
default: master
|
||||||
limboai-treeish:
|
limboai-ref:
|
||||||
description: A tag, branch or commit hash in the LimboAI repository.
|
description: A tag, branch or commit hash in the LimboAI repository.
|
||||||
type: string
|
type: string
|
||||||
default: master
|
default: master
|
||||||
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
godot-treeish:
|
godot-ref:
|
||||||
description: A tag, branch or commit hash in the Godot repository.
|
description: A tag, branch or commit hash in the Godot repository.
|
||||||
type: string
|
type: string
|
||||||
default: master
|
default: master
|
||||||
limboai-treeish:
|
limboai-ref:
|
||||||
description: A tag, branch or commit hash in the LimboAI repository.
|
description: A tag, branch or commit hash in the LimboAI repository.
|
||||||
type: string
|
type: string
|
||||||
default: master
|
default: master
|
||||||
|
@ -29,6 +29,11 @@ env:
|
||||||
DOTNET_NOLOGO: true
|
DOTNET_NOLOGO: true
|
||||||
DOTNET_CLI_TELEMETRY_OPTOUT: true
|
DOTNET_CLI_TELEMETRY_OPTOUT: true
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
actions: write
|
||||||
|
contents: read
|
||||||
|
packages: read
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
android-builds:
|
android-builds:
|
||||||
runs-on: "ubuntu-20.04"
|
runs-on: "ubuntu-20.04"
|
||||||
|
@ -77,19 +82,19 @@ jobs:
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
repository: godotengine/godot
|
repository: godotengine/godot
|
||||||
ref: ${{ inputs.godot-treeish }}
|
ref: ${{ inputs.godot-ref }}
|
||||||
|
|
||||||
- name: Clone LimboAI module
|
- name: Clone LimboAI module
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
path: modules/limboai
|
path: modules/limboai
|
||||||
ref: ${{ inputs.limboai-treeish }}
|
ref: ${{ inputs.limboai-ref }}
|
||||||
|
|
||||||
# Inits GODOT_VERSION, LIMBOAI_VERSION and NAME_PREFIX environment variables.
|
# Inits GODOT_VERSION, LIMBOAI_VERSION and NAME_PREFIX environment variables.
|
||||||
- uses: ./modules/limboai/.github/actions/init-version
|
- uses: ./modules/limboai/.github/actions/init-version
|
||||||
|
|
||||||
- name: Set up Java 17
|
- name: Set up Java 17
|
||||||
uses: actions/setup-java@v3
|
uses: actions/setup-java@v4
|
||||||
with:
|
with:
|
||||||
distribution: temurin
|
distribution: temurin
|
||||||
java-version: 17
|
java-version: 17
|
||||||
|
@ -102,14 +107,14 @@ jobs:
|
||||||
scons --version
|
scons --version
|
||||||
|
|
||||||
- name: Set up scons cache
|
- name: Set up scons cache
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: ${{github.workspace}}/.scons_cache/
|
path: ${{github.workspace}}/.scons_cache/
|
||||||
key: ${{env.BIN}}-${{inputs.godot-treeish}}-${{inputs.limboai-treeish}}-${{env.LIMBOAI_VERSION}}
|
key: ${{env.BIN}}-${{inputs.godot-ref}}-${{inputs.limboai-ref}}-${{env.LIMBOAI_VERSION}}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{env.BIN}}-${{inputs.godot-treeish}}-${{inputs.limboai-treeish}}-${{env.LIMBOAI_VERSION}}
|
${{env.BIN}}-${{inputs.godot-ref}}-${{inputs.limboai-ref}}-${{env.LIMBOAI_VERSION}}
|
||||||
${{env.BIN}}-${{inputs.godot-treeish}}-${{inputs.limboai-treeish}}
|
${{env.BIN}}-${{inputs.godot-ref}}-${{inputs.limboai-ref}}
|
||||||
${{env.BIN}}-${{inputs.godot-treeish}}
|
${{env.BIN}}-${{inputs.godot-ref}}
|
||||||
|
|
||||||
- name: Compilation
|
- name: Compilation
|
||||||
env:
|
env:
|
||||||
|
@ -119,12 +124,11 @@ jobs:
|
||||||
ls platform/android/java/lib/libs/*
|
ls platform/android/java/lib/libs/*
|
||||||
|
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: android-templates
|
name: tmp-android-templates-${{strategy.job-index}}
|
||||||
path: platform/android/java/lib/libs/*
|
path: platform/android/java/lib/libs/*
|
||||||
|
|
||||||
|
|
||||||
make-android-package:
|
make-android-package:
|
||||||
runs-on: "ubuntu-20.04"
|
runs-on: "ubuntu-20.04"
|
||||||
name: Make Android package
|
name: Make Android package
|
||||||
|
@ -135,31 +139,32 @@ jobs:
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
repository: godotengine/godot
|
repository: godotengine/godot
|
||||||
ref: ${{ inputs.godot-treeish }}
|
ref: ${{ inputs.godot-ref }}
|
||||||
|
|
||||||
- name: Clone LimboAI module
|
- name: Clone LimboAI module
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
path: modules/limboai
|
path: modules/limboai
|
||||||
ref: ${{ inputs.limboai-treeish }}
|
ref: ${{ inputs.limboai-ref }}
|
||||||
|
|
||||||
# Inits GODOT_VERSION, LIMBOAI_VERSION and NAME_PREFIX environment variables.
|
# Inits GODOT_VERSION, LIMBOAI_VERSION and NAME_PREFIX environment variables.
|
||||||
- uses: ./modules/limboai/.github/actions/init-version
|
- uses: ./modules/limboai/.github/actions/init-version
|
||||||
|
|
||||||
- name: Download Android template builds
|
- name: Download Android template builds
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: android-templates
|
pattern: tmp-android-templates-*
|
||||||
|
merge-multiple: true
|
||||||
path: platform/android/java/lib/libs/
|
path: platform/android/java/lib/libs/
|
||||||
|
|
||||||
- name: Set up Java 17
|
- name: Set up Java 17
|
||||||
uses: actions/setup-java@v3
|
uses: actions/setup-java@v4
|
||||||
with:
|
with:
|
||||||
distribution: temurin
|
distribution: temurin
|
||||||
java-version: 17
|
java-version: 17
|
||||||
|
|
||||||
- name: Set up Python 3.x
|
- name: Set up Python 3.x
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: 3.x
|
python-version: 3.x
|
||||||
architecture: x64
|
architecture: x64
|
||||||
|
@ -184,19 +189,20 @@ jobs:
|
||||||
ls -l out/*
|
ls -l out/*
|
||||||
|
|
||||||
- name: Delete Android template builds
|
- name: Delete Android template builds
|
||||||
uses: geekyeggo/delete-artifact@v2
|
uses: geekyeggo/delete-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: android-templates
|
name: tmp-android-templates-*
|
||||||
|
useGlob: true
|
||||||
failOnError: false
|
failOnError: false
|
||||||
|
|
||||||
- name: Upload Android libs
|
- name: Upload Android libs
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ${{env.NAME_PREFIX}}.android-lib
|
name: ${{env.NAME_PREFIX}}.android-lib
|
||||||
path: bin/godot-lib.*
|
path: bin/godot-lib.*
|
||||||
|
|
||||||
- name: Upload Android templates
|
- name: Upload Android templates
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ${{env.NAME_PREFIX}}.export-templates
|
name: ${{env.NAME_PREFIX}}.export-templates.android
|
||||||
path: out/*
|
path: out/*
|
||||||
|
|
|
@ -2,14 +2,14 @@ name: 🎮️ Demo project
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
limboai-treeish:
|
limboai-ref:
|
||||||
description: A tag, branch or commit hash in the LimboAI repository.
|
description: A tag, branch or commit hash in the LimboAI repository.
|
||||||
type: string
|
type: string
|
||||||
default: master
|
default: master
|
||||||
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
limboai-treeish:
|
limboai-ref:
|
||||||
description: A tag, branch or commit hash in the LimboAI repository.
|
description: A tag, branch or commit hash in the LimboAI repository.
|
||||||
type: string
|
type: string
|
||||||
default: master
|
default: master
|
||||||
|
@ -24,7 +24,7 @@ jobs:
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-tags: true
|
fetch-tags: true
|
||||||
ref: ${{ inputs.limboai-treeish }}
|
ref: ${{ inputs.limboai-ref }}
|
||||||
|
|
||||||
- name: Prepare artifact
|
- name: Prepare artifact
|
||||||
shell: bash
|
shell: bash
|
||||||
|
@ -33,7 +33,7 @@ jobs:
|
||||||
cp {README,LICENSE}.md demo/
|
cp {README,LICENSE}.md demo/
|
||||||
|
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
env:
|
env:
|
||||||
NAME: limboai+${{env.LIMBOAI_VERSION}}.demo-project
|
NAME: limboai+${{env.LIMBOAI_VERSION}}.demo-project
|
||||||
with:
|
with:
|
||||||
|
|
|
@ -2,11 +2,11 @@ name: 🔌 GDExtension
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
godot-cpp-treeish:
|
godot-cpp-ref:
|
||||||
description: A tag, branch or commit hash in the godot-cpp repository.
|
description: A tag, branch or commit hash in the godot-cpp repository.
|
||||||
type: string
|
type: string
|
||||||
default: 4.2
|
default: 4.2
|
||||||
limboai-treeish:
|
limboai-ref:
|
||||||
description: A tag, branch or commit hash in the LimboAI repository.
|
description: A tag, branch or commit hash in the LimboAI repository.
|
||||||
type: string
|
type: string
|
||||||
default: master
|
default: master
|
||||||
|
@ -17,11 +17,11 @@ on:
|
||||||
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
godot-cpp-treeish:
|
godot-cpp-ref:
|
||||||
description: A tag, branch or commit hash in the godot-cpp repository.
|
description: A tag, branch or commit hash in the godot-cpp repository.
|
||||||
type: string
|
type: string
|
||||||
default: 4.2
|
default: 4.2
|
||||||
limboai-treeish:
|
limboai-ref:
|
||||||
description: A tag, branch or commit hash in the LimboAI repository.
|
description: A tag, branch or commit hash in the LimboAI repository.
|
||||||
type: string
|
type: string
|
||||||
default: master
|
default: master
|
||||||
|
@ -41,6 +41,8 @@ jobs:
|
||||||
gdextension:
|
gdextension:
|
||||||
runs-on: ${{ matrix.opts.runner }}
|
runs-on: ${{ matrix.opts.runner }}
|
||||||
name: ${{ matrix.opts.name }}
|
name: ${{ matrix.opts.name }}
|
||||||
|
outputs:
|
||||||
|
name-prefix: ${{ steps.output-name-prefix.outputs.name-prefix }}
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
|
@ -114,18 +116,22 @@ jobs:
|
||||||
repository: godotengine/godot-cpp
|
repository: godotengine/godot-cpp
|
||||||
fetch-tags: true
|
fetch-tags: true
|
||||||
path: godot-cpp
|
path: godot-cpp
|
||||||
ref: ${{ inputs.godot-cpp-treeish }}
|
ref: ${{ inputs.godot-cpp-ref }}
|
||||||
|
|
||||||
- name: Clone LimboAI module
|
- name: Clone LimboAI module
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
path: limboai
|
path: limboai
|
||||||
fetch-tags: true
|
fetch-tags: true
|
||||||
ref: ${{ inputs.limboai-treeish }}
|
ref: ${{ inputs.limboai-ref }}
|
||||||
|
|
||||||
# Inits GDEXTENSION_VERSION, LIMBOAI_VERSION and NAME_PREFIX environment variables.
|
# Inits GDEXTENSION_VERSION, LIMBOAI_VERSION and NAME_PREFIX environment variables.
|
||||||
- uses: ./limboai/.github/actions/init-version-gdext
|
- uses: ./limboai/.github/actions/init-version-gdext
|
||||||
|
|
||||||
|
- name: Output NAME_PREFIX
|
||||||
|
id: output-name-prefix
|
||||||
|
run: echo "name-prefix=${NAME_PREFIX}" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- name: Set up Linux buildroot x86_64
|
- name: Set up Linux buildroot x86_64
|
||||||
if: matrix.opts.platform == 'linux' && matrix.opts.arch == 'x86_64'
|
if: matrix.opts.platform == 'linux' && matrix.opts.arch == 'x86_64'
|
||||||
run: |
|
run: |
|
||||||
|
@ -148,21 +154,21 @@ jobs:
|
||||||
|
|
||||||
- name: Set up Python 3.x
|
- name: Set up Python 3.x
|
||||||
if: matrix.opts.platform == 'windows' || matrix.opts.platform == 'macos'
|
if: matrix.opts.platform == 'windows' || matrix.opts.platform == 'macos'
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: "3.x"
|
python-version: "3.x"
|
||||||
architecture: "x64"
|
architecture: "x64"
|
||||||
|
|
||||||
- name: Set up Emscripten cache
|
- name: Set up Emscripten cache
|
||||||
if: matrix.opts.platform == 'web'
|
if: matrix.opts.platform == 'web'
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: ${{env.EM_CACHE_FOLDER}}
|
path: ${{env.EM_CACHE_FOLDER}}
|
||||||
key: ${{env.EM_VERSION}}-${{runner.os}}-libs
|
key: ${{env.EM_VERSION}}-${{runner.os}}-libs
|
||||||
|
|
||||||
- name: Set up Emscripten
|
- name: Set up Emscripten
|
||||||
if: matrix.opts.platform == 'web'
|
if: matrix.opts.platform == 'web'
|
||||||
uses: mymindstorm/setup-emsdk@v12
|
uses: mymindstorm/setup-emsdk@v14
|
||||||
with:
|
with:
|
||||||
version: ${{env.EM_VERSION}}
|
version: ${{env.EM_VERSION}}
|
||||||
actions-cache-folder: ${{env.EM_CACHE_FOLDER}}
|
actions-cache-folder: ${{env.EM_CACHE_FOLDER}}
|
||||||
|
@ -185,14 +191,14 @@ jobs:
|
||||||
uses: ammaraskar/msvc-problem-matcher@master
|
uses: ammaraskar/msvc-problem-matcher@master
|
||||||
|
|
||||||
- name: Set up scons cache
|
- name: Set up scons cache
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: ${{github.workspace}}/.scons_cache/
|
path: ${{github.workspace}}/.scons_cache/
|
||||||
key: ${{env.BIN}}-${{inputs.godot-cpp-treeish}}-${{inputs.limboai-treeish}}-${{env.LIMBOAI_VERSION}}
|
key: ${{env.BIN}}-${{inputs.godot-cpp-ref}}-${{inputs.limboai-ref}}-${{env.LIMBOAI_VERSION}}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{env.BIN}}-${{inputs.godot-cpp-treeish}}-${{inputs.limboai-treeish}}-${{env.LIMBOAI_VERSION}}
|
${{env.BIN}}-${{inputs.godot-cpp-ref}}-${{inputs.limboai-ref}}-${{env.LIMBOAI_VERSION}}
|
||||||
${{env.BIN}}-${{inputs.godot-cpp-treeish}}-${{inputs.limboai-treeish}}
|
${{env.BIN}}-${{inputs.godot-cpp-ref}}-${{inputs.limboai-ref}}
|
||||||
${{env.BIN}}-${{inputs.godot-cpp-treeish}}
|
${{env.BIN}}-${{inputs.godot-cpp-ref}}
|
||||||
|
|
||||||
- name: Setup project structure for GDExtension
|
- name: Setup project structure for GDExtension
|
||||||
shell: bash
|
shell: bash
|
||||||
|
@ -237,9 +243,22 @@ jobs:
|
||||||
ls -l -R out/addons/limboai/bin/
|
ls -l -R out/addons/limboai/bin/
|
||||||
|
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
env:
|
env:
|
||||||
NAME: ${{env.NAME_PREFIX}}
|
NAME: tmp-gdextension.${{matrix.opts.platform}}.${{matrix.opts.target}}.${{matrix.opts.arch}}
|
||||||
with:
|
with:
|
||||||
name: ${{ env.NAME }}
|
name: ${{ env.NAME }}
|
||||||
path: out/*
|
path: out/*
|
||||||
|
|
||||||
|
merge-artifacts:
|
||||||
|
name: Merge artifacts
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: gdextension
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Merge artifacts
|
||||||
|
uses: actions/upload-artifact/merge@v4
|
||||||
|
with:
|
||||||
|
name: ${{needs.gdextension.outputs.name-prefix}}
|
||||||
|
pattern: tmp-gdextension.*
|
||||||
|
delete-merged: true
|
||||||
|
|
|
@ -2,27 +2,26 @@ name: 🍏 iOS builds
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
godot-treeish:
|
godot-ref:
|
||||||
description: A tag, branch or commit hash in the Godot repository.
|
description: A tag, branch or commit hash in the Godot repository.
|
||||||
type: string
|
type: string
|
||||||
default: master
|
default: master
|
||||||
limboai-treeish:
|
limboai-ref:
|
||||||
description: A tag, branch or commit hash in the LimboAI repository.
|
description: A tag, branch or commit hash in the LimboAI repository.
|
||||||
type: string
|
type: string
|
||||||
default: master
|
default: master
|
||||||
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
godot-treeish:
|
godot-ref:
|
||||||
description: A tag, branch or commit hash in the Godot repository.
|
description: A tag, branch or commit hash in the Godot repository.
|
||||||
type: string
|
type: string
|
||||||
default: master
|
default: master
|
||||||
limboai-treeish:
|
limboai-ref:
|
||||||
description: A tag, branch or commit hash in the LimboAI repository.
|
description: A tag, branch or commit hash in the LimboAI repository.
|
||||||
type: string
|
type: string
|
||||||
default: master
|
default: master
|
||||||
|
|
||||||
|
|
||||||
# Global Settings
|
# Global Settings
|
||||||
env:
|
env:
|
||||||
SCONS_CACHE_LIMIT: 4096
|
SCONS_CACHE_LIMIT: 4096
|
||||||
|
@ -30,8 +29,12 @@ env:
|
||||||
DOTNET_NOLOGO: true
|
DOTNET_NOLOGO: true
|
||||||
DOTNET_CLI_TELEMETRY_OPTOUT: true
|
DOTNET_CLI_TELEMETRY_OPTOUT: true
|
||||||
|
|
||||||
jobs:
|
permissions:
|
||||||
|
actions: write
|
||||||
|
contents: read
|
||||||
|
packages: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
ios-builds:
|
ios-builds:
|
||||||
runs-on: "macos-latest"
|
runs-on: "macos-latest"
|
||||||
name: ${{ matrix.name }}
|
name: ${{ matrix.name }}
|
||||||
|
@ -76,27 +79,26 @@ jobs:
|
||||||
BIN: godot.ios.${{matrix.target}}.${{matrix.arch}}
|
BIN: godot.ios.${{matrix.target}}.${{matrix.arch}}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
- name: Clone Godot
|
- name: Clone Godot
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
repository: godotengine/godot
|
repository: godotengine/godot
|
||||||
ref: ${{ inputs.godot-treeish }}
|
ref: ${{ inputs.godot-ref }}
|
||||||
|
|
||||||
- name: Clone LimboAI module
|
- name: Clone LimboAI module
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
path: modules/limboai
|
path: modules/limboai
|
||||||
ref: ${{ inputs.limboai-treeish }}
|
ref: ${{ inputs.limboai-ref }}
|
||||||
|
|
||||||
# Inits GODOT_VERSION, LIMBOAI_VERSION and NAME_PREFIX environment variables.
|
# Inits GODOT_VERSION, LIMBOAI_VERSION and NAME_PREFIX environment variables.
|
||||||
- uses: ./modules/limboai/.github/actions/init-version
|
- uses: ./modules/limboai/.github/actions/init-version
|
||||||
|
|
||||||
- name: Set up Python 3.x
|
- name: Set up Python 3.x
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: '3.x'
|
python-version: "3.x"
|
||||||
architecture: 'x64'
|
architecture: "x64"
|
||||||
|
|
||||||
- name: Set up scons
|
- name: Set up scons
|
||||||
run: |
|
run: |
|
||||||
|
@ -114,14 +116,14 @@ jobs:
|
||||||
sh misc/scripts/install_vulkan_sdk_macos.sh
|
sh misc/scripts/install_vulkan_sdk_macos.sh
|
||||||
|
|
||||||
- name: Set up scons cache
|
- name: Set up scons cache
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: ${{github.workspace}}/.scons_cache/
|
path: ${{github.workspace}}/.scons_cache/
|
||||||
key: ${{env.BIN}}-${{inputs.godot-treeish}}-${{inputs.limboai-treeish}}-${{env.LIMBOAI_VERSION}}
|
key: ${{env.BIN}}-${{inputs.godot-ref}}-${{inputs.limboai-ref}}-${{env.LIMBOAI_VERSION}}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{env.BIN}}-${{inputs.godot-treeish}}-${{inputs.limboai-treeish}}-${{env.LIMBOAI_VERSION}}
|
${{env.BIN}}-${{inputs.godot-ref}}-${{inputs.limboai-ref}}-${{env.LIMBOAI_VERSION}}
|
||||||
${{env.BIN}}-${{inputs.godot-treeish}}-${{inputs.limboai-treeish}}
|
${{env.BIN}}-${{inputs.godot-ref}}-${{inputs.limboai-ref}}
|
||||||
${{env.BIN}}-${{inputs.godot-treeish}}
|
${{env.BIN}}-${{inputs.godot-ref}}
|
||||||
|
|
||||||
- name: Compilation
|
- name: Compilation
|
||||||
env:
|
env:
|
||||||
|
@ -130,9 +132,9 @@ jobs:
|
||||||
scons platform=ios target=${{matrix.target}} arch=${{matrix.arch}} ios_simulator=${{matrix.ios_simulator}} ${{env.SCONSFLAGS}}
|
scons platform=ios target=${{matrix.target}} arch=${{matrix.arch}} ios_simulator=${{matrix.ios_simulator}} ${{env.SCONSFLAGS}}
|
||||||
|
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ios-templates
|
name: tmp-ios-templates-${{strategy.job-index}}
|
||||||
path: bin/*
|
path: bin/*
|
||||||
|
|
||||||
package-ios-templates:
|
package-ios-templates:
|
||||||
|
@ -141,18 +143,17 @@ jobs:
|
||||||
needs: ios-builds
|
needs: ios-builds
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
- name: Clone Godot
|
- name: Clone Godot
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
repository: godotengine/godot
|
repository: godotengine/godot
|
||||||
ref: ${{ inputs.godot-treeish }}
|
ref: ${{ inputs.godot-ref }}
|
||||||
|
|
||||||
- name: Clone LimboAI module
|
- name: Clone LimboAI module
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
path: modules/limboai
|
path: modules/limboai
|
||||||
ref: ${{ inputs.limboai-treeish }}
|
ref: ${{ inputs.limboai-ref }}
|
||||||
|
|
||||||
# Inits GODOT_VERSION, LIMBOAI_VERSION and NAME_PREFIX environment variables.
|
# Inits GODOT_VERSION, LIMBOAI_VERSION and NAME_PREFIX environment variables.
|
||||||
- uses: ./modules/limboai/.github/actions/init-version
|
- uses: ./modules/limboai/.github/actions/init-version
|
||||||
|
@ -162,9 +163,10 @@ jobs:
|
||||||
sh misc/scripts/install_vulkan_sdk_macos.sh
|
sh misc/scripts/install_vulkan_sdk_macos.sh
|
||||||
|
|
||||||
- name: Download templates artifact
|
- name: Download templates artifact
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ios-templates
|
pattern: tmp-ios-templates-*
|
||||||
|
merge-multiple: true
|
||||||
path: bin/
|
path: bin/
|
||||||
|
|
||||||
- name: Make template bundle
|
- name: Make template bundle
|
||||||
|
@ -196,13 +198,14 @@ jobs:
|
||||||
ls -l ${{github.workspace}}/out/*
|
ls -l ${{github.workspace}}/out/*
|
||||||
|
|
||||||
- name: Upload template bundle
|
- name: Upload template bundle
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ${{env.NAME_PREFIX}}.export-templates
|
name: ${{env.NAME_PREFIX}}.export-templates.ios
|
||||||
path: out/*
|
path: out/*
|
||||||
|
|
||||||
- name: Delete templates artifact
|
- name: Delete templates artifact
|
||||||
uses: geekyeggo/delete-artifact@v2
|
uses: geekyeggo/delete-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ios-templates
|
name: tmp-ios-templates-*
|
||||||
|
useGlob: true
|
||||||
failOnError: false
|
failOnError: false
|
||||||
|
|
|
@ -2,11 +2,11 @@ name: 🐧 Linux builds
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
godot-treeish:
|
godot-ref:
|
||||||
description: A tag, branch or commit hash in the Godot repository.
|
description: A tag, branch or commit hash in the Godot repository.
|
||||||
type: string
|
type: string
|
||||||
default: master
|
default: master
|
||||||
limboai-treeish:
|
limboai-ref:
|
||||||
description: A tag, branch or commit hash in the LimboAI repository.
|
description: A tag, branch or commit hash in the LimboAI repository.
|
||||||
type: string
|
type: string
|
||||||
default: master
|
default: master
|
||||||
|
@ -17,11 +17,11 @@ on:
|
||||||
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
godot-treeish:
|
godot-ref:
|
||||||
description: A tag, branch or commit hash in the Godot repository.
|
description: A tag, branch or commit hash in the Godot repository.
|
||||||
type: string
|
type: string
|
||||||
default: master
|
default: master
|
||||||
limboai-treeish:
|
limboai-ref:
|
||||||
description: A tag, branch or commit hash in the LimboAI repository.
|
description: A tag, branch or commit hash in the LimboAI repository.
|
||||||
type: string
|
type: string
|
||||||
default: master
|
default: master
|
||||||
|
@ -48,93 +48,93 @@ jobs:
|
||||||
- name: Editor (x86_64, release)
|
- name: Editor (x86_64, release)
|
||||||
target: editor
|
target: editor
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
build-mono: false
|
dotnet: false
|
||||||
should-build: true
|
should-build: true
|
||||||
|
|
||||||
- name: Template (x86_64, release)
|
- name: Template (x86_64, release)
|
||||||
target: template_release
|
target: template_release
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
build-mono: false
|
dotnet: false
|
||||||
should-build: true
|
should-build: true
|
||||||
|
|
||||||
- name: Template (x86_64, debug)
|
- name: Template (x86_64, debug)
|
||||||
target: template_debug
|
target: template_debug
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
build-mono: false
|
dotnet: false
|
||||||
should-build: ${{ !inputs.test-build }}
|
should-build: ${{ !inputs.test-build }}
|
||||||
|
|
||||||
# - name: Editor (x86_32, release)
|
# - name: Editor (x86_32, release)
|
||||||
# target: editor
|
# target: editor
|
||||||
# arch: x86_32
|
# arch: x86_32
|
||||||
# build-mono: false
|
# dotnet: false
|
||||||
# should-build: ${{ !inputs.test-build }}
|
# should-build: ${{ !inputs.test-build }}
|
||||||
|
|
||||||
- name: Template (x86_32, release)
|
- name: Template (x86_32, release)
|
||||||
target: template_release
|
target: template_release
|
||||||
arch: x86_32
|
arch: x86_32
|
||||||
build-mono: false
|
dotnet: false
|
||||||
should-build: ${{ !inputs.test-build }}
|
should-build: ${{ !inputs.test-build }}
|
||||||
|
|
||||||
- name: Template (x86_32, debug)
|
- name: Template (x86_32, debug)
|
||||||
target: template_debug
|
target: template_debug
|
||||||
arch: x86_32
|
arch: x86_32
|
||||||
build-mono: false
|
dotnet: false
|
||||||
should-build: ${{ !inputs.test-build }}
|
should-build: ${{ !inputs.test-build }}
|
||||||
|
|
||||||
- name: Editor .NET (x86_64, release)
|
- name: Editor .NET (x86_64, release)
|
||||||
target: editor
|
target: editor
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
build-mono: true
|
dotnet: true
|
||||||
should-build: ${{ !inputs.test-build }}
|
should-build: ${{ !inputs.test-build }}
|
||||||
|
|
||||||
- name: Template .NET (x86_64, release)
|
- name: Template .NET (x86_64, release)
|
||||||
target: template_release
|
target: template_release
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
build-mono: true
|
dotnet: true
|
||||||
should-build: ${{ !inputs.test-build }}
|
should-build: ${{ !inputs.test-build }}
|
||||||
|
|
||||||
- name: Template .NET (x86_64, debug)
|
- name: Template .NET (x86_64, debug)
|
||||||
target: template_debug
|
target: template_debug
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
build-mono: true
|
dotnet: true
|
||||||
should-build: ${{ !inputs.test-build }}
|
should-build: ${{ !inputs.test-build }}
|
||||||
|
|
||||||
# - name: Editor .NET (x86_32, release)
|
# - name: Editor .NET (x86_32, release)
|
||||||
# target: editor
|
# target: editor
|
||||||
# arch: x86_32
|
# arch: x86_32
|
||||||
# build-mono: true
|
# dotnet: true
|
||||||
# should-build: ${{ !inputs.test-build }}
|
# should-build: ${{ !inputs.test-build }}
|
||||||
|
|
||||||
- name: Template .NET (x86_32, release)
|
- name: Template .NET (x86_32, release)
|
||||||
target: template_release
|
target: template_release
|
||||||
arch: x86_32
|
arch: x86_32
|
||||||
build-mono: true
|
dotnet: true
|
||||||
should-build: ${{ !inputs.test-build }}
|
should-build: ${{ !inputs.test-build }}
|
||||||
|
|
||||||
- name: Template .NET (x86_32, debug)
|
- name: Template .NET (x86_32, debug)
|
||||||
target: template_debug
|
target: template_debug
|
||||||
arch: x86_32
|
arch: x86_32
|
||||||
build-mono: true
|
dotnet: true
|
||||||
should-build: ${{ !inputs.test-build }}
|
should-build: ${{ !inputs.test-build }}
|
||||||
|
|
||||||
exclude:
|
exclude:
|
||||||
- { opts: { should-build: false } }
|
- { opts: { should-build: false } }
|
||||||
|
|
||||||
env:
|
env:
|
||||||
BIN: godot.linuxbsd.${{matrix.opts.target}}.${{matrix.opts.arch}}${{ matrix.opts.build-mono == true && '.mono' || '' }}
|
BIN: godot.linuxbsd.${{matrix.opts.target}}.${{matrix.opts.arch}}${{ matrix.opts.dotnet == true && '.mono' || '' }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Clone Godot
|
- name: Clone Godot
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
repository: godotengine/godot
|
repository: godotengine/godot
|
||||||
ref: ${{ inputs.godot-treeish }}
|
ref: ${{ inputs.godot-ref }}
|
||||||
|
|
||||||
- name: Clone LimboAI module
|
- name: Clone LimboAI module
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
path: modules/limboai
|
path: modules/limboai
|
||||||
ref: ${{ inputs.limboai-treeish }}
|
ref: ${{ inputs.limboai-ref }}
|
||||||
|
|
||||||
# Inits GODOT_VERSION, LIMBOAI_VERSION and NAME_PREFIX environment variables.
|
# Inits GODOT_VERSION, LIMBOAI_VERSION and NAME_PREFIX environment variables.
|
||||||
- uses: ./modules/limboai/.github/actions/init-version
|
- uses: ./modules/limboai/.github/actions/init-version
|
||||||
|
@ -162,31 +162,31 @@ jobs:
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
- name: Set up scons cache
|
- name: Set up scons cache
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: ${{github.workspace}}/.scons_cache/
|
path: ${{github.workspace}}/.scons_cache/
|
||||||
key: ${{env.BIN}}-${{inputs.godot-treeish}}-${{inputs.limboai-treeish}}-${{env.LIMBOAI_VERSION}}
|
key: ${{env.BIN}}-${{inputs.godot-ref}}-${{inputs.limboai-ref}}-${{env.LIMBOAI_VERSION}}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{env.BIN}}-${{inputs.godot-treeish}}-${{inputs.limboai-treeish}}-${{env.LIMBOAI_VERSION}}
|
${{env.BIN}}-${{inputs.godot-ref}}-${{inputs.limboai-ref}}-${{env.LIMBOAI_VERSION}}
|
||||||
${{env.BIN}}-${{inputs.godot-treeish}}-${{inputs.limboai-treeish}}
|
${{env.BIN}}-${{inputs.godot-ref}}-${{inputs.limboai-ref}}
|
||||||
${{env.BIN}}-${{inputs.godot-treeish}}
|
${{env.BIN}}-${{inputs.godot-ref}}
|
||||||
|
|
||||||
- name: Compilation
|
- name: Compilation
|
||||||
env:
|
env:
|
||||||
SCONS_CACHE: ${{github.workspace}}/.scons_cache/
|
SCONS_CACHE: ${{github.workspace}}/.scons_cache/
|
||||||
run: |
|
run: |
|
||||||
PATH=${GITHUB_WORKSPACE}/buildroot/bin:$PATH
|
PATH=${GITHUB_WORKSPACE}/buildroot/bin:$PATH
|
||||||
scons platform=linuxbsd target=${{matrix.opts.target}} arch=${{matrix.opts.arch}} module_mono_enabled=${{matrix.opts.build-mono}} ${{env.SCONSFLAGS}}
|
scons platform=linuxbsd target=${{matrix.opts.target}} arch=${{matrix.opts.arch}} module_mono_enabled=${{matrix.opts.dotnet}} ${{env.SCONSFLAGS}}
|
||||||
|
|
||||||
- name: Generate C# glue
|
- name: Generate C# glue
|
||||||
if: matrix.opts.build-mono && matrix.opts.target == 'editor'
|
if: matrix.opts.dotnet && matrix.opts.target == 'editor'
|
||||||
env:
|
env:
|
||||||
GODOT_VERSION_STATUS: limboai
|
GODOT_VERSION_STATUS: limboai
|
||||||
run: |
|
run: |
|
||||||
./bin/$BIN --headless --generate-mono-glue ./modules/mono/glue || true
|
./bin/$BIN --headless --generate-mono-glue ./modules/mono/glue || true
|
||||||
|
|
||||||
- name: Build .NET solutions
|
- name: Build .NET solutions
|
||||||
if: matrix.opts.build-mono && matrix.opts.target == 'editor'
|
if: matrix.opts.dotnet && matrix.opts.target == 'editor'
|
||||||
env:
|
env:
|
||||||
GODOT_VERSION_STATUS: limboai
|
GODOT_VERSION_STATUS: limboai
|
||||||
run: |
|
run: |
|
||||||
|
@ -211,6 +211,7 @@ jobs:
|
||||||
pushd out/
|
pushd out/
|
||||||
zip -r godot-limboai.editor.linux.zip *
|
zip -r godot-limboai.editor.linux.zip *
|
||||||
rm godot.*
|
rm godot.*
|
||||||
|
rm -rf GodotSharp/
|
||||||
echo -e "## Why another ZIP inside?\n\nWorkaround for: https://github.com/actions/upload-artifact/issues/38\n" > README.md
|
echo -e "## Why another ZIP inside?\n\nWorkaround for: https://github.com/actions/upload-artifact/issues/38\n" > README.md
|
||||||
popd
|
popd
|
||||||
|
|
||||||
|
@ -224,10 +225,7 @@ jobs:
|
||||||
ls -R out/
|
ls -R out/
|
||||||
|
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
env:
|
|
||||||
NAME_EDITOR: ${{env.NAME_PREFIX}}.${{matrix.opts.target}}.linux.${{matrix.opts.arch}}${{ matrix.opts.build-mono == true && '.mono' || '' }}
|
|
||||||
NAME_TEMPLATES: ${{env.NAME_PREFIX}}.export-templates${{ matrix.opts.build-mono == true && '.mono' || '' }}
|
|
||||||
with:
|
with:
|
||||||
name: ${{ startsWith(matrix.opts.target, 'template') && env.NAME_TEMPLATES || env.NAME_EDITOR }}
|
name: ${{env.NAME_PREFIX}}${{matrix.opts.dotnet == true && '.dotnet' || ''}}.${{matrix.opts.target}}.linux.${{matrix.opts.arch}}
|
||||||
path: out/*
|
path: out/*
|
||||||
|
|
|
@ -2,11 +2,11 @@ name: 🍎 macOS builds
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
godot-treeish:
|
godot-ref:
|
||||||
description: A tag, branch or commit hash in the Godot repository.
|
description: A tag, branch or commit hash in the Godot repository.
|
||||||
type: string
|
type: string
|
||||||
default: master
|
default: master
|
||||||
limboai-treeish:
|
limboai-ref:
|
||||||
description: A tag, branch or commit hash in the LimboAI repository.
|
description: A tag, branch or commit hash in the LimboAI repository.
|
||||||
type: string
|
type: string
|
||||||
default: master
|
default: master
|
||||||
|
@ -17,11 +17,11 @@ on:
|
||||||
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
godot-treeish:
|
godot-ref:
|
||||||
description: A tag, branch or commit hash in the Godot repository.
|
description: A tag, branch or commit hash in the Godot repository.
|
||||||
type: string
|
type: string
|
||||||
default: master
|
default: master
|
||||||
limboai-treeish:
|
limboai-ref:
|
||||||
description: A tag, branch or commit hash in the LimboAI repository.
|
description: A tag, branch or commit hash in the LimboAI repository.
|
||||||
type: string
|
type: string
|
||||||
default: master
|
default: master
|
||||||
|
@ -30,7 +30,6 @@ on:
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
|
||||||
# Global Settings
|
# Global Settings
|
||||||
env:
|
env:
|
||||||
SCONS_CACHE_LIMIT: 4096
|
SCONS_CACHE_LIMIT: 4096
|
||||||
|
@ -38,6 +37,11 @@ env:
|
||||||
DOTNET_NOLOGO: true
|
DOTNET_NOLOGO: true
|
||||||
DOTNET_CLI_TELEMETRY_OPTOUT: true
|
DOTNET_CLI_TELEMETRY_OPTOUT: true
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
actions: write
|
||||||
|
contents: read
|
||||||
|
packages: read
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
macos-builds:
|
macos-builds:
|
||||||
runs-on: "macos-latest"
|
runs-on: "macos-latest"
|
||||||
|
@ -51,42 +55,36 @@ jobs:
|
||||||
target: editor
|
target: editor
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
build-mono: false
|
build-mono: false
|
||||||
artifact-name: macos-editor
|
|
||||||
should-build: true
|
should-build: true
|
||||||
|
|
||||||
- name: Template (x86_64, release)
|
- name: Template (x86_64, release)
|
||||||
target: template_release
|
target: template_release
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
build-mono: false
|
build-mono: false
|
||||||
artifact-name: macos-templates
|
|
||||||
should-build: ${{ !inputs.test-build }}
|
should-build: ${{ !inputs.test-build }}
|
||||||
|
|
||||||
- name: Template (x86_64, debug)
|
- name: Template (x86_64, debug)
|
||||||
target: template_debug
|
target: template_debug
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
build-mono: false
|
build-mono: false
|
||||||
artifact-name: macos-templates
|
|
||||||
should-build: ${{ !inputs.test-build }}
|
should-build: ${{ !inputs.test-build }}
|
||||||
|
|
||||||
- name: Editor (arm64, release)
|
- name: Editor (arm64, release)
|
||||||
target: editor
|
target: editor
|
||||||
arch: arm64
|
arch: arm64
|
||||||
build-mono: false
|
build-mono: false
|
||||||
artifact-name: macos-editor
|
|
||||||
should-build: true
|
should-build: true
|
||||||
|
|
||||||
- name: Template (arm64, release)
|
- name: Template (arm64, release)
|
||||||
target: template_release
|
target: template_release
|
||||||
arch: arm64
|
arch: arm64
|
||||||
build-mono: false
|
build-mono: false
|
||||||
artifact-name: macos-templates
|
|
||||||
should-build: ${{ !inputs.test-build }}
|
should-build: ${{ !inputs.test-build }}
|
||||||
|
|
||||||
- name: Template (arm64, debug)
|
- name: Template (arm64, debug)
|
||||||
target: template_debug
|
target: template_debug
|
||||||
arch: arm64
|
arch: arm64
|
||||||
build-mono: false
|
build-mono: false
|
||||||
artifact-name: macos-templates
|
|
||||||
should-build: ${{ !inputs.test-build }}
|
should-build: ${{ !inputs.test-build }}
|
||||||
|
|
||||||
# ! Disabled for now: .NET version fails to build
|
# ! Disabled for now: .NET version fails to build
|
||||||
|
@ -142,27 +140,26 @@ jobs:
|
||||||
BIN: godot.macos.${{matrix.opts.target}}.${{matrix.opts.arch}}${{ matrix.opts.build-mono == true && '.mono' || '' }}
|
BIN: godot.macos.${{matrix.opts.target}}.${{matrix.opts.arch}}${{ matrix.opts.build-mono == true && '.mono' || '' }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
- name: Clone Godot
|
- name: Clone Godot
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
repository: godotengine/godot
|
repository: godotengine/godot
|
||||||
ref: ${{ inputs.godot-treeish }}
|
ref: ${{ inputs.godot-ref }}
|
||||||
|
|
||||||
- name: Clone LimboAI module
|
- name: Clone LimboAI module
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
path: modules/limboai
|
path: modules/limboai
|
||||||
ref: ${{ inputs.limboai-treeish }}
|
ref: ${{ inputs.limboai-ref }}
|
||||||
|
|
||||||
# Inits GODOT_VERSION, LIMBOAI_VERSION and NAME_PREFIX environment variables.
|
# Inits GODOT_VERSION, LIMBOAI_VERSION and NAME_PREFIX environment variables.
|
||||||
- uses: ./modules/limboai/.github/actions/init-version
|
- uses: ./modules/limboai/.github/actions/init-version
|
||||||
|
|
||||||
- name: Set up Python 3.x
|
- name: Set up Python 3.x
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: '3.x'
|
python-version: "3.x"
|
||||||
architecture: 'x64'
|
architecture: "x64"
|
||||||
|
|
||||||
- name: Set up scons
|
- name: Set up scons
|
||||||
run: |
|
run: |
|
||||||
|
@ -180,14 +177,14 @@ jobs:
|
||||||
sh misc/scripts/install_vulkan_sdk_macos.sh
|
sh misc/scripts/install_vulkan_sdk_macos.sh
|
||||||
|
|
||||||
- name: Set up scons cache
|
- name: Set up scons cache
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: ${{github.workspace}}/.scons_cache/
|
path: ${{github.workspace}}/.scons_cache/
|
||||||
key: ${{env.BIN}}-${{inputs.godot-treeish}}-${{inputs.limboai-treeish}}-${{env.LIMBOAI_VERSION}}
|
key: ${{env.BIN}}-${{inputs.godot-ref}}-${{inputs.limboai-ref}}-${{env.LIMBOAI_VERSION}}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{env.BIN}}-${{inputs.godot-treeish}}-${{inputs.limboai-treeish}}-${{env.LIMBOAI_VERSION}}
|
${{env.BIN}}-${{inputs.godot-ref}}-${{inputs.limboai-ref}}-${{env.LIMBOAI_VERSION}}
|
||||||
${{env.BIN}}-${{inputs.godot-treeish}}-${{inputs.limboai-treeish}}
|
${{env.BIN}}-${{inputs.godot-ref}}-${{inputs.limboai-ref}}
|
||||||
${{env.BIN}}-${{inputs.godot-treeish}}
|
${{env.BIN}}-${{inputs.godot-ref}}
|
||||||
|
|
||||||
- name: Compilation
|
- name: Compilation
|
||||||
env:
|
env:
|
||||||
|
@ -195,7 +192,7 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
scons -j2 platform=macos target=${{matrix.opts.target}} arch=${{matrix.opts.arch}} module_mono_enabled=${{matrix.opts.build-mono}} ${{env.SCONSFLAGS}}
|
scons -j2 platform=macos target=${{matrix.opts.target}} arch=${{matrix.opts.arch}} module_mono_enabled=${{matrix.opts.build-mono}} ${{env.SCONSFLAGS}}
|
||||||
|
|
||||||
# ! Disabled for now: .NET version fail to build
|
# ! Disabled for now: .NET version fails to build
|
||||||
|
|
||||||
# - name: Generate C# glue
|
# - name: Generate C# glue
|
||||||
# if: matrix.opts.build-mono && matrix.opts.target == 'editor'
|
# if: matrix.opts.build-mono && matrix.opts.target == 'editor'
|
||||||
|
@ -213,9 +210,9 @@ jobs:
|
||||||
chmod +x bin/godot.*
|
chmod +x bin/godot.*
|
||||||
|
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ${{ matrix.opts.artifact-name }}
|
name: tmp-macos-${{matrix.opts.target}}-${{matrix.opts.arch}}
|
||||||
path: bin/*
|
path: bin/*
|
||||||
|
|
||||||
make-macos-bundle:
|
make-macos-bundle:
|
||||||
|
@ -224,26 +221,26 @@ jobs:
|
||||||
needs: macos-builds
|
needs: macos-builds
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
- name: Clone Godot
|
- name: Clone Godot
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
repository: godotengine/godot
|
repository: godotengine/godot
|
||||||
ref: ${{ inputs.godot-treeish }}
|
ref: ${{ inputs.godot-ref }}
|
||||||
|
|
||||||
- name: Clone LimboAI module
|
- name: Clone LimboAI module
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
path: modules/limboai
|
path: modules/limboai
|
||||||
ref: ${{ inputs.limboai-treeish }}
|
ref: ${{ inputs.limboai-ref }}
|
||||||
|
|
||||||
# Inits GODOT_VERSION, LIMBOAI_VERSION and NAME_PREFIX environment variables.
|
# Inits GODOT_VERSION, LIMBOAI_VERSION and NAME_PREFIX environment variables.
|
||||||
- uses: ./modules/limboai/.github/actions/init-version
|
- uses: ./modules/limboai/.github/actions/init-version
|
||||||
|
|
||||||
- name: Download editor artifact
|
- name: Download editor artifact
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: macos-editor
|
pattern: tmp-macos-editor-*
|
||||||
|
merge-multiple: true
|
||||||
path: bin/
|
path: bin/
|
||||||
|
|
||||||
# Zipping the editor bundle to retain executable bit;
|
# Zipping the editor bundle to retain executable bit;
|
||||||
|
@ -267,16 +264,17 @@ jobs:
|
||||||
ls out/editor/
|
ls out/editor/
|
||||||
|
|
||||||
- name: Upload editor bundle
|
- name: Upload editor bundle
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ${{env.NAME_PREFIX}}.editor.macos.universal
|
name: ${{env.NAME_PREFIX}}.editor.macos.universal
|
||||||
path: out/editor/*
|
path: out/editor/*
|
||||||
|
|
||||||
- name: Download templates artifact
|
- name: Download templates artifact
|
||||||
if: ${{ !inputs.test-build }}
|
if: ${{ !inputs.test-build }}
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: macos-templates
|
pattern: tmp-macos-template_*
|
||||||
|
merge-multiple: true
|
||||||
path: bin/
|
path: bin/
|
||||||
|
|
||||||
- name: Make templates bundle
|
- name: Make templates bundle
|
||||||
|
@ -300,15 +298,15 @@ jobs:
|
||||||
echo "${GODOT_VERSION}.limboai+${LIMBOAI_VERSION}" > out/templates/version.txt
|
echo "${GODOT_VERSION}.limboai+${LIMBOAI_VERSION}" > out/templates/version.txt
|
||||||
ls out/templates/
|
ls out/templates/
|
||||||
|
|
||||||
- uses: geekyeggo/delete-artifact@v2
|
- uses: geekyeggo/delete-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: macos-*
|
name: tmp-macos-*
|
||||||
useGlob: true
|
useGlob: true
|
||||||
failOnError: false
|
failOnError: false
|
||||||
|
|
||||||
- name: Upload templates bundle
|
- name: Upload templates bundle
|
||||||
if: ${{ !inputs.test-build }}
|
if: ${{ !inputs.test-build }}
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ${{env.NAME_PREFIX}}.export-templates
|
name: ${{env.NAME_PREFIX}}.export-templates.macos
|
||||||
path: out/*
|
path: out/*
|
||||||
|
|
|
@ -0,0 +1,52 @@
|
||||||
|
name: 📦️ Merge templates
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
inputs:
|
||||||
|
godot-ref:
|
||||||
|
description: A tag, branch or commit hash in the Godot repository.
|
||||||
|
type: string
|
||||||
|
limboai-ref:
|
||||||
|
description: A tag, branch or commit hash in the LimboAI repository.
|
||||||
|
type: string
|
||||||
|
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
godot-ref:
|
||||||
|
description: A tag, branch or commit hash in the Godot repository.
|
||||||
|
type: string
|
||||||
|
limboai-ref:
|
||||||
|
description: A tag, branch or commit hash in the LimboAI repository.
|
||||||
|
type: string
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
merge-templates:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Clone Godot
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
repository: godotengine/godot
|
||||||
|
ref: ${{ inputs.godot-ref }}
|
||||||
|
|
||||||
|
- name: Clone LimboAI module
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
path: modules/limboai
|
||||||
|
ref: ${{ inputs.limboai-ref }}
|
||||||
|
|
||||||
|
# Inits GODOT_VERSION, LIMBOAI_VERSION and NAME_PREFIX environment variables.
|
||||||
|
- uses: ./modules/limboai/.github/actions/init-version
|
||||||
|
|
||||||
|
- name: Merge classical templates
|
||||||
|
uses: actions/upload-artifact/merge@v4
|
||||||
|
with:
|
||||||
|
name: ${{env.NAME_PREFIX}}.export-templates
|
||||||
|
pattern: ${{env.NAME_PREFIX}}.{export-templates,template_}*
|
||||||
|
delete-merged: true
|
||||||
|
|
||||||
|
- name: Merge .NET templates
|
||||||
|
uses: actions/upload-artifact/merge@v4
|
||||||
|
with:
|
||||||
|
name: ${{env.NAME_PREFIX}}.dotnet.export-templates
|
||||||
|
pattern: ${{env.NAME_PREFIX}}.dotnet.{export-templates,template_}*
|
||||||
|
delete-merged: true
|
|
@ -29,6 +29,11 @@ env:
|
||||||
GODOT_REF: "4.2"
|
GODOT_REF: "4.2"
|
||||||
GODOT_CPP_REF: "4.2"
|
GODOT_CPP_REF: "4.2"
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
actions: write
|
||||||
|
contents: read
|
||||||
|
packages: read
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
unit-tests:
|
unit-tests:
|
||||||
name: 🧪 Unit tests
|
name: 🧪 Unit tests
|
||||||
|
@ -64,7 +69,7 @@ jobs:
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
- name: Set up scons cache
|
- name: Set up scons cache
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: ${{github.workspace}}/.scons_cache/
|
path: ${{github.workspace}}/.scons_cache/
|
||||||
key: ${{env.BIN}}-${{env.GODOT_REF}}-${{github.ref}}-${{github.sha}}
|
key: ${{env.BIN}}-${{env.GODOT_REF}}-${{github.ref}}-${{github.sha}}
|
||||||
|
@ -75,7 +80,7 @@ jobs:
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
||||||
- name: Set up Python 3.x
|
- name: Set up Python 3.x
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: "3.x"
|
python-version: "3.x"
|
||||||
architecture: "x64"
|
architecture: "x64"
|
||||||
|
@ -124,8 +129,8 @@ jobs:
|
||||||
needs: cache-env
|
needs: cache-env
|
||||||
uses: ./.github/workflows/linux.yml
|
uses: ./.github/workflows/linux.yml
|
||||||
with:
|
with:
|
||||||
godot-treeish: ${{ needs.cache-env.outputs.godot-ref }}
|
godot-ref: ${{ needs.cache-env.outputs.godot-ref }}
|
||||||
limboai-treeish: ${{ github.sha }}
|
limboai-ref: ${{ github.sha }}
|
||||||
test-build: true
|
test-build: true
|
||||||
|
|
||||||
windows-test-build:
|
windows-test-build:
|
||||||
|
@ -133,8 +138,8 @@ jobs:
|
||||||
needs: cache-env
|
needs: cache-env
|
||||||
uses: ./.github/workflows/windows.yml
|
uses: ./.github/workflows/windows.yml
|
||||||
with:
|
with:
|
||||||
godot-treeish: ${{ needs.cache-env.outputs.godot-ref }}
|
godot-ref: ${{ needs.cache-env.outputs.godot-ref }}
|
||||||
limboai-treeish: ${{ github.sha }}
|
limboai-ref: ${{ github.sha }}
|
||||||
test-build: true
|
test-build: true
|
||||||
|
|
||||||
macos-test-build:
|
macos-test-build:
|
||||||
|
@ -142,8 +147,8 @@ jobs:
|
||||||
needs: cache-env
|
needs: cache-env
|
||||||
uses: ./.github/workflows/macos.yml
|
uses: ./.github/workflows/macos.yml
|
||||||
with:
|
with:
|
||||||
godot-treeish: ${{ needs.cache-env.outputs.godot-ref }}
|
godot-ref: ${{ needs.cache-env.outputs.godot-ref }}
|
||||||
limboai-treeish: ${{ github.sha }}
|
limboai-ref: ${{ github.sha }}
|
||||||
test-build: true
|
test-build: true
|
||||||
|
|
||||||
gdextension:
|
gdextension:
|
||||||
|
@ -151,6 +156,6 @@ jobs:
|
||||||
needs: cache-env
|
needs: cache-env
|
||||||
uses: ./.github/workflows/gdextension.yml
|
uses: ./.github/workflows/gdextension.yml
|
||||||
with:
|
with:
|
||||||
godot-cpp-treeish: ${{ needs.cache-env.outputs.godot-cpp-ref }}
|
godot-cpp-ref: ${{ needs.cache-env.outputs.godot-cpp-ref }}
|
||||||
limboai-treeish: ${{ github.sha }}
|
limboai-ref: ${{ github.sha }}
|
||||||
test-build: true
|
test-build: true
|
||||||
|
|
|
@ -2,22 +2,22 @@ name: 🌐 Web builds
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
godot-treeish:
|
godot-ref:
|
||||||
description: A tag, branch or commit hash in the Godot repository.
|
description: A tag, branch or commit hash in the Godot repository.
|
||||||
type: string
|
type: string
|
||||||
default: master
|
default: master
|
||||||
limboai-treeish:
|
limboai-ref:
|
||||||
description: A tag, branch or commit hash in the LimboAI repository.
|
description: A tag, branch or commit hash in the LimboAI repository.
|
||||||
type: string
|
type: string
|
||||||
default: master
|
default: master
|
||||||
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
godot-treeish:
|
godot-ref:
|
||||||
description: A tag, branch or commit hash in the Godot repository.
|
description: A tag, branch or commit hash in the Godot repository.
|
||||||
type: string
|
type: string
|
||||||
default: master
|
default: master
|
||||||
limboai-treeish:
|
limboai-ref:
|
||||||
description: A tag, branch or commit hash in the LimboAI repository.
|
description: A tag, branch or commit hash in the LimboAI repository.
|
||||||
type: string
|
type: string
|
||||||
default: master
|
default: master
|
||||||
|
@ -31,68 +31,56 @@ env:
|
||||||
EM_CACHE_FOLDER: "emsdk-cache"
|
EM_CACHE_FOLDER: "emsdk-cache"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
# Workaround for issue: https://github.com/mymindstorm/setup-emsdk/issues/20
|
|
||||||
init-emscripten:
|
|
||||||
name: Init Emscripten
|
|
||||||
runs-on: "ubuntu-20.04"
|
|
||||||
steps:
|
|
||||||
- name: Set up Emscripten
|
|
||||||
uses: mymindstorm/setup-emsdk@v12
|
|
||||||
with:
|
|
||||||
version: ${{env.EM_VERSION}}
|
|
||||||
actions-cache-folder: ${{env.EM_CACHE_FOLDER}}
|
|
||||||
|
|
||||||
web-builds:
|
web-builds:
|
||||||
runs-on: "ubuntu-20.04"
|
runs-on: "ubuntu-20.04"
|
||||||
name: ${{ matrix.name }}
|
name: ${{ matrix.name }}
|
||||||
needs: init-emscripten
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- name: Template (release)
|
- name: Template (release)
|
||||||
target: template_release
|
target: template_release
|
||||||
dlink_enabled: false
|
dlink: false
|
||||||
|
|
||||||
- name: Template (release, dlink_enabled=true)
|
- name: Template (release, dlink_enabled=true)
|
||||||
target: template_release
|
target: template_release
|
||||||
dlink_enabled: true
|
dlink: true
|
||||||
|
|
||||||
- name: Template (debug)
|
- name: Template (debug)
|
||||||
target: template_debug
|
target: template_debug
|
||||||
dlink_enabled: false
|
dlink: false
|
||||||
|
|
||||||
- name: Template (debug, dlink_enabled=true)
|
- name: Template (debug, dlink_enabled=true)
|
||||||
target: template_debug
|
target: template_debug
|
||||||
dlink_enabled: true
|
dlink: true
|
||||||
|
|
||||||
env:
|
env:
|
||||||
CACHE_NAME: godot.web.${{matrix.target}}${{ matrix.dlink_enabled == true && '.dlink' || '' }}
|
CACHE_NAME: godot.web.${{matrix.target}}${{ matrix.dlink == true && '.dlink' || '' }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Clone Godot
|
- name: Clone Godot
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
repository: godotengine/godot
|
repository: godotengine/godot
|
||||||
ref: ${{ inputs.godot-treeish }}
|
ref: ${{ inputs.godot-ref }}
|
||||||
|
|
||||||
- name: Clone LimboAI module
|
- name: Clone LimboAI module
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
path: modules/limboai
|
path: modules/limboai
|
||||||
ref: ${{ inputs.limboai-treeish }}
|
ref: ${{ inputs.limboai-ref }}
|
||||||
|
|
||||||
# Inits GODOT_VERSION, LIMBOAI_VERSION and NAME_PREFIX environment variables.
|
# Inits GODOT_VERSION, LIMBOAI_VERSION and NAME_PREFIX environment variables.
|
||||||
- uses: ./modules/limboai/.github/actions/init-version
|
- uses: ./modules/limboai/.github/actions/init-version
|
||||||
|
|
||||||
# - name: Set up Emscripten cache
|
- name: Set up Emscripten cache
|
||||||
# uses: actions/cache@v3
|
uses: actions/cache@v4
|
||||||
# with:
|
with:
|
||||||
# path: ${{env.EM_CACHE_FOLDER}}
|
path: ${{env.EM_CACHE_FOLDER}}
|
||||||
# key: ${{env.EM_VERSION}}-${{runner.os}}-libs
|
key: ${{env.EM_VERSION}}-${{runner.os}}-libs
|
||||||
|
|
||||||
- name: Set up Emscripten
|
- name: Set up Emscripten
|
||||||
uses: mymindstorm/setup-emsdk@v12
|
uses: mymindstorm/setup-emsdk@v14
|
||||||
with:
|
with:
|
||||||
version: ${{env.EM_VERSION}}
|
version: ${{env.EM_VERSION}}
|
||||||
actions-cache-folder: ${{env.EM_CACHE_FOLDER}}
|
actions-cache-folder: ${{env.EM_CACHE_FOLDER}}
|
||||||
|
@ -109,20 +97,20 @@ jobs:
|
||||||
scons --version
|
scons --version
|
||||||
|
|
||||||
- name: Set up scons cache
|
- name: Set up scons cache
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: ${{github.workspace}}/.scons_cache/
|
path: ${{github.workspace}}/.scons_cache/
|
||||||
key: ${{env.CACHE_NAME}}-${{inputs.godot-treeish}}-${{inputs.limboai-treeish}}-${{env.LIMBOAI_VERSION}}
|
key: ${{env.CACHE_NAME}}-${{inputs.godot-ref}}-${{inputs.limboai-ref}}-${{env.LIMBOAI_VERSION}}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{env.CACHE_NAME}}-${{inputs.godot-treeish}}-${{inputs.limboai-treeish}}-${{env.LIMBOAI_VERSION}}
|
${{env.CACHE_NAME}}-${{inputs.godot-ref}}-${{inputs.limboai-ref}}-${{env.LIMBOAI_VERSION}}
|
||||||
${{env.CACHE_NAME}}-${{inputs.godot-treeish}}-${{inputs.limboai-treeish}}
|
${{env.CACHE_NAME}}-${{inputs.godot-ref}}-${{inputs.limboai-ref}}
|
||||||
${{env.CACHE_NAME}}-${{inputs.godot-treeish}}
|
${{env.CACHE_NAME}}-${{inputs.godot-ref}}
|
||||||
|
|
||||||
- name: Compilation
|
- name: Compilation
|
||||||
env:
|
env:
|
||||||
SCONS_CACHE: ${{github.workspace}}/.scons_cache/
|
SCONS_CACHE: ${{github.workspace}}/.scons_cache/
|
||||||
run: |
|
run: |
|
||||||
scons platform=web target=${{matrix.target}} dlink_enabled=${{matrix.dlink_enabled}} ${{env.SCONSFLAGS}}
|
scons platform=web target=${{matrix.target}} dlink_enabled=${{matrix.dlink}} ${{env.SCONSFLAGS}}
|
||||||
|
|
||||||
- name: Prepare artifacts
|
- name: Prepare artifacts
|
||||||
run: |
|
run: |
|
||||||
|
@ -135,7 +123,7 @@ jobs:
|
||||||
echo "${GODOT_VERSION}.limboai+${LIMBOAI_VERSION}" > out/templates/version.txt
|
echo "${GODOT_VERSION}.limboai+${LIMBOAI_VERSION}" > out/templates/version.txt
|
||||||
|
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ${{env.NAME_PREFIX}}.export-templates
|
name: ${{env.NAME_PREFIX}}.${{matrix.target}}.web${{matrix.dlink == true && '.dlink' || ''}}
|
||||||
path: out/*
|
path: out/*
|
||||||
|
|
|
@ -2,11 +2,11 @@ name: 🪟 Windows builds
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
godot-treeish:
|
godot-ref:
|
||||||
description: A tag, branch or commit hash in the Godot repository.
|
description: A tag, branch or commit hash in the Godot repository.
|
||||||
type: string
|
type: string
|
||||||
default: master
|
default: master
|
||||||
limboai-treeish:
|
limboai-ref:
|
||||||
description: A tag, branch or commit hash in the LimboAI repository.
|
description: A tag, branch or commit hash in the LimboAI repository.
|
||||||
type: string
|
type: string
|
||||||
default: master
|
default: master
|
||||||
|
@ -17,11 +17,11 @@ on:
|
||||||
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
godot-treeish:
|
godot-ref:
|
||||||
description: A tag, branch or commit hash in the Godot repository.
|
description: A tag, branch or commit hash in the Godot repository.
|
||||||
type: string
|
type: string
|
||||||
default: master
|
default: master
|
||||||
limboai-treeish:
|
limboai-ref:
|
||||||
description: A tag, branch or commit hash in the LimboAI repository.
|
description: A tag, branch or commit hash in the LimboAI repository.
|
||||||
type: string
|
type: string
|
||||||
default: master
|
default: master
|
||||||
|
@ -49,102 +49,102 @@ jobs:
|
||||||
- name: Editor (x86_64, release)
|
- name: Editor (x86_64, release)
|
||||||
target: editor
|
target: editor
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
build-mono: false
|
dotnet: false
|
||||||
should-build: true
|
should-build: true
|
||||||
|
|
||||||
- name: Template (x86_64, release)
|
- name: Template (x86_64, release)
|
||||||
target: template_release
|
target: template_release
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
build-mono: false
|
dotnet: false
|
||||||
should-build: ${{ !inputs.test-build }}
|
should-build: ${{ !inputs.test-build }}
|
||||||
|
|
||||||
- name: Template (x86_64, debug)
|
- name: Template (x86_64, debug)
|
||||||
target: template_debug
|
target: template_debug
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
build-mono: false
|
dotnet: false
|
||||||
should-build: ${{ !inputs.test-build }}
|
should-build: ${{ !inputs.test-build }}
|
||||||
|
|
||||||
# - name: Editor (x86_32, release)
|
# - name: Editor (x86_32, release)
|
||||||
# target: editor
|
# target: editor
|
||||||
# arch: x86_32
|
# arch: x86_32
|
||||||
# build-mono: false
|
# dotnet: false
|
||||||
# should-build: ${{ !inputs.test-build }}
|
# should-build: ${{ !inputs.test-build }}
|
||||||
|
|
||||||
- name: Template (x86_32, release)
|
- name: Template (x86_32, release)
|
||||||
target: template_release
|
target: template_release
|
||||||
arch: x86_32
|
arch: x86_32
|
||||||
build-mono: false
|
dotnet: false
|
||||||
should-build: ${{ !inputs.test-build }}
|
should-build: ${{ !inputs.test-build }}
|
||||||
|
|
||||||
- name: Template (x86_32, debug)
|
- name: Template (x86_32, debug)
|
||||||
target: template_debug
|
target: template_debug
|
||||||
arch: x86_32
|
arch: x86_32
|
||||||
build-mono: false
|
dotnet: false
|
||||||
should-build: ${{ !inputs.test-build }}
|
should-build: ${{ !inputs.test-build }}
|
||||||
|
|
||||||
- name: Editor .NET (x86_64, release)
|
- name: Editor .NET (x86_64, release)
|
||||||
target: editor
|
target: editor
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
build-mono: true
|
dotnet: true
|
||||||
should-build: true
|
should-build: true
|
||||||
|
|
||||||
- name: Template .NET (x86_64, release)
|
- name: Template .NET (x86_64, release)
|
||||||
target: template_release
|
target: template_release
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
build-mono: true
|
dotnet: true
|
||||||
should-build: ${{ !inputs.test-build }}
|
should-build: ${{ !inputs.test-build }}
|
||||||
|
|
||||||
- name: Template .NET (x86_64, debug)
|
- name: Template .NET (x86_64, debug)
|
||||||
target: template_debug
|
target: template_debug
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
build-mono: true
|
dotnet: true
|
||||||
should-build: ${{ !inputs.test-build }}
|
should-build: ${{ !inputs.test-build }}
|
||||||
|
|
||||||
# - name: Editor .NET (x86_32, release)
|
# - name: Editor .NET (x86_32, release)
|
||||||
# target: editor
|
# target: editor
|
||||||
# arch: x86_32
|
# arch: x86_32
|
||||||
# build-mono: true
|
# dotnet: true
|
||||||
# should-build: ${{ !inputs.test-build }}
|
# should-build: ${{ !inputs.test-build }}
|
||||||
|
|
||||||
- name: Template .NET (x86_32, release)
|
- name: Template .NET (x86_32, release)
|
||||||
target: template_release
|
target: template_release
|
||||||
arch: x86_32
|
arch: x86_32
|
||||||
build-mono: true
|
dotnet: true
|
||||||
should-build: ${{ !inputs.test-build }}
|
should-build: ${{ !inputs.test-build }}
|
||||||
|
|
||||||
- name: Template .NET (x86_32, debug)
|
- name: Template .NET (x86_32, debug)
|
||||||
target: template_debug
|
target: template_debug
|
||||||
arch: x86_32
|
arch: x86_32
|
||||||
build-mono: true
|
dotnet: true
|
||||||
should-build: ${{ !inputs.test-build }}
|
should-build: ${{ !inputs.test-build }}
|
||||||
|
|
||||||
exclude:
|
exclude:
|
||||||
- { opts: { should-build: false } }
|
- { opts: { should-build: false } }
|
||||||
|
|
||||||
env:
|
env:
|
||||||
BIN: godot.windows.${{matrix.opts.target}}.${{matrix.opts.arch}}${{ matrix.opts.build-mono == true && '.mono' || '' }}
|
BIN: godot.windows.${{matrix.opts.target}}.${{matrix.opts.arch}}${{ matrix.opts.dotnet == true && '.mono' || '' }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Clone Godot
|
- name: Clone Godot
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
repository: godotengine/godot
|
repository: godotengine/godot
|
||||||
ref: ${{ inputs.godot-treeish }}
|
ref: ${{ inputs.godot-ref }}
|
||||||
|
|
||||||
- name: Clone LimboAI module
|
- name: Clone LimboAI module
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
path: modules/limboai
|
path: modules/limboai
|
||||||
ref: ${{ inputs.limboai-treeish }}
|
ref: ${{ inputs.limboai-ref }}
|
||||||
|
|
||||||
# Inits GODOT_VERSION, LIMBOAI_VERSION and NAME_PREFIX environment variables.
|
# Inits GODOT_VERSION, LIMBOAI_VERSION and NAME_PREFIX environment variables.
|
||||||
- uses: ./modules/limboai/.github/actions/init-version
|
- uses: ./modules/limboai/.github/actions/init-version
|
||||||
|
|
||||||
- name: Set up Python 3.x
|
- name: Set up Python 3.x
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: '3.x'
|
python-version: "3.x"
|
||||||
architecture: 'x64'
|
architecture: "x64"
|
||||||
|
|
||||||
- name: Set up scons
|
- name: Set up scons
|
||||||
run: |
|
run: |
|
||||||
|
@ -157,30 +157,30 @@ jobs:
|
||||||
uses: ammaraskar/msvc-problem-matcher@master
|
uses: ammaraskar/msvc-problem-matcher@master
|
||||||
|
|
||||||
- name: Set up scons cache
|
- name: Set up scons cache
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: ${{github.workspace}}/.scons_cache/
|
path: ${{github.workspace}}/.scons_cache/
|
||||||
key: ${{env.BIN}}-${{inputs.godot-treeish}}-${{inputs.limboai-treeish}}-${{env.LIMBOAI_VERSION}}
|
key: ${{env.BIN}}-${{inputs.godot-ref}}-${{inputs.limboai-ref}}-${{env.LIMBOAI_VERSION}}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{env.BIN}}-${{inputs.godot-treeish}}-${{inputs.limboai-treeish}}-${{env.LIMBOAI_VERSION}}
|
${{env.BIN}}-${{inputs.godot-ref}}-${{inputs.limboai-ref}}-${{env.LIMBOAI_VERSION}}
|
||||||
${{env.BIN}}-${{inputs.godot-treeish}}-${{inputs.limboai-treeish}}
|
${{env.BIN}}-${{inputs.godot-ref}}-${{inputs.limboai-ref}}
|
||||||
${{env.BIN}}-${{inputs.godot-treeish}}
|
${{env.BIN}}-${{inputs.godot-ref}}
|
||||||
|
|
||||||
- name: Compilation
|
- name: Compilation
|
||||||
env:
|
env:
|
||||||
SCONS_CACHE: ${{github.workspace}}/.scons_cache/
|
SCONS_CACHE: ${{github.workspace}}/.scons_cache/
|
||||||
run: |
|
run: |
|
||||||
scons -j2 platform=windows target=${{matrix.opts.target}} arch=${{matrix.opts.arch}} module_mono_enabled=${{matrix.opts.build-mono}} ${{env.SCONSFLAGS}}
|
scons -j2 platform=windows target=${{matrix.opts.target}} arch=${{matrix.opts.arch}} module_mono_enabled=${{matrix.opts.dotnet}} ${{env.SCONSFLAGS}}
|
||||||
|
|
||||||
- name: Generate C# glue
|
- name: Generate C# glue
|
||||||
if: matrix.opts.build-mono && matrix.opts.target == 'editor'
|
if: matrix.opts.dotnet && matrix.opts.target == 'editor'
|
||||||
env:
|
env:
|
||||||
GODOT_VERSION_STATUS: limboai
|
GODOT_VERSION_STATUS: limboai
|
||||||
run: |
|
run: |
|
||||||
./bin/${{ env.BIN }} --headless --generate-mono-glue ./modules/mono/glue || true
|
./bin/${{ env.BIN }} --headless --generate-mono-glue ./modules/mono/glue || true
|
||||||
|
|
||||||
- name: Build .NET solutions
|
- name: Build .NET solutions
|
||||||
if: matrix.opts.build-mono && matrix.opts.target == 'editor'
|
if: matrix.opts.dotnet && matrix.opts.target == 'editor'
|
||||||
env:
|
env:
|
||||||
GODOT_VERSION_STATUS: limboai
|
GODOT_VERSION_STATUS: limboai
|
||||||
run: |
|
run: |
|
||||||
|
@ -208,10 +208,7 @@ jobs:
|
||||||
ls -R out/
|
ls -R out/
|
||||||
|
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
env:
|
|
||||||
NAME_EDITOR: ${{env.NAME_PREFIX}}.${{matrix.opts.target}}.windows.${{matrix.opts.arch}}${{ matrix.opts.build-mono == true && '.mono' || '' }}
|
|
||||||
NAME_TEMPLATES: ${{env.NAME_PREFIX}}.export-templates${{ matrix.opts.build-mono == true && '.mono' || '' }}
|
|
||||||
with:
|
with:
|
||||||
name: ${{ startsWith(matrix.opts.target, 'template') && env.NAME_TEMPLATES || env.NAME_EDITOR }}
|
name: ${{env.NAME_PREFIX}}${{matrix.opts.dotnet == true && '.dotnet' || ''}}.${{matrix.opts.target}}.windows.${{matrix.opts.arch}}
|
||||||
path: out/*
|
path: out/*
|
||||||
|
|
Loading…
Reference in New Issue