limboai/.github/workflows/all_builds.yml

103 lines
3.0 KiB
YAML

name: 🔗 All builds
on:
workflow_dispatch:
inputs:
godot-treeish:
description: A tag, branch or commit hash in the Godot repository.
type: string
default: 4.2.1-stable
limboai-treeish:
description: A tag, branch or commit hash in the LimboAI repository.
type: string
default: master
godot-cpp-treeish:
description: A tag, branch or commit hash in the godot-cpp repository.
type: string
default: 4.2
jobs:
cache-sha:
name: Cache treeish 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-treeish }}
- name: Clone LimboAI module
uses: actions/checkout@v4
with:
path: modules/limboai
ref: ${{ inputs.limboai-treeish }}
- 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-treeish: ${{ needs.cache-sha.outputs.godot-sha }}
limboai-treeish: ${{ needs.cache-sha.outputs.limboai-sha }}
ios-build:
name: 🍏 iOS
needs: cache-sha
uses: ./.github/workflows/ios.yml
with:
godot-treeish: ${{ needs.cache-sha.outputs.godot-sha }}
limboai-treeish: ${{ needs.cache-sha.outputs.limboai-sha }}
linux-build:
name: 🐧 Linux
needs: cache-sha
uses: ./.github/workflows/linux.yml
with:
godot-treeish: ${{ needs.cache-sha.outputs.godot-sha }}
limboai-treeish: ${{ needs.cache-sha.outputs.limboai-sha }}
test-build: false
macos-build:
name: 🍎 macOS
needs: cache-sha
uses: ./.github/workflows/macos.yml
with:
godot-treeish: ${{ needs.cache-sha.outputs.godot-sha }}
limboai-treeish: ${{ needs.cache-sha.outputs.limboai-sha }}
windows-build:
name: 🪟 Windows
needs: cache-sha
uses: ./.github/workflows/windows.yml
with:
godot-treeish: ${{ needs.cache-sha.outputs.godot-sha }}
limboai-treeish: ${{ needs.cache-sha.outputs.limboai-sha }}
test-build: false
web-build:
name: 🌐 Web
needs: cache-sha
uses: ./.github/workflows/web.yml
with:
godot-treeish: ${{ needs.cache-sha.outputs.godot-sha }}
limboai-treeish: ${{ needs.cache-sha.outputs.limboai-sha }}
gdextension:
name: 🔌 GDExtension
needs: cache-sha
uses: ./.github/workflows/gdextension.yml
with:
godot-cpp-treeish: ${{ inputs.godot-cpp-treeish }}
limboai-treeish: ${{ needs.cache-sha.outputs.limboai-sha }}
test-build: false