Skip to content

trigger_build

trigger_build #127

Workflow file for this run

name: 🔗 GHA
on:
repository_dispatch:
types: [trigger_build]
env:
BASE_NAME: Blazium_v
GODOT_BASE_BRANCH: blazium-dev
concurrency:
group: ci-${{ github.actor }}-${{ github.event.client_payload.type || 'nightly' }}-runner
cancel-in-progress: true
jobs:
get-latest-sha:
name: 🔍 Get Latest SHA
runs-on: ubuntu-latest
outputs:
build_sha: ${{ steps.get_sha.outputs.sha }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
repository: blazium-engine/blazium
ref: ${{ github.event.client_payload.branch || env.GODOT_BASE_BRANCH }}
fetch-depth: 1
- name: Get Latest Commit SHA
id: get_sha
run: echo "sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
static-checks:
name: 📊 Static checks
needs: get-latest-sha
uses: ./.github/workflows/static_checks.yml
secrets: inherit
with:
build_sha: ${{ needs.get-latest-sha.outputs.build_sha }}
runner_id: ${{ github.run_id }}
web-build:
name: 🌐 Web
needs: [get-latest-sha, static-checks]
if: contains(github.event.client_payload.build, 'web')
uses: ./.github/workflows/web_builds.yml
secrets: inherit
with:
build_sha: ${{ needs.get-latest-sha.outputs.build_sha }}
runner_id: ${{ github.run_id }}
monoglue-build:
name: Mono Glue
needs: [get-latest-sha, static-checks]
if: contains(github.event.client_payload.build, 'monoglue')
uses: ./.github/workflows/mono_glue_build.yml
secrets: inherit
with:
build_sha: ${{ needs.get-latest-sha.outputs.build_sha }}
runner_id: ${{ github.run_id }}
android-build:
name: 🤖 Android
needs: [monoglue-build]
if: contains(github.event.client_payload.build, 'android')
uses: ./.github/workflows/android_builds.yml
secrets: inherit
with:
build_sha: ${{ needs.get-latest-sha.outputs.build_sha }}
runner_id: ${{ github.run_id }}
ios-build:
name: 🍏 iOS
needs: [monoglue-build]
if: contains(github.event.client_payload.build, 'ios')
uses: ./.github/workflows/ios_builds.yml
secrets: inherit
with:
build_sha: ${{ needs.get-latest-sha.outputs.build_sha }}
runner_id: ${{ github.run_id }}
linux-build:
name: 🐧 Linux
needs: [monoglue-build]
if: contains(github.event.client_payload.build, 'linux')
uses: ./.github/workflows/linux_builds.yml
secrets: inherit
with:
build_sha: ${{ needs.get-latest-sha.outputs.build_sha }}
runner_id: ${{ github.run_id }}
macos-build:
name: 🍎 macOS
needs: [monoglue-build]
if: contains(github.event.client_payload.build, 'macos')
uses: ./.github/workflows/macos_builds.yml
secrets: inherit
with:
build_sha: ${{ needs.get-latest-sha.outputs.build_sha }}
runner_id: ${{ github.run_id }}
windows-build:
name: 🏁 Windows
needs: [monoglue-build]
if: contains(github.event.client_payload.build, 'windows')
uses: ./.github/workflows/windows_builds.yml
secrets: inherit
with:
build_sha: ${{ needs.get-latest-sha.outputs.build_sha }}
runner_id: ${{ github.run_id }}
deploy:
name: Deploy
needs: [monoglue-build, windows-build, macos-build, linux-build, android-build, ios-build]
if: always()
uses: ./.github/workflows/deploy_all.yml
secrets: inherit
with:
build_sha: ${{ needs.get-latest-sha.outputs.build_sha }}
runner_id: ${{ github.run_id }}
monoglue-build: ${{ needs.monoglue-build.result }}
windows-build: ${{ needs.windows-build.result }}
macos-build: ${{ needs.macos-build.result }}
linux-build: ${{ needs.linux-build.result }}
android-build: ${{ needs.android-build.result }}
ios-build: ${{ needs.ios-build.result }}
cleanup:
name: Clean Up
needs: [monoglue-build, windows-build, macos-build, linux-build, android-build, ios-build]
if: always() && (failure() || cancelled())
uses: ./.github/workflows/clean_up.yml
secrets: inherit
with:
build_sha: ${{ needs.get-latest-sha.outputs.build_sha }}
runner_id: ${{ github.run_id }}
monoglue-build: ${{ needs.monoglue-build.result }}
windows-build: ${{ needs.windows-build.result }}
macos-build: ${{ needs.macos-build.result }}
linux-build: ${{ needs.linux-build.result }}
android-build: ${{ needs.android-build.result }}
ios-build: ${{ needs.ios-build.result }}