OverviewFilesCommitsIssuesDocsReleasesPeers

nvidia-rtx-godot / .github / workflows / runner.yml

57 lines · yaml ref:
name: 🔗 GHA
on: [push, pull_request, merge_group, workflow_dispatch]

concurrency:
  group: ${{ github.workflow }}|${{ github.ref_name }}
  cancel-in-progress: true

jobs:
  # First stage: Only static checks, fast and prevent expensive builds from running.

  static-checks:
    if: ${{ !vars.DISABLE_GODOT_CI || github.run_attempt > 1 || github.event_name == 'workflow_dispatch' }}
    name: 📊 Static checks
    uses: ./.github/workflows/static_checks.yml

  # Second stage: Run all the builds and some of the tests.

  android-build:
    name: 🤖 Android
    needs: static-checks
    if: needs.static-checks.outputs.sources-changed == 'true' || github.event_name != 'pull_request'
    uses: ./.github/workflows/android_builds.yml
    secrets:
      SERVICE_ACCOUNT_KEY: ${{ secrets.SERVICE_ACCOUNT_KEY }}

  ios-build:
    name: 🍏 iOS
    needs: static-checks
    if: needs.static-checks.outputs.sources-changed == 'true' || github.event_name != 'pull_request'
    uses: ./.github/workflows/ios_builds.yml

  linux-build:
    name: 🐧 Linux
    needs: static-checks
    if: needs.static-checks.outputs.sources-changed == 'true' || github.event_name != 'pull_request'
    uses: ./.github/workflows/linux_builds.yml
    with:
      changed-files: ${{ needs.static-checks.outputs.changed-files }}

  macos-build:
    name: 🍎 macOS
    needs: static-checks
    if: needs.static-checks.outputs.sources-changed == 'true' || github.event_name != 'pull_request'
    uses: ./.github/workflows/macos_builds.yml

  windows-build:
    name: 🏁 Windows
    needs: static-checks
    if: needs.static-checks.outputs.sources-changed == 'true' || github.event_name != 'pull_request'
    uses: ./.github/workflows/windows_builds.yml

  web-build:
    name: 🌐 Web
    needs: static-checks
    if: needs.static-checks.outputs.sources-changed == 'true' || github.event_name != 'pull_request'
    uses: ./.github/workflows/web_builds.yml