133 lines
3.6 KiB
YAML
133 lines
3.6 KiB
YAML
name: 🔗 All builds
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
godot-ref:
|
|
description: A tag, branch or commit hash in the Godot repository.
|
|
type: string
|
|
default: 4.2
|
|
limboai-ref:
|
|
description: A tag, branch or commit hash in the LimboAI repository.
|
|
type: string
|
|
default: master
|
|
godot-cpp-ref:
|
|
description: A tag, branch or commit hash in the godot-cpp repository.
|
|
type: string
|
|
default: 4.2
|
|
|
|
permissions:
|
|
actions: write
|
|
contents: read
|
|
packages: read
|
|
|
|
jobs:
|
|
cache-sha:
|
|
name: Cache SHA
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
godot-sha: ${{ steps.cache-sha.outputs.godot-sha }}
|
|
limboai-sha: ${{ steps.cache-sha.outputs.limboai-sha }}
|
|
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 }}
|
|
|
|
- name: Cache SHA
|
|
id: cache-sha
|
|
run: |
|
|
echo "godot-sha=$(git describe --tags --exact-match HEAD || git rev-parse HEAD)" >> "$GITHUB_OUTPUT"
|
|
cd modules/limboai
|
|
echo "limboai-sha=$(git describe --tags --exact-match HEAD || git rev-parse HEAD)" >> "$GITHUB_OUTPUT"
|
|
|
|
android-build:
|
|
name: 🤖 Android
|
|
needs: cache-sha
|
|
uses: ./.github/workflows/android.yml
|
|
with:
|
|
godot-ref: ${{ needs.cache-sha.outputs.godot-sha }}
|
|
limboai-ref: ${{ needs.cache-sha.outputs.limboai-sha }}
|
|
|
|
ios-build:
|
|
name: 🍏 iOS
|
|
needs: cache-sha
|
|
uses: ./.github/workflows/ios.yml
|
|
with:
|
|
godot-ref: ${{ needs.cache-sha.outputs.godot-sha }}
|
|
limboai-ref: ${{ needs.cache-sha.outputs.limboai-sha }}
|
|
|
|
linux-build:
|
|
name: 🐧 Linux
|
|
needs: cache-sha
|
|
uses: ./.github/workflows/linux.yml
|
|
with:
|
|
godot-ref: ${{ needs.cache-sha.outputs.godot-sha }}
|
|
limboai-ref: ${{ needs.cache-sha.outputs.limboai-sha }}
|
|
test-build: false
|
|
|
|
macos-build:
|
|
name: 🍎 macOS
|
|
needs: cache-sha
|
|
uses: ./.github/workflows/macos.yml
|
|
with:
|
|
godot-ref: ${{ needs.cache-sha.outputs.godot-sha }}
|
|
limboai-ref: ${{ needs.cache-sha.outputs.limboai-sha }}
|
|
|
|
windows-build:
|
|
name: 🪟 Windows
|
|
needs: cache-sha
|
|
uses: ./.github/workflows/windows.yml
|
|
with:
|
|
godot-ref: ${{ needs.cache-sha.outputs.godot-sha }}
|
|
limboai-ref: ${{ needs.cache-sha.outputs.limboai-sha }}
|
|
test-build: false
|
|
|
|
web-build:
|
|
name: 🌐 Web
|
|
needs: cache-sha
|
|
uses: ./.github/workflows/web.yml
|
|
with:
|
|
godot-ref: ${{ needs.cache-sha.outputs.godot-sha }}
|
|
limboai-ref: ${{ needs.cache-sha.outputs.limboai-sha }}
|
|
|
|
gdextension:
|
|
name: 🔌 GDExtension
|
|
needs: cache-sha
|
|
uses: ./.github/workflows/gdextension.yml
|
|
with:
|
|
godot-cpp-ref: ${{ inputs.godot-cpp-ref }}
|
|
limboai-ref: ${{ needs.cache-sha.outputs.limboai-sha }}
|
|
test-build: false
|
|
|
|
demo:
|
|
name: 🎮️ Demo project
|
|
needs: cache-sha
|
|
uses: ./.github/workflows/demo.yml
|
|
with:
|
|
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 }}
|