Skip to content

Master pipeline

Master pipeline #30

name: Master pipeline
on:
push:
branches:
- master
schedule:
- cron: '0 0 * * 1' # run once a week on monday midnight to prevent the cache from being cleared
concurrency:
group: ci-${{github.actor}}-${{github.head_ref || github.run_number}}-${{github.ref}}-trigger_on_push_master
cancel-in-progress: true
jobs:
setup-build-variables:
# Fake job to define outputs which can be used in the other jobs
name: πŸ› οΈ Setup build variables
runs-on: ubuntu-latest
steps:
- run: |
echo "Setup done"
outputs: # defined here explicitly, so it only needs to be defined here. All other workflows can just reference it
godot-kotlin-jvm-version: "0.9.1-4.2.2"
godot-version: "4.2.2-stable"
jvm-version: "17"
build-jvm:
name: β˜• Build Jvm
uses: ./.github/workflows/build_jvm.yml
needs:
- setup-build-variables
with:
godot-version: ${{ needs.setup-build-variables.outputs['godot-version'] }}
jvm-version: ${{ needs.setup-build-variables.outputs['jvm-version'] }}
build-android:
name: πŸ€– Build and Assemble Android
uses: ./.github/workflows/build_android.yml
needs:
- setup-build-variables
with:
godot-version: ${{ needs.setup-build-variables.outputs['godot-version'] }}
jvm-version: ${{ needs.setup-build-variables.outputs['jvm-version'] }}
build-ios:
name: 🍏 Build iOS
uses: ./.github/workflows/build_ios.yml
needs:
- setup-build-variables
with:
godot-version: ${{ needs.setup-build-variables.outputs['godot-version'] }}
build-linux:
name: 🐧 Build Linux
uses: ./.github/workflows/build_linux.yml
needs:
- setup-build-variables
with:
godot-version: ${{ needs.setup-build-variables.outputs['godot-version'] }}
build-macos:
name: 🍎 Build macOS
uses: ./.github/workflows/build_macos.yml
needs:
- setup-build-variables
with:
godot-version: ${{ needs.setup-build-variables.outputs['godot-version'] }}
build-windows:
name: πŸͺŸ Build Windows
uses: ./.github/workflows/build_windows.yml
needs:
- setup-build-variables
with:
godot-version: ${{ needs.setup-build-variables.outputs['godot-version'] }}